설명
Alias IP를 사용하는 VPC 네이티브 클러스터는 Pod 주소를 서브넷의 보조 범위에서 할당해 VPC 라우팅과 통합합니다. 라우트 기반 방식보다 개별 라우트 관리 부담을 줄일 수 있습니다. 현재 새 GKE 클러스터는 VPC 네이티브가 기본이며 설정 생략만으로 Alias IP 미사용을 의미하지 않습니다.
잠재적 영향
주소 용량과 라우팅을 잘못 계획하면 확장이나 연결에 문제가 생길 수 있습니다. Alias IP 자체가 Pod 통신을 차단하거나 클러스터 접근을 비공개로 만드는 것은 아닙니다.
해결 방법
새 클러스터는 ip_allocation_policy.use_ip_aliases: yes와 적절한 Pod·Service 주소 범위를 사용하세요. 기존 클러스터의 네트워크 모드는 변경할 수 없으므로 전환이 필요하면 새 클러스터로 워크로드를 이전하도록 계획하세요. 방화벽과 네트워크 정책은 별도로 구성하세요.
예시
네트워크 설정 발췌입니다. 프로젝트와 JSON 자격 증명 경로를 제공하고 사용할 VPC, 서브넷 및 충분한 보조 IP 범위를 준비하세요. 이 예시는 해당 리소스를 생성하지 않습니다.
변경 전
yaml
- name: create a cluster1
google.cloud.gcp_container_cluster:
name: my-cluster1
initial_node_count: 2
node_config:
machine_type: n1-standard-4
disk_size_gb: 500
location: us-central1-a
project: "{{ gcp_project }}"
auth_kind: serviceaccount
service_account_file: "{{ gcp_service_account_file }}"
state: present
- name: create a cluster3
google.cloud.gcp_container_cluster:
name: my-cluster3
initial_node_count: 2
node_config:
machine_type: n1-standard-4
disk_size_gb: 500
location: us-central1-a
project: "{{ gcp_project }}"
auth_kind: serviceaccount
service_account_file: "{{ gcp_service_account_file }}"
state: present
ip_allocation_policy:
create_subnetwork: no
use_ip_aliases: no
첫 작업은 할당 정책을 생략하고 두 번째는 use_ip_aliases: no로 라우트 기반 구성을 요청합니다. 생략된 설정의 실제 값은 클러스터에서 확인하세요.
변경 후
yaml
- name: create a cluster
google.cloud.gcp_container_cluster:
name: my-cluster
initial_node_count: 2
node_config:
machine_type: n1-standard-4
disk_size_gb: 500
location: us-central1-a
project: "{{ gcp_project }}"
auth_kind: serviceaccount
service_account_file: "{{ gcp_service_account_file }}"
state: present
ip_allocation_policy:
create_subnetwork: no
use_ip_aliases: yes
VPC 네이티브 방식을 명시합니다. create_subnetwork: no이므로 사용할 서브넷과 주소 범위를 별도로 구성해야 합니다.