aws eks

kubernetes 컨트롤 플레인을 구성하거나 유지할 필요없이 쉽게 실행할수있는 관리형 서비스

architecture

kub

kubernetes on ec2 control plane 관리의 부담 ha 구현 ec2운영 이슈 발생시 support의 부재 managed node group 없음 버전 업데이트의 부담

관리형이 늘 정답은 아님 보안 요구사항 워크로드 요구사항 customize 여지

ecs 오픈소스 확장의 한계 표준이라고 보긴 어려운 manifest관리 인재 채용의 한계 추상화에 따른 트러블슈팅 한계 그럼에도 불구하고 비즈니스 요구사항에 따라 더 나은 선택이 되기도

aws 상에서 kubernetes 운영한다는건

persistent storage 옵션 ebs csi driver efs csi driver fsx for lustre csi driver

vpc cni

ec2 네트워킹과 security group 에 상응하는 네트워크 정책 vpc 네트워킹에서 활용하는 security best practice를 그대로 kubernetes 환경에

vpc cni container network interface를 고려한 최대 pod 수

max pods = eni _ eni당지원하는 ipv4 개수 -1 ) + 2 예 m5.large eni =3, eni당 지원하는 ipv4 개수 = 10 3_(10-1) +2 =29 각 eni의 첫번째 ip는 파드를 위해 사용할수없음 호스트 네트워크 관련 2개 파드 포함 개수 aws eni와 kube-proxy

클러스터 인증 관리

인증: eks는 iam을 사용하여 kubernetes 클러스터에 인증을 제공 aws-iam-authenticator의 aws eks get-token 명령 유효한 iam 엔터티 iam user/role의 인증에만 사용 인가: eks 클러스터의 kubernetes api와 상호작용에 대한 모든 권한은 기본 kubernetes rbac 시스템을 통해 관리 kubernetes 리소스에 대한 사용 권한의 집합인 Role에 특정 iam사용자나 역할을 매핑