본문 바로가기

분류 전체보기

(202)
[AWS EKS] EKS Autoscaling ( Cluster ) CloudNet@팀의 EKS 스터디 AEWS 2기에 작성된 자료를 토대로 작성합니다. 이전까지 Cluster 에 올라가는 Pod 의 AutoScaling 을 알아보았습니다. 경우에 따라서는 Pod 가 배포될 Node 의 리소스가 부족해질 때도 있는데, 이 때 CA 를 사용하게 됩니다. ✅ Cluster Autoscale cluster-autoscaler 파드(디플로이먼트)를 배치합니다 그리고 AWS에서는 Auto Scaling Group(ASG)을 사용하여 Cluster Autoscaler를 적용합니다. 기본적으로 리소스에 의한 스케줄링은 Requests(최소)를 기준으로 이루어진다. 다시 말해 Requests 를 초과하여 할당한 경우에는 최소 리소스 요청만으로 리소스가 꽉 차 버려서 신규 노드를 추가..
[AWS EKS] EKS Autoscaling ( Pod ) CloudNet@팀의 EKS 스터디 AEWS 2기에 작성된 자료를 토대로 작성합니다. EKS Autoscaling 실습 전에 여러 add on을 설치하여 진행 결과를 확인 및 모니터링 할 예정입니다. 프로메테우스 / 그라파나 EKS Node Viewer kubeopsview 그중에서 먼저 EKS Node Viewer을 설치하는 방법은 다음과 같습니다. # go 설치 wget https://go.dev/dl/go1.22.1.linux-amd64.tar.gz tar -C /usr/local -xzf go1.22.1.linux-amd64.tar.gz export PATH=$PATH:/usr/local/go/bin go version go version go1.22.1 linux/amd64 # EKS Node ..
[AWS EKS] Observability (3) Metric Server / Cadvisor / Prometheus Stack CloudNet@팀의 EKS 스터디 AEWS 2기에 작성된 자료를 토대로 작성합니다. 옵저버빌리티에 모니터링 부분과 Alert 부분을 Prometheus Stack을 기반으로 활용하여 EKS 클러스터의 메트릭을 수집하고 모니터링 하는데 이번 포스팅에 목적이 있습니다. ✅ cAdvisor 쿠버네티스를 사용하다 보면 수많은 컨테이너와 그에 대한 리소스들을 어떻게 인프라 영역과 컨테이너 영역에서 모니터링 할수 있을가에 대한 고민을 하게됩니다. 다양한 오케스트레이션 작업(스케줄링, 컨테이너 자원 요청및 제한, HPA) 을 수행 하는 쿠버네티스는 스케줄러, Kubelet 및 컨트롤러같은 클러스터 구성요소에서 클러스터 메트릭을 수집, 분석해야 합니다. 특히 클러스터의 다양한 애플리케이션 및 구성 요소가 현재 얼마나..
[AWS EKS] Observability (2) Pod Logging ( CloudWatch & Fluent Bit) CloudNet@팀의 EKS 스터디 AEWS 2기에 작성된 자료를 토대로 작성합니다. 쿠버네티스 로깅 아키텍처는 세 가지 레벨을 정의 Basic level logging kubectl을 사용하여 파드 로그를 수집하는 기능 Node level logging 컨테이너 엔진은 애플리케이션의 stdout 과 stderr 에서 로그를 캡처하여 로그 파일에 기록 Cluster level logging 노드 수준 로깅을 기반으로 구축되며, 로그 캡처 에이전트가 각 노드에서 실행 에이전트는 로컬 파일 시스템에서 로그를 수집하여 Elasticsearch 또는 CloudWatch와 같은 중앙화된 로깅 대상으로 전송 에이전트는 두 가지 유형의 로그를 수집 노드에서 컨테이너 엔진이 캡처한 컨테이너 로그 시스템 로그 ✅ Fl..
[AWS EKS] Observability (1) Control-plane CloudNet@팀의 EKS 스터디 AEWS 2기에 작성된 자료를 토대로 작성합니다. 모니터링? 옵저버 빌리티? 위 단어에 대해서 차이점이 무엇일까? 과거에는 모니터링이라는 단어만 사용했던것 같은데 클러스터와 어플리케이션 레벨을 접하고 부터는 해당 단어를 심심찮게 들었다. 옵저버빌리티는 크게 5가지 영역으로 나뉜다. 우리가 가장 먼저 떠올리는 모니터링부터 로깅.. 알람 .. 트레이싱 까지 Monitoring(모니터링): 클러스터 및 애플리케이션의 상태와 성능을 실시간으로 추적하고 관찰 AWS CloudWatch 및 Prometheus를 사용하여 EKS 클러스터의 메트릭을 수집하고 모니터링 Logging(로깅): 애플리케이션 및 시스템에서 발생하는 로그를 수집하고 분석하여 문제를 식별 CloudWatch ..
[AWS EKS] EFS Controller와 S3 CSI Driver CloudNet@팀의 EKS 스터디 AEWS 2기에 작성된 자료를 토대로 작성합니다. 😍EFS와 S3 역시 CSI Controller 및 Driver 을 통해 pod에서 볼륨을 사용할수 있습니다. S3 CSI Driver은 Controller 없이 사용 하는것을 확인할수 있습니다. EBS 및 EFS에서는 볼륨을 이용할때 Controller pod와 Node pod가 각각의 역할을 합니다. Controller pod의 특징은 AWS API를 사용하여 실제 volume을 생성하는 역할을 합니다. node Pod은 AWS API를 사용하여 Kubernetes node (EC2 instance)에 volume을 attach 해줍니다. ✅ EFS Controller 소개 구성 아키텍처 ✅ EFS Contro..
[AWS EKS] EKS CSi driver와 NFS provisioner CloudNet@팀의 EKS 스터디 AEWS 2기에 작성된 자료를 토대로 작성합니다. ✅ Storage 소개 Amazon EBS AWS EBS (Amazon Elastic Block Store)는 Amazon Web Services(AWS)에서 제공하는 고성능 블록 스토리지 서비스입니다. 이 서비스는 Amazon EC2 (Elastic Compute Cloud) 인스턴스에 사용할 수 있는 영구적이고, 고성능의 블록 레벨 스토리지 볼륨을 제공합니다. EBS 볼륨은 네트워크 연결을 통해 EC2 인스턴스에 연결되며, 인스턴스와 독립적으로 존재하여 인스턴스의 수명 주기와 관계없이 데이터를 유지할 수 있습니다. Amazon EFS Amazon Elastic File System (EFS)은 Amazon Web ..
Core DNS 성능개선 [ nodelocaldns / ndots & FQDN ] 먼저 CoreDNS 성능 개선을 위해 여러가지 테스트를 하기전에 CoreDNS와 NodeLocalDNS가 무엇인지, 그리고 그 동작과정에 대해 먼저 알아보겠습니다.이를 이해하기 위해서는 ndots과 search 도메인 , 그리고 절대 도메인과 상대 도메인에 대해서 이해해야 합니다.NodeLocalDNS와 CoreDNS의 동작 과정쿠버네티스에서 기본적으로 사용되는 DNS는 CoreDNS입니다. NodeLocalDNS를 잘 활용한다면 CoreDNS까지 갈 필요도 없이 크리링 선에서 다 정리할수 있습니다.목표CoreDNS앞단에서 도메인 캐싱을 하여 도메인 쿼리 성능을 향상시켜 주는 NodeLocal DNS Cache에 대해 알아 보기 전에 resolv.conf 파일을 보면서 기본기를 다져봅시다.A. sear..