네트워크 크기 조정
필요한 IP 주소 수를 결정하기 전에 Pod 및 노드 수를 알아야 합니다. 이제 필요한 Pod 및 노드 수를 확인했으므로 네트워크 크기 조정을 살펴보겠습니다.
가상 네트워크 서브넷 크기 조정
Kubernetes 클러스터 노드에 대해 최대 7개의 VM을 사용할 수 있습니다. 업그레이드 프로세스 중에 AKS(Azure Kubernetes Service) 클러스터에 추가 노드가 일시적으로 추가됩니다. 따라서 8개의 VM(가상 머신)을 기반으로 네트워크 크기를 계산해야 합니다.
Maximum 7 VMs + 1 VM for upgrades = 8 node IP addresses
기본적으로 Azure CNI(Container Networking Interface) 플러그 인을 사용하는 AKS 클러스터는 노드당 최대 30개의 Pod를 허용하도록 구성됩니다. 이 값은 10~250개 Pod 사이의 모든 값으로 구성할 수 있습니다. 네트워크 크기 계산에서는 최대 Pod 수를 배포할 수 있어야 합니다.
8 VMs x 30 pods per node maximum = 240 pod IP addresses
노드에는 8개의 IP 주소가 필요하고 Pod의 경우 240개의 IP 주소가 필요합니다.
8 node IP addresses + 240 pod IP addresses = 248 IP addresses
팁
클러스터에서 내부 Azure Load Balancer를 사용하려는 경우 IP 주소도 필요합니다. 부하 분산 장치에 전용 서브넷을 사용하는 것이 일반적이지만 노드와 동일한 서브넷을 사용하려는 경우 이를 고려해야 합니다.
이 디자인에서는 기본 노드 풀 구성을 유지하기로 결정했습니다. 기본 구성은 모든 것을 실행하는 단일 시스템 모드 노드 풀을 사용합니다. 시스템 구성 요소가 애플리케이션에서 격리되도록 하려면 두 개 이상의 노드 풀이 필요합니다. 이를 고려하도록 IP 주소 범위 계산을 조정해야 합니다.
이제 조직에서 네트워크 할당을 담당하는 팀에 접근하여 248개의 IP 주소를 지원하는 서브넷을 요청할 수 있습니다. Azure Virtual Network에서 서브넷을 만들 때 5개의 IP 주소가 시스템용으로 예약됩니다. /24 주소 범위에는 251개의 사용 가능한 IP 주소가 있으므로 클러스터에 적합합니다.
Kubernetes Service 주소 범위 선택
노드 및 Pod 서브넷을 선택하면 선택할 주소 범위가 하나 더 있으며, Kubernetes Service의 주소 범위입니다. Kubernetes Service는 트래픽이 Pod로 라우팅될 수 있도록 하는 고정적인 가상 IP 주소를 제공합니다. 이 주소 범위는 클러스터 내에서 트래픽을 라우팅하는 데만 사용됩니다. 이 주소 범위는 절대로 클러스터 외부에서 사용되거나 노출되지 않습니다. 따라서 Azure 또는 온-프레미스 네트워크의 다른 곳에서는 사용되지 않는 개인 네트워크 주소 범위를 선택해야 합니다.
팁
Kubernetes Service 주소 범위는 클러스터 외부에서 사용되지 않으므로 여러 클러스터에서 이 주소 범위를 다시 사용할 수 있습니다.
서비스 주소 범위를 선택하는 규칙은 다음과 같습니다.
- 범위는 클러스터에 사용되는 가상 네트워크의 IP 주소 범위 내에 있지 않아야 합니다.
- 이 범위는 클러스터 네트워크에 피어링된 다른 가상 네트워크의 IP 주소 범위 내에 있을 수 없습니다.
- 범위는 온-프레미스 네트워크에서 사용하는 IP 주소 범위와 겹치지 않아야 합니다.
- 범위는 IP 주소 범위 169.254.0.0/16, 172.30.0.0/16, 172.31.0.0/16 또는 192.0.2.0/24에 있을 수 없습니다.
일반적으로 클러스터 내의 서비스에 대해 많은 IP 주소가 필요하지 않습니다. 일반적으로 애플리케이션의 여러 복제본을 실행하는 Pod 그룹 앞에 하나의 서비스가 있습니다. 이 경우 애플리케이션을 구성하는 8개의 다른 서비스가 있으므로 8개의 서비스 IP 주소만 필요합니다.
수신 컨트롤러 또는 서비스 메시와 같이 클러스터에서 실행되는 다른 서비스는 더 많은 서비스 IP 주소를 사용할 수 있습니다. 나중에 사용할 수 있는 다른 서비스에 대한 추가 공간을 고려해 두는 것이 가장 좋습니다. 일반적으로 넉넉한 주소 범위를 사용하는 것이 좋습니다. /24 주소 범위는 클러스터가 작동하기에 충분한 공간을 제공합니다.
DNS 서비스 IP 주소 선택
Kubernetes는 기본 제공된 DNS(Domain Name System) 서비스를 사용하여 클러스터 내에서 서비스 검색 기능을 제공합니다. DNS 서비스에는 Kubernetes Service 주소 범위 내의 IP 주소가 필요합니다. Kubernetes Service 주소 범위의 첫 번째 IP 주소는 사용할 수 없지만 다른 값은 사용할 수 있습니다.
이제 클러스터를 배포하는 데 필요한 모든 정보가 있습니다.