들어가며 EKS 기반으로 쿠버네티스 환경을 구축하고 Karpenter를 도입하여 효율적인 노드 오토스케일링이 되도록 구축한 후 팀 내에서 Prometheus, Grafana를 도입하는 역할을 맡아 아래처럼 대시보드를 구성해서 팀에 제공했다. 그러나 직접 모니터링 환경을 구축하지 않은 팀원들에겐 클러스터, 노드, 파드 등 메트린 관찰 대상이 많아 낯설게 느껴질 것 같다고 생각했다. ECS 기반으로 진행하기보다 복잡한 쿠버네티스 환경에서 아키텍처를 구축하며 경험을 기르고자 결심을 했으니 쿠버네티스가 제공하는 기능을 주체적으로 관리하고 싶었다. 다른 팀원들이 맡은 부분을 개발하고 테스트하는 기간에 우선적으로 파드 및 노드의 생성과 삭제에 관련된 메트릭인 Cpu, Memory, Status, Age를 시각적으..
들어가며Karpenter는 AWS에서 개발한 EKS 환경에서 클러스터를 자동으로 조정하기 위한 프로비저닝 도구이다. Karpenter 공식 문서공식 문서를 따라 Karpenter 설치를 할 것이고 최적화를 위해 필요한 기능은 공식 문서를 참고하여 추가할 수 있다. Getting Started with KarpenterSet up a cluster and add Karpenterkarpenter.sh 설치 과정 Karpenter 및 Kubernetes 버전을 설정KARPENTER_NAMESPACE, K8S_VERSION을 커스터마이징하면 된다.export KARPENTER_NAMESPACE="karpenter-1"export KARPENTER_VERSION="1.0.0"export K8S_VERSION="..
들어가며대규모 분산 시스템을 구축하려는 팀원들과 Terraform을 이용한 IaC를 구축하기 전에 페어 프로그래밍으로 직접 웹 콘솔에서 쿠버네티스 환경을 구성해보기로 했다. AWS의 어떤 서비스라도 Console에서 구성하게 될 때 상세 옵션을 선택해야하는 경우가 많은데 자세히 읽어보지 않고 선택한 후 넘어가게 된다면 추후에 여러 서비스를 결합하고 고도화하는 과정에서 문제가 생기더라도 찾기 어려운 경우가 많다. 따라서 기본적인 구성은 넘어가고 중요하게 생각했던 구성을 볼 것인데 여기만 집중한다면 클러스터에서 문제는 생기지 않을 것이라고 생각한다. EKS 클러스터 아키텍처는 전체 내용의 기반이니사용자 VPC가 아닌 AWS 관리 VPC 내 EKS Control Plane이 존재하고 ENI만 사용자 VPC에 ..
들어가며크레딧이 부여된 하나의 계정에서 각 팀원마다 IAM 사용자를 생성하여 구성된 EKS 클러스터에 로컬에서 액세스하려고 했다. 1. aws configure 명령으로 각 IAM 사용자의 액세스 키로 AWS 자격 증명도 등록했다.2. aws eks --region [Region name] update-kubeconfig --name [EKS name]을 통해 Kubeconfig 파일 내 클러스터의 접속 정보도 업데이트했다. 문제 인식kubectl get no 명령으로 팀원 모두가 워커 노드를 조회했지만You must be logged in to the server (the server has asked for the client to provide credentials) 에러가 발생했다. 모두가 공통적..