설명
GKE의 VPC 네이티브 클러스터는 Alias IP를 사용해 Pod 주소를 VPC 서브넷의 보조 IP 범위에서 할당합니다. 주소 관리와 VPC 연결을 일관되게 운영하는 데 도움이 됩니다. 현재 새 클러스터의 기본 모드는 VPC_NATIVE이므로 설정 생략만으로 경로 기반 클러스터라고 단정할 수는 없습니다.
Alias IP 자체가 불필요한 통신을 차단하는 것은 아닙니다. 방화벽과 네트워크 정책, 접근 권한은 별도로 관리해야 합니다.
잠재적 영향
- 잘못 계획한 주소 범위는 IP 고갈이나 연결 충돌을 일으킬 수 있습니다.
- 경로 기반 클러스터는 필요한 네트워크 기능이나 확장 요구를 충족하지 못할 수 있습니다.
해결 방법
- 새 클러스터는
networking_mode = "VPC_NATIVE"와 적절한ip_allocation_policy로 구성하세요. - Pod와 Service에 필요한 주소 용량을 계산하고 기존 네트워크와 겹치지 않는 범위를 준비하세요.
- 기존 경로 기반 클러스터는 모드를 직접 바꾸는 대신 새 클러스터로의 마이그레이션을 계획하고 연결을 검증하세요.
예시
네트워크 모드 비교용 발췌입니다. 프로젝트, VPC와 서브넷은 별도로 준비하세요. 빈 ip_allocation_policy는 주소 범위를 명시하지 않으므로 실제 할당 범위와 가용 용량을 확인해야 합니다.
변경 전
hcl
resource "google_container_cluster" "cluster" {
name = "marcellus-wallace"
location = "us-central1-a"
initial_node_count = 3
networking_mode = "ROUTES"
ip_allocation_policy {}
timeouts {
create = "30m"
update = "40m"
}
}
변경 후
hcl
resource "google_container_cluster" "cluster" {
name = "marcellus-wallace"
location = "us-central1-a"
initial_node_count = 3
networking_mode = "VPC_NATIVE"
ip_allocation_policy {}
timeouts {
create = "30m"
update = "40m"
}
}
설명:
- 변경 전: ROUTES로 경로 기반 네트워크를 선택합니다.
- 변경 후: VPC_NATIVE로 Alias IP 기반 네트워크를 선택합니다. 이 설정만으로 트래픽 접근이 제한되지는 않습니다.