연재 시리즈 165

EKS 스터디 - 5주차 2편 - CPA

CPA란? CPA(cluster-proportional-autoscaler)는 노드 개수에 비례(proportional)하여 pod 개수 관리합니다. 예를 들어 노드가 추가될 때마다 coredns pod개수 증가시켜, coredns부하를 줄일 수 있습니다. CPA를 사용하면 node개수가 2개일 때 coredns 1개를, node개수가 5개일 때 coredns를 3개 등을 설정할 수있습니다. CPA는 의존성이 적습니다. Metrics server 등을 사용하지 않고 kubapi server API를 사용합니다. 여러분은 노드 개수에 비례하여 pod를 얼마나 배포할지만 규칙만 설정하면 됩니다. CPA사용 기대효과 노드 개수가 증가되면, 전체 pod개수도 많아집니다. pod개수가 많아질수록 어느 특정 서비스..

연재 시리즈 2023.05.21

EKS 스터디 - 5주차 1편 - VPA

VPA란? VPA(Vertical Pod Autoscaler)는 pod resources.request을 최대한 최적값으로 수정합니다. 수정된 request값이 기존 값보다 위 또는 아래 범위에 속하므로 Vertical라고 표현합니다. pod마다 resource.request를 최적값으로 설정하면, 쿠버네티스 노드 자원 효율성이 좋아집니다. pod가 스케쥴링될 때 pod resources.request만큼 노드에 자원이 있어야 합니다. VPA를 설정하면 쿠버네티스 노드 cpu와 메모리를 최대한 확보할 수 있으므로 자원 효율성이 증가합니다. 주의사항 VPA는 HPA와 같이 사용할 수 없습니다. VPA는 pod자원을 최적값으로 수정하기 위해 pod를 재실행(기존 pod를 종료하고 새로운 pod실행)합니다. ..

연재 시리즈 2023.05.21

EKS 스터디 - 4주차 3편 - AMP에 EKS메트릭 저장

안녕하세요. 이 글은 EKS메트릭을 AMP(AWS Managed Prometheus)에 저장하고 AMG(AWS Managed Grafana)에서 시각화하는 방법을 설명합니다. AMP란? AMP(Amazon Managed Prometheus)는 서버리스 프로메테우스입니다. AWS가 프로메테우스를 직접 관리하고 사용자는 프로메테우스 설정만 하면 됩니다. AMP는 AWS리소스(SNS 등)를 연계하여 알림 기능도 구현할 수 있습니다. AMP는 AWS 다중 가용영역(Availability Zone)을 활영하여 HA(High Availability)를 지원합니다. AMP에 저장된 데이터는 150일동안 저장됩니다. AMP 설치방법 AMP는 워크스페이스 단위로 구분합니다. 워크스페이스가 프로메테우스 인스턴스라고 생각하..

연재 시리즈 2023.05.14

EKS 스터디 - 4주차 2편 - pod로깅

pod로깅이란? pod로깅은 data plane 노드 로그와 노드에서 실행 중인 pod로그를 말합니다. pod로깅은 EKS설정을 지원하지 않습니다. 사용자가 도구를 선택해서 pod로그 수집과 저장을 해야 합니다. AWS공식문서에서는 Fluentbit또는 FlunetD를 사용하여 pod를 수집하고 cloudwatch에 전송하는 예제를 제공합니다 fargate는 eks 공식문서를 참조하시길 바랍니다. 설치방법 IAM policy 설정 worker node IAM role에 “CloudWatchAgentServerPolicy” policy를 부여해야합니다. worker node가 cloudwatch에 접근할 때 권한이 필요합니다. worker node IAM role은 [EKS 대시보드 -> compute]에..

연재 시리즈 2023.05.07

EKS 스터디 - 4주차 1편 - 컨트롤 플레인 로깅

안녕하세요. 이 글은 EKS 컨트롤 플레인 로그수집 방법을 설명합니다. EKS 컨트롤 플레인 로그란? 컨트롤 플레인 발생한 이벤트를 EKS 옵션을 설정하여 로그로 남길 수 있습니다. 디폴트 설정은 로깅이 비활성화 되어 있습니다. 수집된 컨트롤 플레인 로그는 cloudwatch에서 볼 수 있습니다. 로그 활성화 방법 디폴트로 비활성화 되어 있으므로 수동으로 로그옵션을 활성화해야 합니다. 콘솔에서 로그 활성화 EKS대시보드에서 Logging필드에서 로깅을 활성화할 수 있습니다. 컨트롤 플레인 로그는 총 5개 로깅을 선택해서 수집합니다. eksctl으로 활성화 로깅 설정은 CloudWatch필드로 설정합니다. cloudWatch: clusterLogging: enableTypes: ["api", "audit"..

연재 시리즈 2023.05.07

EKS 스터디 - 3주차 2편 - EKS Fargate와 원리

이 글은 EKS fargate가 무엇이고 원리에 대해 설명합니다. EKS fargate란? EKS Fargate는 AWS Fargate로 worker node로 사용하는 방법입니다. 아래 그림처럼 fargateProfiles필드로 fargate profile을 생성할 수 있습니다. fargate node가 아니라 profile이라고 표현한게 매우 중요합니다. fargate profile은 pod가 생성될 때 fargate node에 생성될 지, node group node에 생성할지 결정합니다. fargate profile조건에 맞다면 fargate node가 동적으로 생성됩니다. 이 예제는 eksctl clusterconfig(구성파일)로 fargate profile를 생성했습니다. fargate no..

연재 시리즈 2023.04.30