컨테이너 네트워크 및 클러스터 네트워크 설명
클러스터 네트워크와 컨테이너 네트워크는 클러스터의 기본 속성입니다. 두 네트워크를 모두 설정하면 클러스터의 네트워크 파티셔닝을 계획할 수 있습니다.
컨테이너 네트워크와 클러스터 네트워크의 관계
클러스터 네트워크: 노드 네트워크 주소 범위 내의 IP를 클러스터의 CVM에 할당합니다. VPC 인스턴스의 서브넷을 클러스터의 노드 네트워크로 선택할 수 있습니다. 자세한 내용은 VPC 개요를 참고하십시오. 컨테이너 네트워크: 컨테이너 네트워크 주소 범위 내의 IP를 클러스터의 컨테이너에 할당합니다. 여기에는 GlobalRouter 모드, VPC-CNI 모드 및 Cilium-Overlay 모드가 포함됩니다.
GlobalRouter 모드: 세 가지 주요 사설 IP 범위를 사용자 지정하여 컨테이너 네트워크를 설정할 수 있습니다. 그 다음 선택한 최대 클러스터 내 서비스 수에 따라 적절한 크기의 CIDR 블록을 Kubernetes service에 자동으로 할당할 수 있습니다. 또한 선택한 노드당 최대 Pod 수에 따라 Pod에 IP를 할당하기 위해 클러스터의 각 CVM에 적절한 크기의 IP 범위를 자동으로 할당할 수 있습니다.
VPC-CNI 모드: 컨테이너 IP 할당을 위해 클러스터와 동일한 VPC에 있는 서브넷을 선택합니다.
Cilium-Overlay 모드: 세 가지 주요 사설 IP 범위를 사용자 지정하여 컨테이너 네트워크를 설정할 수 있습니다. 그 다음 선택한 최대 클러스터 내 서비스 수에 따라 적절한 크기의 CIDR 블록을 Kubernetes service에 자동으로 할당할 수 있습니다. 또한 선택한 노드당 최대 Pod 수에 따라 Pod에 IP를 할당하기 위해 클러스터의 각 노드에 적절한 크기의 IP 범위를 자동으로 할당할 수 있습니다.
컨테이너 네트워크 및 클러스터 네트워크에 대한 제한 사항
클러스터 네트워크와 컨테이너 네트워크의 IP 범위는 오버랩될 수 없습니다.
동일한 VPC 인스턴스에 있는 서로 다른 클러스터의 컨테이너 네트워크 IP 범위는 오버랩될 수 없습니다.
컨테이너 네트워크와 VPC 라우팅이 오버랩되는 경우 트래픽은 컨테이너 네트워크 내에서 우선적으로 포워딩됩니다.
클러스터 네트워크와 다른 Tencent Cloud 리소스 간의 통신
동일한 클러스터의 컨테이너는 서로 통신할 수 있습니다.
동일한 클러스터의 컨테이너와 노드는 서로 통신할 수 있습니다.
클러스터의 컨테이너는 TencentDB, TencentDB for Redis 및 TencentDB for Memcached와 같은 동일한 VPC의 리소스와 사설망을 통해 통신할 수 있습니다. 주의사항:
클러스터의 컨테이너를 동일한 VPC 인스턴스의 다른 리소스에 연결할 때 보안 그룹이 컨테이너 IP 범위를 개방했는지 확인하십시오.
TKE 클러스터의 ip-masq 컴포넌트는 컨테이너가 다른 IP 범위에 영향을 주지 않고 SNAT를 통해 컨테이너 네트워크 및 VPC 네트워크에 액세스하지 못하도록 합니다. 따라서 컨테이너가 동일한 VPC 인스턴스의 다른 리소스(예시: Redis)에 액세스할 때 컨테이너 IP 범위를 인터넷에 개방해야 합니다.
컨테이너 네트워크 설명
컨테이너 CIDR 블록: Service, Pod 등의 리소스가 위치한 IP 범위를 나타냅니다.
노드당 최대 Pod: 각 Node에 할당된 CIDR 블록의 크기를 결정합니다.
설명
TKE 클러스터는 기본적으로 2개의 kube-dns Pod와 1개의 l7-lb-controller Pod를 생성합니다.
Node에 있는 Pod의 경우 네트워크 번호, 방송 주소 및 게이트웨이 주소의 세 가지 주소를 할당할 수 없습니다. 따라서 Node당 최대 Pod 수 = podMax - 3입니다.
클러스터당 최대 Service: Service에 할당된 CIDR 블록의 크기를 결정합니다.
설명
TKE 클러스터는 기본적으로 3개의 Service: kubernetes, hpa-metrics-service 및 kube-dns를 생성하며 다른 1개의 방송 주소와 1개의 네트워크 번호를 사용할 수 있습니다. 따라서 클러스터당 사용 가능한 최대 Services 수는 ServiceMax - 5입니다.
노드: 클러스터의 Worker 노드입니다.
설명
노드 수 계산 공식은 (CIDR IP 수량 - 클러스터당 최대 Service)/ 노드당 최대 Pod 수입니다.
TKE 네트워크 모드를 선택하는 방법은 무엇입니까?
TKE(Tencent Kubernetes Engine)는 시나리오마다 다른 네트워크 모드를 제공합니다. 본문은 GlobalRouter, VPC-CNI 및 Cilium-Overlay 네트워크 모드에 대한 자세한 설명과 사용 사례, 강점 및 사용 제한에 대한 비교를 제공합니다. 비즈니스 요구 사항에 따라 네트워크 모드를 선택할 수 있습니다.
설명
클러스터를 생성할 때 네트워크 모드를 선택한 후에는 수정할 수 없습니다.
GlobalRouter 모드
GlobalRouter는 기본 VPC 인스턴스를 기반으로 TKE에서 제공하는 글로벌 라우팅 기능입니다. 컨테이너 네트워크와 VPC 인스턴스 간의 상호 액세스를 위한 라우팅 정책을 구현합니다. 자세한 내용은 GlobalRouter 모드를 참고하십시오. VPC-CNI 모드
VPC-CNI는 CNI 및 VPC ENI를 기반으로 TKE에서 제공하는 컨테이너 네트워크 기능입니다. 대기 시간에 높은 요구 사항이 있는 시나리오에 적합합니다. 이 네트워크 모드에서 컨테이너와 노드는 동일한 네트워크 평면에 있으며 컨테이너 IP는 IPAMD 컴포넌트에서 할당한 ENI IP입니다. 자세한 내용은 VPC-CNI 모드를 참고하십시오. Cilium-Overlay 모드
Cilium-Overlay 네트워크 모드는 TKE에서 Cilium VXLan 기반으로 제공하는 컨테이너 네트워크 플러그인입니다. 이 모드에서는 분산 클라우드 시나리오에서 TKE 클러스터에 외부 노드를 추가할 수 있습니다. 자세한 내용은 Cilium-Overlay 모드를 참고하십시오. 설명
Cilium-Overlay 모드의 성능 손실로 인해 이 모드는 분산형 클라우드에 외부 노드가 구성된 시나리오만 지원하며 클라우드 노드만 구성된 시나리오는 지원하지 않습니다.
네트워크 모드 선택
이 섹션에서는 사용 사례, 강점 및 사용 제한 측면에서 GlobalRouter, VPC-CNI 및 Cilium-Overlay의 3가지 네트워크 모드를 비교합니다. 필요에 가장 잘 맞는 네트워크 모드를 선택할 수 있습니다.
|
사용 시나리오 | 일반 컨테이너 비즈니스. 오프라인 컴퓨팅. | 네트워크 대기 시간에 높은 요구 사항이 있는 시나리오. 기존 아키텍처를 컨테이너 플랫폼으로 마이그레이션한 후 고정 컨테이너 IP가 필요한 시나리오. | 분산 클라우드에 외부 노드가 구성된 시나리오만 지원합니다. 클라우드 노드만 구성된 시나리오는 지원하지 않습니다. |
장점 | 컨테이너 라우팅은 VPC 인스턴스를 통해 직접 수행되며 컨테이너와 노드는 동일한 네트워크 평면에 있습니다. 컨테이너 IP 범위는 VPC 인스턴스의 다른 IP 범위를 차지하지 않고 동적으로 할당됩니다. 따라서 사용 가능한 IP가 풍부합니다. | ENI의 컨테이너 네트워크는 VPC 서브넷이며 VPC 제품으로 관리할 수 있습니다. 고정 IP 및 LB-to-Pod 직접 액세스가 지원됩니다. 네트워크 성능은 GlobalRouter보다 우수합니다. | 클라우드 노드와 외부 노드는 지정된 컨테이너 IP 범위를 공유합니다. 컨테이너 IP 범위는 VPC 인스턴스의 다른 IP 범위를 차지하지 않고 동적으로 할당됩니다. 따라서 사용 가능한 IP가 풍부합니다. |
사용 제한 | 전용선, PC(Peering Connection) 및 CCN(Cloud Connect Network)와 같은 상호 연결 시나리오에 대한 추가 구성을 만들어야 합니다. 고정 Pod IP는 지원되지 않습니다. | 컨테이너 네트워크와 노드 네트워크는 동일한 VPC 인스턴스에 속합니다. 따라서 IP 주소가 제한됩니다. 노드의 Pod 수는 ENI 및 ENI의 사용 가능한 IP에 의해 제한됩니다. 고정 IP 주소 모드에서는 Pod가 가용존 간에 스케쥴링되는 것을 허용하지 않습니다. | Cilium VXLan 터널 캡슐화 프로토콜을 사용할 때 10% 미만의 성능 손실이 있습니다. Pod IP는 클러스터 외부에서 직접 액세스할 수 없습니다. IDC의 외부 노드가 APIServer 및 퍼블릭 클라우드 서비스에 액세스할 수 있도록 프라이빗 CLB를 생성하려면 지정된 서브넷에서 두 개의 IP를 얻어야 합니다. 고정 Pod IP는 지원되지 않습니다. |
추가 기능 | 표준 Kubernetes 기능. | TKE는 고정 Pod IP를 지원합니다. 컨테이너 네트워크는 VPC 콘솔에서 관리됩니다. LB는 Pod에 직접 요청을 포워딩하고 Pod는 소스 IP를 가져올 수 있습니다. | 표준 Kubernetes 기능. |