이 페이지 개선에 도움 주기
이 사용자 설명서에 기여하고 싶으신가요? 이 페이지 하단으로 스크롤하여 GitHub에서 이 페이지 편집을 선택하세요. 여러분의 기여는 모두를 위한 더 나은 사용자 설명서를 만드는 데 도움이 됩니다.
pods에 대한 아웃바운드 인터넷 액세스 활성화
적용 대상: Amazon EC2 인스턴스에서 Linux 노드, Linux IPv4
Fargate 노드
IPv6
패밀리를 사용하여 클러스터를 배포한 경우 IPv6
주소는 네트워크로 변환되지 않기 때문에 이 주제의 정보는 클러스터에 적용되지 않습니다. 클러스터에서 IPv6
사용에 대한 자세한 내용을 알아보려면 클러스터, pods 및 서비스에 IPv6 주소 할당 섹션을 참조하세요.
기본적으로 클러스터의 각 Pod에는 Pod에 배포된 VPC와 연결된 Classless Inter-Domain Routing(CIDR) 블록의 프라이빗 IPv4
주소가 할당됩니다. 동일한 VPC의 Pods는 이러한 프라이빗 IP 주소를 엔드포인트로 사용하여 서로 통신합니다. Pod가 VPC에 연결된 CIDR 블록 내에 있지 않은 모든 IPv4
주소와 통신하는 경우 Amazon VPC CNI 플러그인(LinuxIPv4
주소를 기본적으로 Pod가 실행 중인 노드의 기본 탄력적 네트워크 인터페이스의 기본 프라이빗 IPv4
주소로 변환합니다.*
참고
Windows 노드의 경우 고려해야 할 추가 세부 정보가 있습니다. 기본적으로 Windows용 VPC CNI 플러그인
이 동작으로 인해 다음이 발생합니다.
-
실행 중인 노드가 퍼블릭 또는 Elastic IP 주소를 할당받고 퍼블릭 서브넷에 있는 경우에만 Pods가 인터넷 리소스와 통신할 수 있습니다. 퍼블릭 서브넷은 인터넷 게이트웨이로 향하는 라우팅이 있는 라우팅 테이블과 연결된 서브넷입니다. 가능하면 프라이빗 서브넷에 노드를 배포하는 것이 좋습니다.
-
1.8.0
이전 플러그인 버전의 경우 VPC 피어링, 트랜짓 VPC 또는 AWS Direct Connect를 사용하여 클러스터 VPC에 연결된 네트워크 또는 VPC에 있는 리소스는 보조 탄력적 네트워크 인터페이스 뒤에 있는 Pods와의 통신을 시작할 수 없습니다. 그럼에도 Pods는 이러한 리소스와 통신을 시작하고 응답을 수신할 수 있습니다.
사용자 환경에서 다음 설명 중 하나에 해당하는 경우 다음 명령을 사용하여 기본 구성을 변경하십시오.
-
IPv4
주소를 사용하여 Pods와 통신을 시작해야 하는 VPC 피어링, 전송 VPC 또는 AWS Direct Connect를 사용하여 클러스터 VPC에 연결되는 네트워크 또는 VPC에 리소스가 있으며 플러그인 버전이1.8.0
보다 이전 버전입니다. -
Pods는 프라이빗 서브넷에 있으며 인터넷과 아웃바운드로 통신해야 합니다. 서브넷은 NAT 게이트웨이로 가는 경로를 가지고 있습니다.
kubectl set env daemonset -n kube-system aws-node AWS_VPC_K8S_CNI_EXTERNALSNAT=true
참고
AWS_VPC_K8S_CNI_EXTERNALSNAT
및 AWS_VPC_K8S_CNI_EXCLUDE_SNAT_CIDRS
CNI 구성 변수는 Windows 노드에 적용할 수 없습니다. Windows에서는 SNAT를 비활성화할 수 없습니다. SNAT에서 IPv4
CIDR 목록을 제외하는 경우 Windows 부트스트랩 스크립트에서 ExcludedSnatCIDRs
파라미터를 지정하여 이를 정의할 수 있습니다. 이 파라미터 사용에 대한 자세한 내용은 부트스트랩 스크립트 구성 파라미터 섹션을 참조하세요.
호스트 네트워킹
* Pod's 사양에 hostNetwork=true
(기본값은 false
)가 포함된 경우 해당 IP 주소가 다른 주소로 변환되지 않습니다. 이 경우는 기본적으로 클러스터에서 실행되는 kube-proxy
및 Amazon VPC CNI plugin for Kubernetes Pods의 경우입니다. 이러한 Pods의 경우 IP 주소는 노드의 기본 IP 주소와 동일하므로 Pod's IP 주소는 변환되지 않습니다. Pod's hostNetwork
설정에 대한 자세한 내용을 알아보려면 Kubernetes API 참조에서 PodSpec v1 코어