EKS는 컨트롤 플레인 + 데이터 플래인이다.
직접 접속 불가
AWS에서 관리하는 VPC
API 서버 - 외부에서 명령을 내리는 서버
가용성 보장 필요
etcd - 데이터 저장
가용성 보장 필요
Customer VPC - 사용자가 관리하는 VPC
EKS ENI를 통해 내부로 통신한다.
API 서버 > kubelet으로 통신한다.
1
Public로 구축 시
API -> ENI 통해 > Kubelet 통신한다.
Kubelet 은 IGW를 통해 통신한다.
2
Public + Private로 구축 시
Kubelet 은 ENI 통해 통신한다.
3
Private로 구축 시
인터넷으로 차단된 상태.
NAT가 없으면 S3, DynamoDB는 통신이 안된다.
이럴 경우 VPC END Point를 사용하라.
1
서비스나 인그레스를 사용한다.
2
EKS 네트워크 알아보자.
EKS VPC CNI 네트워킹 사용한다.
Primary IP
Secondary IP
Secondary IP
Overlay 가 아닌 일반 VPC 네트워킹을 사용한다.
1
Cluster IP = 클러스터 내부에서 서버스에서 접속
외부에서 접속 불가
파드간의 통신에 사용한다.
ip-tables rule을 사용한다.
2
Node Port = 노드의 포트를 외부에 오픈
노드 포트의 범위 = 30000~32767 포트 사용.
외부에서 노드 포트를 통해 접속.
노드에 대한 ip와 포트를 클라이언트가 알고 있어야 하는 단점이 있다.(단점)
ip-tables rule을 사용한다.
3
Load Balancer = 클라우드 공급 사업자의 로드밸런서 사용해 외부노출
서브넷 자동 탐색 방법은?
서브넷에 할당된 태그가 있다.
EKS 클러스터 만들어질 때 자동으로 할당된다.
로드밸런서는 서브넷에 할당된 태그룰 기반으로 서브넷에 배치됩니다.
서비스 만들 때는?
로드밸런서는 nlb 또는 Classic을 사용한다.
어노테이션으로 지정한다. 참고사항으로 들어간다. 스펙에 추가하지 않는다.
ingress 사용?
ingress를 통해 L7영역에 대한 트래픽처리를 한다.
ingress는 Application Load Balancer를 만든다. (nginx 도 있다)
https://brunch.co.kr/@topasvga/3520