Karpenter CA의 경우 AWS ASG와 CA 모두 동작을 해야 하기 때문에 시간이 오래 걸림 ASG의 경우 주체가 AWS이고, CA의 경우 EKS가 주체이기 때문에 각 각 확인을 해야 함 Karpenter의 경우 ASG를 사용하지 않고 Karpenter 자체적으로 동작하기 때문에 CA보다 훨씬 빠르게 동작 Karpenter 설치 기존 배포한 EKS 삭제 후 새로운 EKS 배포 # 변수 정보 확인 export | egrep 'ACCOUNT|AWS_' | egrep -v 'SECRET|KEY' # 변수 설정 export KARPENTER_NAMESPACE="kube-system" export K8S_VERSION="1.29" export KARPENTER_VERSION="0.35.2" export T..
두번 째 포스트 주제는 Node Autoscaling이다. Node Autoscaling이란 Kubernetes 클러스터에 과도한 부하 및 이벤트가 발생하여 Pod가 Node에 할당되지 못하여 Pending상태가 되는 경우 추가 Node를 생성하여 해당 Node에 Pod를 배치하는 것을 의미한다.즉 Node의 Scale In/Out, Scale Up/Down을 의미 CA: Cluster Autoscaler EKS의 경우 AWS Auto Scaling Group를 사용하여 Cluster Autoscaler에 적용 EKS 배포 시 Tag 설정EC2 Autoscaling 내 ASG 생성 확인awscli명령어를 통해 클러스터 노드의 수량 조절 / MaxSize 6개로 변경aws autoscaling desc..
Autoscaling이란 오토스케일링(autoscaling)은 서버 팜의 컴퓨팅 리소스 양(일반적으로 활성 서버 수로 측정)을 동적으로 조정하는 클라우드 컴퓨팅에 사용되는 한 방식이다. (위키백과) 클라우드를 배우면서 클라우드의 장점이라고 배우는 내용 중 "Autoscaling"은 빠질 수 가 없다. 웹 서비스를 운영한다고 했을 경우, 트래픽이 증가하게 되면 이에 적절하게 서버의 스펙 증가 (Scale-UP/Down)을 하거나, 서버의 수를 증가(Scale-In/Out)하여 대처를 하게 된다. Kubernetes 환경에서도 동일하게 트래픽이 증가한다면 어떻게 해결해야 할까? 클러스터의 Node를 추가하거나 또는 Pod추가하여 해결 할 수 있다. 이번 5주차 Autoscaling에서는 AWS EKS 환경에..
Control Plane(Master Node) pod 로깅EKS의 Control Plane의 경우 AWS가 관리(사용자 관리 X)EKS Console 내 관찰성 부분에 Control Plane의 각 항목을 활성화 하여 Cloud Watch를 통해 로깅 가능 [ AWS CLI 명령어를 통하여 제어 플레인 로깅 활성화 ]aws eks update-cluster-config --region $AWS_DEFAULT_REGION --name $CLUSTER_NAME \ --logging '{"clusterLogging":[{"types":["api","audit","authenticator","controllerManager","scheduler"],"enabled":true}]}' [ CloudWat..
CSIContainer Srotage Interface쿠버네티스에서는 다양한 스토리지 연계를 위해 CSI 인터페이스를 제공CSI 인터페이스 덕분에 쿠버네티스에서 쉽게 스토리지(EBS, EFS 등)를 사용할 수 있음 쿠버네티스 CSI 인터페이스에 맞춰 개발된 AWS CSIEKS에서 EBS, EFS 등 AWS 스토리지를 다루려면 스토리지 별로 AWS CSI 드라이버를 설치해야 사용 가능참고: https://malwareanalysis.tistory.com/598 (악분님 블로그) 3주차 EKS Storage에서는 EBS 및 EFS 실습을 진행하며 각 드라이버를 설치 K8S Storage1. 파드 내부의 데이터는 파드가 정지되면 모두 삭제됨(휘발성) → 즉, 파드가 모두 상태가 없는(Stateless) 애플리..
CNI Container Network Inferface로 컨테이너 간 네트워크를 구성 다양한 CNI가 존재( Flannel, Calico, Cilium, Weave Net, AWS VPC ) AWS VPC CNI Node와 Pod의 IP 대역이 같아 직접 통신이 가능하여 네트워크 통신의 최적화(성능, 지연) VPC 와 통합 : VPC Flow logs , VPC 라우팅 정책, 보안 그룹(Security group) 을 사용 가능함 VPC ENI 에 미리 할당된 IP(=Local-IPAM Warm IP Pool)를 파드에서 사용할 수 있음 Node Network 정보 aws-node(cni)dhk kube-proxy는 Node의 Root Net Namespace를 사용 aws-node와 kube-prox..
EKS란Elastic Kubernetes Service는 AWS 자체 Kubernetes 서비스로 컨트롤 플레인 또는 노드를 설치, 운영 및 유지 관리할 필요 없이 Kubernetes를 사용할 수 있는 관리형 서비스여러 AWS 가용 영역에 걸쳐 Kubernetes 컨트롤 플레인을 실행하고 크기를 조정하여 높은 가용성을 보장오픈 소스 Kubernetes 소프트웨어의 최신 버전을 실행하므로 Kubernetes 커뮤니티에서 모든 기존 플러그 인과 도구를 사용할 수 있음지원 버전 : 보통 5~6개의 마이너 버전 지원(현재 1.25~1.29)평균 3개월마다 새 버전 제공, 처음 14개월 지원, 추가 12개월 연장 지원(비용 추가) EKS 아키텍처 (컨트롤 플레인 / 데이터 플레인)EKS 컨트롤 플레인 : AWS ..