1. Metrics-serverkubelet 설치 시 포함되는 cAdvisor를 통하여 컨테이너 metric수집 [metric-server 설치 및 확인]# 배포 : addon 으로 배포되어 있음kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml# 메트릭 서버 확인 : 메트릭은 15초 간격으로 cAdvisor를 통하여 가져옴kubectl get pod -n kube-system -l app.kubernetes.io/name=metrics-serverkubectl api-resources | grep metricskubectl get apiservices |egre..
모니터링 (monitoring)VS 관측 가능성(observability(o11y))정의특정 메트릭 추적으로 문제 감지외부 출력 데이터로 시스템 상태 이해목표문제 발생 시 감지 및 경고문제 원인 진단 및 시스템 최적화데이터 소스미리 정의된 메트릭 (CPU, 메모리 등)로그, 메트릭, 트레이스, 이벤트 등시스템 유형단순한 시스템, 잘 알려진 파라미터복잡한 분산 시스템, 다중 컴포넌트상호작용 방식정적 경고 (임계값 기반)동적 쿼리 및 분석 (질문 기반)모니터링의 정의와 특징 : 사전에 정의된 기준을 기반으로 시스템의 상태를 감시에 중점모니터링은 IT 시스템의 운영 상태를 추적하고, 성능 지표를 수집하며, 예상치 못한 문제를 조기에 감지하는 과정Google의 SRE 책(What’s IT Monitoring? ..
다양한 NodeGroupEKS Persistent Volumes for Instance Store일반 EBS(기본값 3000IOPS) 보다 인스턴스 스토어 평균 IOPS 속도는 약 7배 빠름인스턴스가(VM)이 물리노드의 스토리지를 사용데이터 손실이 될 수 있음 기본 디스크 드라이브 오류, 인스턴스가 중지됨, 인스턴스가 최대 절전 모드로 전환됨, 인스턴스가 종료됨# 인스턴스 스토어 볼륨이 있는 c5 모든 타입의 스토리지 크기aws ec2 describe-instance-types \ --filters "Name=instance-type,Values=c5*" "Name=instance-storage-supported,Values=true" \ --query "InstanceTypes[].[InstanceTy..
AWS EBS ControllerAWS CSI 드라이버는 크게 2개 구성요소로 이루어져 있음AWS API를 호출하면서 AWS 스토리지를 관리하는 CSI-Controllerkubelet과 상호작용하면서 AWS스토리지를 pod에 마운트하는 CSI-NodeEBS Controller 설치# 아래는 aws-ebs-csi-driver 전체 버전 정보와 기본 설치 버전(True) 정보 확인aws eks describe-addon-versions \ --addon-name aws-ebs-csi-driver \ --kubernetes-version 1.31 \ --query "addons[].addonVersions[].[addonVersion, compatibilities[].defaultVersion..
K8S Storage 성능측정1. kubestr도구를 사용하여 storage 성능 측정 노드그룹에 할당된 EBS 정보 확인gp3 / IOPS:3000 kubestr 설치# [운영서버 EC2] kubestr 툴 다운로드 - Linkwget https://github.com/kastenhq/kubestr/releases/download/v0.4.48/kubestr_0.4.48_Linux_amd64.tar.gztar xvfz kubestr_0.4.48_Linux_amd64.tar.gz && mv kubestr /usr/local/bin/ && chmod +x /usr/local/bin/kubestr# 스토리지클래스 점검kubestr -hkubestr# 모니터링watch 'kubectl get pod -ow..
CSIContainer Srotage Interface쿠버네티스에서는 다양한 스토리지 연계를 위해 CSI 인터페이스를 제공CSI 인터페이스 덕분에 쿠버네티스에서 쉽게 스토리지(EBS, EFS 등)를 사용할 수 있음쿠버네티스 CSI 인터페이스에 맞춰 개발된 AWS CSIEKS에서 EBS, EFS 등 AWS 스토리지를 다루려면 스토리지 별로 AWS CSI 드라이버를 설치해야 사용 가능참고: https://malwareanalysis.tistory.com/598 (악분님 블로그) K8S Storage1. 파드 내부의 데이터는 파드가 정지되면 모두 삭제됨(휘발성) → 즉, 파드가 모두 상태가 없는(Stateless) 애플리케이션이였음! : Temporary filesystem, Volume 파드 기본 및 em..
Amazon EKS로 클러스터 구성 시 일반적으로 고가용성을 위해서 모든 가용 영역(Availability Zone, AZ)에 워커 노드배치Pod들 또한 모든 AZ 에 배포되도록 설정하면 높은 가용성을 확보여러 AZ에 걸쳐 Pod 간 통신이 이루어지는데, 이를 Cross-AZ 통신이라고 합니다.Amazon VPC 내에서 Cross-AZ 통신이 발생하더라도 통신량에 비례하여 통신 비용이 발생Cross-AZ 통신이 많은 경우 예상치 못한 비용이 발생 할 수 있음대량의 Cross-AZ 통신으로 인한 비용을 절감하기 위한 기법 → Topology Aware Routing 실습을 위한 디플로이먼트&서비스 배포# 현재 노드 AZ 배포 확인kubectl get node --label-columns=topology.k..