본문 바로가기

DevOps

(87)
[AWS EKS] (15) EKS 스터디 5주차 ( Karpenter ) CloudNet@팀의 EKS 스터디 AEWS 2기에 작성된 자료를 토대로 작성합니다. 대망의 AutoScaling 계의 꽃 -> Karpenter을 소개 하겠습니다.  Karpenter 소개소개 : 고성능의 지능형 k8s 컴퓨팅 프로비저닝 및 관리 솔루션, 수초 이내에 대응 가능, 더 낮은 컴퓨팅 비용으로 노드 선택지능형의 동적인 인스턴스 유형 선택 - Spot, AWS Graviton 등자동 워크로드 Consolidation 기능일관성 있는 더 빠른 노드 구동시간을 통해 시간/비용 낭비 최소화 (직접적인 EC2 API 호출로 인해 더 빠름)Karpenter 동작 방식 설명동작 할때 pending pods가 생성되는것을 기점으로 한다.EC2와 긴밀히 통합 (ASGs 사용 하지 않음)쿠버네티스 네이티브 ..
[AWS EKS] (15) EKS 스터디 5주차 ( CAS ) CloudNet@팀의 EKS 스터디 AEWS 2기에 작성된 자료를 토대로 작성합니다. HPA와 VPA KEDA등은 Pod의 리소스가 부족할때 Pod의 오토스케일을 적용하는 방법이었다.경우에 따라서는 Pod 가 배포될 Node 의 리소스가 부족해질 때도 있는데, 이 때 CA 를 사용하게 됩니다. Cluster AutoScaleadjusts the size of a Kubernetes Cluster  cluster-autoscaler 파드(디플로이먼트)를 배치합니다그리고 AWS에서는 Auto Scaling Group(ASG)을 사용하여 Cluster Autoscaler를 적용합니다.기본적으로 리소스에 의한 스케줄링은 Requests(최소)를 기준으로 이루어진다. 다시 말해 Requests 를 초과하여 할당..
[AWS EKS] (14) EKS 스터디 5주차 ( HPA / VPA ) CloudNet@팀의 EKS 스터디 AEWS 2기에 작성된 자료를 토대로 작성합니다. Horizontal Pod AutoscalerPod Autoscaling 방법리소스 종류 : HPA apiVersion: autoscaling/v2kind: HorizontalPodAutoscaler HPA 동작 방식 cAdvisor 이 컨테이너의 메모리/CPU 수집 →metrics-server 는 kubelet 를 통해서 수집 후 apiserver 에 등록 →HPA는 apiserver(Resource API)를 통해서 15분 마다 메모리/CPU 수집하여 정책에 따라 동작  1. php apache server을 배포 함# Run and expose php-apache servercurl -s -O https://raw..
[AWS EKS] (13) EKS 스터디 4주차 ( 운영에서 프로메테우스 스택 사용 ) CloudNet@팀의 EKS 스터디 AEWS 2기에 작성된 자료를 토대로 작성합니다. 프로메테우스/그라파나 활용시 운영환경에서 어떻게 대시보드를 구성하고 알람을 설정하여해당 알람이 발생시 어떤식으로 조치하는가 간략하게 소개해보려 합니다. 환경마다 중요시 하는 메트릭들이 상당히 차이가 있겠지만각 워커노드의 CPU 사용률과 같은 경우는 공통적으로 사용하기 때문에 해당 부분을 대표적으로 다루도록 하겠습니다.   CPU 사용률 대시보드 쿼리 설정 및 알람 설정  - 노드 별 CPU 사용률 목표: 기준을 80%로 지정해두고 해당 기준을 넘어갈 경우 Alert를 슬랙으로 전달합니다.sum by (instance) (irate(node_cpu_seconds_total{mode!~"guest.*|idle|iowait"..
[AWS EKS] (12) EKS 스터디 4주차 ( 프로메테우스 스택 ) CloudNet@팀의 EKS 스터디 AEWS 2기에 작성된 자료를 토대로 작성합니다. 옵저버빌리티에 모니터링 부분과 Alert 부분을 Prometheus Stack을 기반으로 활용하여 EKS 클러스터의 메트릭을 수집하고 모니터링 하는데 이번 포스팅에 목적이 있습니다. cAdvisor  쿠버네티스를 사용하다 보면 수많은 컨테이너와 그에 대한 리소스들을 어떻게 인프라 영역과 컨테이너 영역에서 모니터링 할수 있을가에 대한 고민을 하게됩니다. 다양한 오케스트레이션 작업(스케줄링, 컨테이너 자원 요청및 제한, HPA) 을 수행 하는 쿠버네티스는 스케줄러,Kubelet 및 컨트롤러같은 클러스터 구성요소에서 클러스터 메트릭을 수집, 분석해야 합니다. 특히 클러스터의 다양한 애플리케이션 및 구성 요소가 현재 얼마나 많..
[AWS EKS] (11) EKS 스터디 4주차 ( pod 로깅 ) CloudNet@팀의 EKS 스터디 AEWS 2기에 작성된 자료를 토대로 작성합니다. pod 로깅  pod로깅은 data plane 노드 로그와 노드에서 실행 중인 pod로그를 말합니다. pod로깅은 EKS설정을 지원하지 않습니다. 사용자가 도구를 선택해서 pod로그 수집과 저장을 해야 합니다. 본 포스팅에서는 Fluentbit또는 FlunetD를 사용하여 pod를 수집하고 cloudwatch에 전송하는 예제를 다룸 1. 로그수집은 누가? who collects logs? Fluentd 2. 로그 전송은 누가?who transfer logs? Fluentd3. 로그 저장과 검색은 누가? who stores and search logs? ElasticSearch Kibana   CW Agent & Flu..
[AWS EKS] (10) EKS 스터디 4주차 ( Control-plane ) CloudNet@팀의 EKS 스터디 AEWS 2기에 작성된 자료를 토대로 작성합니다. Control-plane 로깅  목표:Control Plane logging 😍 Addon 으로 ClusterWatch를  EKS와 함께 사용 할 수 있습니다.로그는 CloudWatch의 각 Amazon EKS 클러스터에 대한 로그 스트림으로 그룹으로 전송AWS 관리 콘솔, AWS CLI(버전 1.16.139 이상) 또는 Amazon EKS API를 사용하여 클러스터별로 각 로그 유형을 활성화 또는 비활성화Amazon EKS 컨트롤 플레인 로깅을 사용하는 경우, 실행하는 각 클러스터에 대한 표준 Amazon EKS 요금과 클러스터에서 CloudWatch Logs로 전송되는 모든 로그에 대한 표준 CloudWatch L..
[AWS EKS] (9) EKS 스터디 3주차 ( 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 설치                                    ..