포드의 다중 네트워크 지원 설정


이 페이지에서는 포드에 대한 다중 네트워크 지원을 사용하여 Google Kubernetes Engine(GKE) 클러스터의 노드 및 포드에 다중 인터페이스를 사용 설정하는 방법을 보여줍니다.

이 페이지를 읽기 전에 일반적인 네트워킹 개념, 이 기능과 관련된 용어 및 개념, 포드의 다중 네트워크 지원에 대한 요구사항 및 제한사항을 숙지해야 합니다.

자세한 내용은 포드의 다중 네트워크 지원 정보를 참조하세요.

요구사항 및 제한사항

포드에 대한 다중 네트워크 지원에는 다음 요구사항과 제한사항이 있습니다.

요구사항

  • GKE Standard 버전 1.28 이상
  • GKE Autopilot 버전 1.29.5-gke.1091000 이상 또는 버전 1.30.1-gke.1280000 이상
  • 포드에 대한 다중 네트워크 지원은 Compute Engine에 대한 다중 NIC와 동일한 VM 수준 사양을 사용합니다.
  • 포드에 대한 다중 네트워크 지원에는 GKE Dataplane V2가 필요합니다.
  • 포드에 대한 다중 네트워크 지원은 버전 m101 이상을 실행하는 Container-Optimized OS 노드에만 제공됩니다.

일반 제한

  • 이중 스택 네트워킹에 사용 설정된 클러스터에서는 포드에 대한 다중 네트워크 지원이 작동하지 않습니다.
  • 공유 VPC는 GKE 버전 1.28 이상에서만 지원됩니다.
  • 멀티 포드 CIDR은 GKE 버전 1.29 이상에서 기본 포드 네트워크에 대해서만 지원됩니다.
  • 단일 GKE 클러스터 내의 모든 포드 네트워크는 중복되는 CIDR 범위를 가질 수 없습니다.
  • 포드에 대한 다중 네트워크 지원을 사용 설정하면 노드 풀을 만든 후 노드 네트워크 인터페이스 또는 포드 네트워크를 추가하거나 삭제할 수 없습니다. 이 설정을 변경하려면 노드 풀을 다시 만들어야 합니다.
  • 기본적으로 포드 내부의 포드 네트워크 추가 인터페이스에서는 인터넷 액세스를 사용할 수 없습니다. 하지만 Cloud NAT를 사용하여 수동으로 사용 설정할 수 있습니다.
  • API를 통해 여러 인터페이스가 있는 포드 내에서 기본 게이트웨이를 변경할 수 없습니다. 기본 게이트웨이는 기본 포드 네트워크에 연결되어야 합니다.
  • 포드 네트워크 또는 인터페이스를 추가하더라도 기본 포드 네트워크는 항상 포드에 포함되어야 합니다.
  • 관리형 Hubble이 구성된 경우 다중 네트워크 기능을 구성할 수 없습니다.
  • 공유 VPC를 사용하려면 GKE 클러스터에서 버전 1.28.4 이상을 실행해야 합니다.
  • 공유 VPC 배포의 경우 노드에 연결된 모든 네트워크 인터페이스(NIC)가 호스트 프로젝트와 동일한 프로젝트에 속해야 합니다.
  • 기기 유형 네트워크 객체의 이름은 41자(영문 기준) 이하여야 합니다. 각 UNIX 도메인 소켓의 전체 경로가 상응하는 네트워크 이름을 포함하여 구성됩니다. Linux에는 소켓 경로 길이(107바이트 미만)에 대한 제한사항이 있습니다. 디렉터리, 파일 이름 프리픽스, .sock 확장자를 고려하면 네트워크 이름은 최대 41자로 제한됩니다.

기기 및 데이터 영역 개발 키트(DPDK) 제한사항

  • Device 유형 NIC로 포드에 전달된 VM NIC는 동일한 노드의 다른 포드에서 사용할 수 없습니다.
  • DPDK 모드를 사용하는 포드는 권한 모드로 실행되어야 VFIO 기기에 액세스할 수 있습니다.
  • Autopilot 모드는 DPDK를 지원하지 않습니다.
  • DPDK 모드에서 기기는 노드 리소스로 취급되며 포드의 첫 번째 컨테이너 (비초기화)에만 연결됩니다. 여러 개의 DPDK 기기를 동일한 포드의 컨테이너에 분할하려면 이러한 컨테이너를 별도의 포드에서 실행해야 합니다.

확장 제한

GKE는 클러스터를 확장할 수 있는 유연한 네트워크 아키텍처를 제공합니다. 클러스터에 노드 네트워크와 포드 네트워크를 추가할 수 있습니다. 다음과 같이 클러스터를 확장할 수 있습니다.

  • 각 GKE 노드 풀에 노드 네트워크를 최대 7개까지 추가할 수 있습니다. 이는 Compute Engine VM에 대한 확장 한도와 동일합니다.
  • 각 포드에 연결된 추가 네트워크는 7개 미만이어야 합니다.
  • 단일 노드 풀 내의 8개의 노드 네트워크에서 포드 네트워크를 최대 35개까지 구성할 수 있습니다. 다음과 같은 다양한 조합으로 분류할 수 있습니다.
    • 포드 네트워크가 각각 5개씩 있는 7개의 노드 네트워크
    • 포드 네트워크가 각각 7개씩 있는 5개의 노드 네트워크
    • 30개의 포드 네트워크가 있는 1개의 노드 네트워크. 서브넷당 보조 범위의 한도는 30개입니다.
  • 클러스터당 최대 50개의 포드 네트워크를 구성할 수 있습니다.
  • 노드당 최대 32개의 다중 네트워크 포드를 구성할 수 있습니다.
  • 인터페이스가 여러 개인 노드를 최대 5,000개까지 추가할 수 있습니다.
  • 모든 포드에서 최대 100,000개의 추가 인터페이스를 사용할 수 있습니다.

다중 네트워크 포드 배포

다중 네트워크 포드를 배포하려면 다음을 수행합니다.

  1. 추가 VPC, 서브넷(노드 네트워크), 보조 범위(포드 네트워크)를 준비합니다.
  2. Google Cloud CLI 명령어를 사용하여 다중 네트워크가 사용 설정된 GKE 클러스터 만들기
  3. Google Cloud CLI 명령어를 사용하여 추가 노드 네트워크 및 포드 네트워크에 연결된 새 GKE 노드 풀을 만듭니다.
  4. 포드 네트워크를 만들고 Kubernetes API를 사용하여 다중 네트워크 객체에서 올바른 VPC, 서브넷, 보조 범위를 참조합니다.
  5. 워크로드 구성에서 Kubernetes API를 사용하여 준비된 네트워크를 참조하는 Kubernetes 객체를 만듭니다.

시작하기 전에

시작하기 전에 다음 태스크를 수행했는지 확인합니다.

  • Google Kubernetes Engine API를 사용 설정합니다.
  • Google Kubernetes Engine API 사용 설정
  • 이 태스크에 Google Cloud CLI를 사용하려면 gcloud CLI를 설치한 후 초기화합니다. 이전에 gcloud CLI를 설치한 경우 gcloud components update를 실행하여 최신 버전을 가져옵니다.

추가 VPC 준비

Google Cloud는 GKE 클러스터의 초기 생성 시 사용되는 GKE 노드 풀과 연결된 클러스터를 만드는 동안 기본 포드 네트워크를 만듭니다. 기본 포드 네트워크는 모든 클러스터 노드 및 포드에서 사용할 수 있습니다. 노드 풀 내에서 다중 네트워크 기능을 사용하려면 Layer 3Device 유형 네트워크를 지원하는 기존 VPC나 새 VPC를 준비해야 합니다.

추가 VPC를 준비하려면 다음 요구사항을 고려하세요.

  • Layer 3Netdevice 유형 네트워크:

    • Layer 3 유형 네트워크를 사용하는 경우 보조 범위를 만듭니다.
    • 보조 범위의 CIDR 크기가 노드 풀의 노드 수와 원하는 노드당 포드 수를 충족할 만큼 큰지 확인합니다.
    • 기본 포드 네트워크와 마찬가지로 다른 포드 네트워크에서 IP 주소 오버프로비저닝을 사용합니다. 보조 IP 주소 범위는 노드당 포드 수보다 노드당 IP 주소 수가 2배 많아야 합니다.
  • Device 유형 네트워크 요구사항: VPC에 일반 서브넷을 만듭니다. 보조 서브넷은 필요하지 않습니다.

노드 풀에서 다중 네트워크 기능을 사용 설정하려면 추가 연결을 설정할 VPC를 준비해야 합니다. 기존 VPC를 사용하거나 노드 풀에 대해 새 VPC를 만들 수 있습니다.

Layer 3 유형 기기를 지원하는 VPC 네트워크 만들기

Layer 3 유형 기기를 지원하는 VPC 네트워크를 만들려면 다음 단계를 수행합니다.

  • 보조 범위의 CIDR 크기가 노드 풀의 노드 수와 원하는 노드당 포드 수를 충족할 만큼 큰지 확인합니다.
  • 기본 포드 네트워크와 마찬가지로 다른 포드 네트워크에서 IP 주소 오버프로비저닝을 사용합니다. 보조 IP 주소 범위는 노드당 포드 수보다 노드당 IP 주소 수가 2배 많아야 합니다.

gcloud

gcloud compute networks subnets create SUBNET_NAME \
    --project=PROJECT_ID \
    --range=SUBNET_RANGE \
    --network=NETWORK_NAME \
    --region=REGION \
    --secondary-range=SECONDARY_RANGE_NAME=<SECONDARY_RANGE_RANGE>

다음을 바꿉니다.

  • SUBNET_NAME: 서브넷의 이름입니다.
  • PROJECT_ID: 서브넷이 생성된 VPC 네트워크를 포함하는 프로젝트의 ID입니다.
  • SUBNET_RANGE: CIDR 표기법으로 표시된 새 서브넷의 기본 IPv4 주소 범위입니다.
  • NETWORK_NAME: 새 서브넷이 포함된 VPC 네트워크의 이름입니다.
  • REGION: 새 서브넷이 생성되는 Google Cloud 리전입니다.
  • SECONDARY_RANGE_NAME: 보조 범위의 이름입니다.
  • SECONDARY_IP_RANGE: CIDR 표기법으로 표시된 보조 IPv4 주소 범위입니다.

콘솔

  1. Google Cloud 콘솔에서 VPC 네트워크 페이지로 이동합니다.

  2. VPC 네트워크 만들기를 클릭합니다.

  3. 이름 필드에 네트워크의 이름을 입력합니다. 예를 들면 l3-vpc입니다.

  4. 최대 전송 단위(MTU) 드롭다운에서 적절한 MTU 값을 선택합니다.

  5. 서브넷 생성 모드 섹션에서 커스텀을 선택합니다.

  6. 서브넷 추가를 클릭합니다.

  7. 새 서브넷 섹션에서 서브넷에 다음 구성 매개변수를 지정합니다.

    1. 이름을 입력합니다. 예를 들면 l3-subnet입니다.

    2. 리전을 선택합니다.

    3. IP 주소 범위를 입력합니다. 이 범위는 서브넷의 기본 IPv4 범위입니다.

      RFC 1918 주소가 아닌 범위를 선택하는 경우 범위가 기존 구성과 충돌하지 않는지 확인합니다. 자세한 내용은 IPv4 서브넷 범위를 참조하세요.

    4. 서브넷의 보조 범위를 정의하려면 보조 IP 범위 만들기를 클릭합니다.

      RFC 1918 주소가 아닌 범위를 선택하는 경우 범위가 기존 구성과 충돌하지 않는지 확인합니다. 자세한 내용은 IPv4 서브넷 범위를 참조하세요.

    5. 비공개 Google 액세스: 서브넷을 만들 때 또는 나중에 서브넷을 수정하여 서브넷에 비공개 Google 액세스를 사용 설정할 수 있습니다.

    6. 흐름 로그: 서브넷을 만들 때 또는 나중에 서브넷을 수정하여 서브넷에 VPC 흐름 로그를 사용 설정할 수 있습니다.

    7. 완료를 클릭합니다.

  8. 방화벽 규칙 섹션의 IPv4 방화벽 규칙에서 사전 정의된 방화벽 규칙을 0개 이상 선택합니다.

    이 규칙은 인스턴스에 연결하는 일반적인 사용 사례를 다룹니다. 네트워크를 만든 후 자체 방화벽 규칙을 만들 수 있습니다. 사전 정의된 각 규칙 이름은 만들려는 VPC 네트워크의 이름으로 시작합니다.

  9. IPv4 방화벽 규칙에서 allow-custom이라는 사전 정의된 인그레스 방화벽 규칙을 수정하려면 수정을 클릭합니다.

    서브넷을 수정하고 IPv4 범위를 추가하며 프로토콜 및 포트를 지정할 수 있습니다.

    나중에 서브넷을 추가하는 경우에는 allow-custom 방화벽 규칙이 자동으로 업데이트되지 않습니다. 새 서브넷에 대한 방화벽 규칙이 필요한 경우 규칙을 추가하려면 방화벽 구성을 업데이트해야 합니다.

  10. 동적 라우팅 모드 섹션의 VPC 네트워크의 경우. 자세한 내용은 동적 라우팅 모드를 참조하세요. 나중에 동적 라우팅 모드를 변경할 수 있습니다.

  11. 만들기를 클릭합니다.

Netdevice 또는 DPDK 유형 기기를 지원하는 VPC 네트워크 만들기

gcloud

gcloud compute networks subnets create SUBNET_NAME \
    --project=PROJECT_ID \
    --range=SUBNET_RANGE \
    --network=NETWORK_NAME \
    --region=REGION \
    --secondary-range=SECONDARY_RANGE_NAME=<SECONDARY_RANGE_RANGE>

다음을 바꿉니다.

  • SUBNET_NAME: 서브넷의 이름입니다.
  • PROJECT_ID: 서브넷이 생성된 VPC 네트워크를 포함하는 프로젝트의 ID입니다.
  • SUBNET_RANGE: CIDR 표기법으로 표시된 새 서브넷의 기본 IPv4 주소 범위입니다.
  • NETWORK_NAME: 새 서브넷이 포함된 VPC 네트워크의 이름입니다.
  • REGION: 새 서브넷이 생성되는 Google Cloud 리전입니다.
  • SECONDARY_RANGE_NAME: 보조 범위의 이름입니다.
  • SECONDARY_IP_RANGE: CIDR 표기법으로 표시된 보조 IPv4 주소 범위입니다.

콘솔

  1. Google Cloud 콘솔에서 VPC 네트워크 페이지로 이동합니다.

  2. VPC 네트워크 만들기를 클릭합니다.

  3. 이름 필드에 네트워크의 이름을 입력합니다. 예를 들면 netdevice-vpc 또는 dpdk-vpc입니다.

  4. 최대 전송 단위(MTU) 드롭다운에서 적절한 MTU 값을 선택합니다.

  5. 서브넷 생성 모드 섹션에서 커스텀을 선택합니다.

  6. 새 서브넷 섹션에서 서브넷에 다음 구성 매개변수를 지정합니다.

    1. 이름을 입력합니다. 예를 들면 netdevice-subnet 또는 dpdk-vpc입니다.

    2. 리전을 선택합니다.

    3. IP 주소 범위를 입력합니다. 이 범위는 서브넷의 기본 IPv4 범위입니다.

      RFC 1918 주소가 아닌 범위를 선택하는 경우 범위가 기존 구성과 충돌하지 않는지 확인합니다. 자세한 내용은 IPv4 서브넷 범위를 참조하세요.

    4. 비공개 Google 액세스: 서브넷을 만들 때 또는 나중에 서브넷을 수정하여 서브넷에 비공개 Google 액세스를 사용할지 여부를 선택합니다.

    5. 흐름 로그: 서브넷을 만들 때 또는 나중에 서브넷을 수정하여 서브넷에 VPC 흐름 로그를 사용 설정할 수 있습니다.

    6. 완료를 클릭합니다.

  7. 방화벽 규칙 섹션의 IPv4 방화벽 규칙에서 사전 정의된 방화벽 규칙을 0개 이상 선택합니다.

    이 규칙은 인스턴스에 연결하는 일반적인 사용 사례를 다룹니다. 네트워크를 만든 후 자체 방화벽 규칙을 만들 수 있습니다. 사전 정의된 각 규칙 이름은 만들려는 VPC 네트워크의 이름으로 시작합니다.

  8. IPv4 방화벽 규칙에서 allow-custom이라는 사전 정의된 인그레스 방화벽 규칙을 수정하려면 수정을 클릭합니다.

    서브넷을 수정하고 IPv4 범위를 추가하며 프로토콜 및 포트를 지정할 수 있습니다.

    나중에 서브넷을 추가하는 경우에는 allow-custom 방화벽 규칙이 자동으로 업데이트되지 않습니다. 새 서브넷에 대한 방화벽 규칙이 필요한 경우 규칙을 추가하려면 방화벽 구성을 업데이트해야 합니다.

  9. 동적 라우팅 모드 섹션의 VPC 네트워크의 경우. 자세한 내용은 동적 라우팅 모드를 참조하세요. 나중에 동적 라우팅 모드를 변경할 수 있습니다.

  10. 만들기를 클릭합니다.

다중 네트워크 기능이 있는 GKE 클러스터 만들기

클러스터에 다중 네트워킹을 사용 설정하면 해당 클러스터의 API 서버에 필요한 CustomResourceDefinition(CRD)이 추가됩니다. 또한 다중 네트워크 객체를 조정하고 관리하는 네트워크 컨트롤러 관리자를 배포합니다. 클러스터 구성을 만든 후에는 수정할 수 없습니다.

다중 네트워크 기능이 있는 GKE Autopilot 클러스터 만들기

다중 네트워크 기능이 있는 GKE Autopilot 클러스터를 만들려면 다음을 수행합니다.

gcloud container clusters create-auto CLUSTER_NAME \
    --cluster-version=CLUSTER_VERSION \
    --enable-multi-networking

다음을 바꿉니다.

  • CLUSTER_NAME: 클러스터의 이름
  • CLUSTER_VERSION: 클러스터의 버전

--enable-multi-networking 플래그는 이 클러스터의 API 서버에서 다중 네트워킹 커스텀 리소스 정의(CRD)를 사용 설정하며 다중 네트워크 객체의 조정 및 수명 주기 관리를 포함하는 네트워크 컨트롤러 관리자를 배포합니다.

다중 네트워크 기능이 있는 GKE Standard 클러스터 만들기

gcloud

다중 네트워크 기능이 있는 GKE Standard 클러스터를 만들려면 다음을 수행합니다.

gcloud container clusters create CLUSTER_NAME \
    --cluster-version=CLUSTER_VERSION \
    --enable-dataplane-v2 \
    --enable-ip-alias \
    --enable-multi-networking

다음을 바꿉니다.

  • CLUSTER_NAME: 클러스터의 이름
  • CLUSTER_VERSION: 클러스터의 버전

이 명령어에는 다음 플래그가 포함됩니다.

  • --enable-multi-networking: 이 클러스터의 API 서버에서 다중 네트워킹 커스텀 리소스 정의(CRD)를 사용 설정하며 다중 네트워크 객체의 조정 및 수명 주기 관리를 포함하는 네트워크 컨트롤러 관리자를 배포합니다.
  • --enable-dataplane-v2: GKE Dataplane V2를 사용 설정합니다. 이 플래그는 다중 네트워크를 사용 설정하는 데 필요합니다.

Console

  1. Google Cloud 콘솔에서 Google Kubernetes Engine 페이지로 이동합니다.

    Google Kubernetes Engine으로 이동

  2. 만들기를 클릭합니다.

  3. Standard 클러스터를 구성합니다. 자세한 내용은 영역 클러스터 만들기 또는 리전 클러스터 만들기를 참조하세요. 클러스터를 만드는 동안 적절한 네트워크 및 노드 서브넷을 선택합니다.

  4. 탐색창의 클러스터에서 네트워킹을 클릭합니다.

  5. Dataplane V2 사용 설정 체크박스를 선택합니다.

  6. 다중 네트워크 사용 설정을 선택합니다.

  7. 만들기를 클릭합니다.

추가 VPC에 연결된 GKE Standard 노드 풀 만들기

포드 네트워크 만들기에서 만든 노드 네트워크(VPC 및 서브넷) 및 포드 네트워크(보조 범위)에 연결된 노드가 포함된 노드 풀을 만듭니다.

새 노드 풀을 만들고 GKE 클러스터의 추가 네트워크에 연결하려면 다음 안내를 따르세요.

gcloud

gcloud container node-pools create POOL_NAME \
  --cluster=CLUSTER_NAME \
  --additional-node-network network=NETWORK_NAME,subnetwork=SUBNET_NAME \
  --additional-pod-network subnetwork=subnet-dp,pod-ipv4-range=POD_IP_RANGE,max-pods-per-node=NUMBER_OF_PODS \
  --additional-node-network network=highperformance,subnetwork=subnet-highperf

다음을 바꿉니다.

  • POOL_NAME을 새 노드 풀 이름으로 바꿉니다.
  • CLUSTER_NAME을 노드 풀을 추가할 기존 클러스터의 이름으로 바꿉니다.
  • NETWORK_NAME을 노드 풀의 노드를 연결할 네트워크 이름으로 바꿉니다.
  • SUBNET_NAME을 노드에 사용할 네트워크 내 서브넷 이름으로 바꿉니다.
  • POD_IP_RANGE를 서브넷 내의 포드 IP 주소 범위로 바꿉니다.
  • NUMBER_OF_PODS의 노드당 최대 포드 수입니다.

이 명령어에는 다음 플래그가 포함됩니다.

  • --additional-node-network: 추가 네트워크 인터페이스, 네트워크, 서브네트워크의 세부정보를 정의합니다. 이는 노드 풀 노드에 연결할 수 있도록 노드 네트워크를 지정하는 데 사용됩니다. 다른 VPC에 연결하려면 이 매개변수를 지정합니다. 이 파라미터를 지정하지 않으면 클러스터와 연결된 기본 VPC가 사용됩니다. Layer 3 유형 네트워크의 경우 GKE 클러스터 내에 Network 객체로 노출되는 포드 네트워크를 정의하는 additional-pod-network 플래그를 지정합니다. --additional-node-network 플래그를 사용할 때는 네트워크와 서브네트워크를 필수 매개변수로 제공해야 합니다. 네트워크 값과 서브네트워크 값을 쉼표로 구분하고 공백을 사용하지 마세요.
  • --additional-pod-network: 포드 네트워크에 사용할 보조 범위의 세부정보를 지정합니다. Device 유형 네트워크를 사용하는 경우에는 이 파라미터가 필요하지 않습니다. 이 인수는 subnetwork, pod-ipv4-range, max-pods-per-node 키 값을 지정합니다. --additional-pod-network를 사용할 때는 pod-ipv4-rangemax-pods-per-node 값을 쉼표로 구분하고 공백 없이 제공해야 합니다.
    • subnetwork: 노드 네트워크를 포드 네트워크에 연결합니다. 서브네트워크는 선택사항입니다. 지정하지 않으면 추가 포드 네트워크가 클러스터 생성 중에 제공되는 기본 서브네트워크와 연결됩니다.
    • --max-pods-per-node: max-pods-per-node를 지정해야 하고 2의 거듭제곱이어야 합니다. 최솟값은 4입니다. max-pods-per-node는 노드 풀의 max-pods-per-node 값보다 크지 않아야 합니다.

Console

  1. Google Cloud 콘솔에서 Google Kubernetes Engine 페이지로 이동합니다.

    Google Kubernetes Engine으로 이동

  2. 탐색창에서 클러스터를 클릭합니다.

  3. Kubernetes 클러스터 섹션에서 만든 클러스터를 클릭합니다.

  4. 페이지 상단에서 노드 풀을 만들려면 노드 풀 추가를 클릭합니다.

  5. 노드 풀 세부정보 섹션에서 다음을 완료합니다.

    1. 노드 풀이름을 입력합니다.
    2. 노드 풀에서 만들 노드 수를 입력합니다.
  6. 탐색창의 노드 풀에서 노드를 클릭합니다.

    1. 이미지 유형 드롭다운 목록에서 containerd를 포함한 Container-Optimized OS(cos_containerd)를 선택합니다.

  7. VM을 만들 때는 해당 VM에 사용할 수 있는 리소스를 결정하는 머신 제품군에서 머신 유형을 선택합니다. 예를 들어 e2-standard-4와 같은 머신 유형에는 vCPU가 4개 포함되어 있으므로 총 4개의 VPC를 지원할 수 있습니다. 여러 머신 제품군에서 선택할 수 있으며 각 머신 제품군은 머신 시리즈와 각 시리즈 내의 사전 정의된 또는 커스텀 머신 유형으로 구성됩니다. 각 머신 유형은 서로 다르게 청구됩니다. 자세한 내용은 머신 유형 가격표를 참조하세요.

  8. 탐색 창에서 네트워킹을 선택합니다.

  9. 노드 네트워킹 섹션에서 노드당 최대 포드 수를 지정합니다. 노드 네트워크 섹션에는 클러스터를 만드는 데 사용되는 VPC 네트워크가 표시됩니다. 이전에 설정된 VPC 네트워크 및 기기 유형과 상관 관계가 있는 추가 노드 네트워크를 지정해야 합니다.

  10. 노드 풀 연결을 만듭니다.

    1. Layer 3 유형 기기의 경우:
      1. 노드 네트워크 섹션에서 노드 네트워크 추가를 클릭합니다.
      2. 네트워크 드롭다운 목록에서 레이어 3 유형 기기를 지원하는 VPC를 선택합니다.
      3. Layer 3 VPC용으로 만든 서브넷을 선택합니다.
      4. 별칭 포드 IP 주소 범위 섹션에서 포드 IP 주소 범위 추가를 클릭합니다.
      5. 보조 서브넷을 선택하고 노드당 최대 포드 수를 표시합니다.
      6. 완료를 선택합니다.
    2. NetdeviceDPDK 유형 기기의 경우:
      1. 노드 네트워크 섹션에서 노드 네트워크 추가를 클릭합니다.
      2. 네트워크 드롭다운 목록에서 Netdevice 또는 DPDK 유형 기기를 지원하는 VPC를 선택합니다.
      3. Netdevice 또는 DPDK VPC용으로 만든 서브넷을 선택합니다.
      4. 완료를 선택합니다.
  11. 만들기를 클릭합니다.

참고:

  • 여러 추가 포드 네트워크가 동일한 노드 네트워크 내에 지정된 경우 동일한 서브넷에 있어야 합니다.
  • 서브넷의 동일한 보조 범위를 여러 번 참조할 수 없습니다.

예시 다음 예시에서는 두 개의 추가 네트워크인 datapalane(Layer 3 유형 네트워크)과 highperformance(netdevice 유형 네트워크)을 노드에 연결하는 pool-multi-net이라는 노드 풀을 만듭니다. 이 예시에서는 이미 cluster-1이라는 GKE 클러스터를 만들었다고 가정합니다.

gcloud container node-pools create pool-multi-net \
  --project my-project \
  --cluster cluster-1 \
  --zone us-central1-c \
  --additional-node-network network=dataplane,subnetwork=subnet-dp \
  --additional-pod-network subnetwork=subnet-dp,pod-ipv4-range=sec-range-blue,max-pods-per-node=8 \
  --additional-node-network network=highperformance,subnetwork=subnet-highperf

노드 네트워크 및 포드 네트워크 인터페이스를 추가로 지정하려면 다음 예시와 같이 --additional-node-network--additional-pod-network 매개변수를 여러 번 정의합니다.

--additional-node-network network=dataplane,subnetwork=subnet-dp \
--additional-pod-network subnetwork=subnet-dp,pod-ipv4-range=sec-range-blue,max-pods-per-node=8 \
--additional-pod-network subnetwork=subnet-dp,pod-ipv4-range=sec-range-green,max-pods-per-node=8 \
--additional-node-network network=managementdataplane,subnetwork=subnet-mp \
--additional-pod-network subnetwork=subnet-mp,pod-ipv4-range=sec-range-red,max-pods-per-node=4

다음 예시와 같이 노드 풀의 기본 VPC 인터페이스에서 직접 포드 네트워크를 추가로 지정합니다.

--additional-pod-network subnetwork=subnet-def,pod-ipv4-range=sec-range-multinet,max-pods-per-node=8

포드 네트워크 만들기

Kubernetes 객체를 정의하고 VPC, 서브넷, 보조 범위와 같은 해당 Compute Engine 리소스에 연결하여 포드가 액세스할 포드 네트워크를 정의합니다.

포드 네트워크를 만들려면 클러스터에서 네트워크 CRD 객체를 정의해야 합니다.

Layer 3 VPC 네트워크 구성

YAML

Layer 3 VPC의 경우 NetworkGKENetworkParamSet 객체를 만듭니다.

  1. 다음 샘플 매니페스트를 blue-network.yaml로 저장합니다.

    apiVersion: networking.gke.io/v1
    kind: Network
    metadata:
      name: blue-network
    spec:
      type: "L3"
      parametersRef:
        group: networking.gke.io
        kind: GKENetworkParamSet
        name: "l3-vpc"
    

    매니페스트는 Layer 3 유형의 blue-network라는 Network 리소스를 정의합니다. Network 객체는 네트워크와 Compute Engine 리소스를 연결하는 l3-vpc이라는 GKENetworkParamSet 객체를 참조합니다.

  2. 클러스터에 매니페스트를 적용합니다.

    kubectl apply -f blue-network.yaml
    
  3. 다음 매니페스트를 dataplane.yaml로 저장합니다.

    apiVersion: networking.gke.io/v1
    kind: GKENetworkParamSet
    metadata:
      name: "l3-vpc"
    spec:
      vpc: "l3-vpc"
      vpcSubnet: "subnet-dp"
      podIPv4Ranges:
        rangeNames:
        - "sec-range-blue"
    

    이 매니페스트는 dataplane이라는 GKENetworkParamSet 객체를 지정하고 VPC 이름을 dataplane으로, 서브넷 이름을 subnet-dp로 설정하고 sec-range-blue라는 포드의 보조 IPv4 주소 범위를 설정합니다.

  4. 클러스터에 매니페스트를 적용합니다.

    kubectl apply -f dataplane.yaml
    

Console

  1. Google Cloud 콘솔에서 Google Kubernetes Engine 페이지로 이동합니다.

    Google Kubernetes Engine으로 이동

  2. 탐색창에서 Network Function Optimizer를 클릭합니다.

  3. 페이지 상단에서 만들기를 클릭하여 포드 네트워크를 만듭니다.

  4. 시작하기 전에 섹션에서 세부정보를 확인합니다.

  5. 다음: 포드 네트워크 위치를 클릭합니다.

  6. 포드 네트워크 위치 섹션의 클러스터 드롭다운에서 다중 네트워킹 및 GKE Dataplane V2가 사용 설정된 GKE 클러스터를 선택합니다.

  7. 다음: VPC 네트워크 참조를 클릭합니다.

  8. VPC 네트워크 참조 섹션의 VPC 네트워크 참조 드롭다운에서 Layer 3 다중 NIC 포드에 사용되는 VPC 네트워크를 선택합니다.

  9. 다음: 포드 네트워크 유형을 클릭합니다.

  10. 포드 네트워크 유형 섹션에서 L3을 선택하고 포드 네트워크 이름을 입력합니다.

  11. 다음: 포드 네트워크 보조 범위를 클릭합니다.

  12. 포드 네트워크 보조 범위 섹션에 보조 범위를 입력합니다.

  13. 다음: 포드 네트워크 경로를 클릭합니다.

  14. 포드 네트워크 경로 섹션에서 커스텀 경로를 정의하려면 경로 추가를 선택합니다.

  15. 포드 네트워크 만들기를 클릭합니다.

DPDK 네트워크 구성

YAML

DPDK VPC의 경우 NetworkGKENetworkParamSet 객체를 만듭니다.

  1. 다음 샘플 매니페스트를 dpdk-network.yaml로 저장합니다.

    apiVersion: networking.gke.io/v1
    kind: Network
    metadata:
      name: dpdk-network
    spec:
      type: "Device"
      parametersRef:
        group: networking.gke.io
        kind: GKENetworkParamSet
        name: "dpdk"
    

    이 매니페스트는 Device 유형의 dpdk-network라는 Network 리소스를 정의합니다. Network 리소스는 구성에 대해 dpdk라는 GKENetworkParamSet 객체를 참조합니다.

  2. 클러스터에 매니페스트를 적용합니다.

    kubectl apply -f dpdk-network.yaml
    
  3. GKENetworkParamSet 객체의 경우 다음 매니페스트를 dpdk.yaml로 저장합니다.

    apiVersion: networking.gke.io/v1
    kind: GKENetworkParamSet
    metadata:
      name: "dpdk"
    spec:
      vpc: "dpdk"
      vpcSubnet: "subnet-dpdk"
      deviceMode: "DPDK-VFIO"
    

    이 매니페스트는 dpdk라는 GKENetworkParamSet 객체를 정의하고 VPC 이름을 dpdk로, 서브넷 이름을 subnet-dpdk로, deviceMode 이름을 DPDK-VFIO로 설정합니다.

  4. 클러스터에 매니페스트를 적용합니다.

    kubectl apply -f dpdk-network.yaml
    

Console

  1. Google Cloud 콘솔에서 Google Kubernetes Engine 페이지로 이동합니다.

    Google Kubernetes Engine으로 이동

  2. 탐색창에서 Network Function Optimizer를 클릭합니다.

  3. 페이지 상단에서 만들기를 클릭하여 포드 네트워크를 만듭니다.

  4. 시작하기 전에 섹션에서 세부정보를 확인합니다.

  5. 다음: 포드 네트워크 위치를 클릭합니다.

  6. 포드 네트워크 위치 섹션의 클러스터 드롭다운에서 다중 네트워킹 및 GKE Dataplane V2가 사용 설정된 GKE 클러스터를 선택합니다.

  7. 다음: VPC 네트워크 참조를 클릭합니다.

  8. VPC 네트워크 참조 섹션의 VPC 네트워크 참조 드롭다운에서 dpdk 다중 NIC에 사용되는 VPC 네트워크를 선택합니다.

  9. 다음: 포드 네트워크 유형을 클릭합니다.

  10. 포드 네트워크 유형 섹션에서 DPDK-VFIO(기기)를 선택하고 포드 네트워크 이름을 입력합니다.

  11. 다음: 포드 네트워크 보조 범위를 클릭합니다. 포드 네트워크 보조 범위 섹션을 사용할 수 없습니다.

  12. 다음: 포드 네트워크 경로를 클릭합니다. 포드 네트워크 경로 섹션에서 경로 추가를 선택하여 커스텀 경로를 정의합니다.

  13. 포드 네트워크 만들기를 클릭합니다.

netdevice 네트워크 구성

netdevice VPC의 경우 NetworkGKENetworkParamSet 객체를 만듭니다.

YAML

  1. 다음 샘플 매니페스트를 netdevice-network.yaml로 저장합니다.

    apiVersion: networking.gke.io/v1
    kind: Network
    metadata:
        name: netdevice-network
    spec:
        type: "Device"
        parametersRef:
          group: networking.gke.io
          kind: GKENetworkParamSet
          name: "netdevice"
    

    이 매니페스트는 Device 유형의 netdevice-network라는 Network 리소스를 정의합니다. netdevice라는 GKENetworkParamSet 객체를 참조합니다.

  2. 클러스터에 매니페스트를 적용합니다.

    kubectl apply -f netdevice-network.yaml
    
  3. 다음 매니페스트를 netdevice.yaml로 저장합니다.

    apiVersion: networking.gke.io/v1
    kind: GKENetworkParamSet
    metadata:
      name: netdevice
    spec:
      vpc: netdevice
      vpcSubnet: subnet-netdevice
      deviceMode: NetDevice
    

    이 매니페스트는 netdevice라는 GKENetworkParamSet 리소스를 정의하고 VPC 이름을 netdevice으로, 서브넷 이름을 subnet-netdevice로 설정하고, 기기 모드를 NetDevice로 지정합니다.

  4. 클러스터에 매니페스트를 적용합니다.

    kubectl apply -f netdevice.yaml
    

Console

  1. Google Cloud 콘솔에서 Google Kubernetes Engine 페이지로 이동합니다.

    Google Kubernetes Engine으로 이동

  2. 탐색창에서 Network Function Optimizer를 클릭합니다.

  3. 페이지 상단에서 만들기를 클릭하여 포드 네트워크를 만듭니다.

  4. 시작하기 전에 섹션에서 세부정보를 확인합니다.

  5. 다음: 포드 네트워크 위치를 클릭합니다.

  6. 포드 네트워크 위치 섹션의 클러스터 드롭다운에서 다중 네트워킹 및 GKE Dataplane V2가 사용 설정된 GKE 클러스터를 선택합니다.

  7. 다음: VPC 네트워크 참조를 클릭합니다.

  8. VPC 네트워크 참조 섹션의 VPC 네트워크 참조 드롭다운에서 netdevice 다중 NIC에 사용되는 VPC 네트워크를 선택합니다.

  9. 다음: 포드 네트워크 유형을 클릭합니다.

  10. 포드 네트워크 유형 섹션에서 NetDevice(기기)를 선택하고 포드 네트워크 이름을 입력합니다.

  11. 다음: 포드 네트워크 보조 범위를 클릭합니다. 포드 네트워크 보조 범위 섹션을 사용할 수 없습니다.

  12. 다음: 포드 네트워크 경로를 클릭합니다. 포드 네트워크 경로 섹션에서 커스텀 경로를 정의하려면 경로 추가를 선택합니다.

  13. 포드 네트워크 만들기를 클릭합니다.

네트워크 경로 구성

네트워크 경로를 구성하면 특정 네트워크에 대한 커스텀 경로를 정의할 수 있으며, 이 경로는 포드에 설정되어 트래픽을 포드 내의 해당 인터페이스로 전달합니다.

YAML

  1. 다음 매니페스트를 red-network.yaml로 저장합니다.

    apiVersion: networking.gke.io/v1
    kind: Network
    metadata:
      name: red-network
    spec:
      type: "L3"
      parametersRef:
        group: networking.gke.io
        kind: GKENetworkParamSet
        name: "management"
      routes:
      -   to: "10.0.2.0/28"
    

    이 매니페스트는 Layer 3 유형 및 해당 네트워크 인터페이스를 통한 커스텀 경로 '10.0.2.0/28'의 red-network 네트워크 리소스를 정의합니다.

  2. 클러스터에 매니페스트를 적용합니다.

    kubectl apply -f red-network.yaml
    

Console

  1. Google Cloud 콘솔에서 Google Kubernetes Engine 페이지로 이동합니다.

    Google Kubernetes Engine으로 이동

  2. 만들기를 클릭합니다.

  3. 탐색창에서 Network Function Optimizer를 클릭합니다.

  4. Kubernetes 클러스터 섹션에서 만든 클러스터를 클릭합니다.

  5. 페이지 상단에서 만들기를 클릭하여 포드 네트워크를 만듭니다.

  6. 포드 네트워크 경로 섹션에서 커스텀 경로를 정의합니다.

  7. 포드 네트워크 만들기를 클릭합니다.

준비된 Network 참조

워크로드 구성에서 Kubernetes API를 사용하여 준비된 Network Kubernetes 객체를 참조합니다.

포드를 특정 네트워크에 연결

포드를 지정된 네트워크에 연결하려면 포드 구성 내부에 Network 객체의 이름을 주석으로 포함해야 합니다. 연결을 설정하려면 주석에 default Network와 선택한 추가 네트워크를 모두 포함해야 합니다.

  1. 다음 샘플 매니페스트를 sample-l3-pod.yaml로 저장합니다.

    apiVersion: v1
    kind: Pod
    metadata:
      name: sample-l3-pod
      annotations:
        networking.gke.io/default-interface: 'eth0'
        networking.gke.io/interfaces: |
          [
            {"interfaceName":"eth0","network":"default"},
            {"interfaceName":"eth1","network":"blue-network"}
          ]
    spec:
      containers:
      - name: sample-l3-pod
        image: busybox
        command: ["sleep", "10m"]
        ports:
        - containerPort: 80
      restartPolicy: Always
    

    이 매니페스트는 각각 defaultblue-network 네트워크와 연결된 eth0eth1의 두 네트워크 인터페이스를 포함하는 sample-l3-pod라는 포드를 생성합니다.

  2. 클러스터에 매니페스트를 적용합니다.

    kubectl apply -f sample-l3-pod.yaml
    

포드를 여러 네트워크에 연결

  1. 다음 샘플 매니페스트를 sample-l3-netdevice-pod.yaml로 저장합니다.

    apiVersion: v1
    kind: Pod
    metadata:
      name: sample-l3-netdevice-pod
      annotations:
        networking.gke.io/default-interface: 'eth0'
        networking.gke.io/interfaces: |
          [
            {"interfaceName":"eth0","network":"default"},
            {"interfaceName":"eth1","network":"blue-network"},
            {"interfaceName":"eth2","network":"netdevice-network"}
          ]
    spec:
      containers:
      - name: sample-l3-netdevice-pod
        image: busybox
        command: ["sleep", "10m"]
        ports:
        - containerPort: 80
      restartPolicy: Always
    

    이 매니페스트는 각각 default, blue-network, netdevice 네트워크와 연결된 eth0, eth1, eth2의 세 네트워크 인터페이스를 포함하는 sample-l3-netdevice-pod라는 포드를 생성합니다.

  2. 클러스터에 매니페스트를 적용합니다.

    kubectl apply -f sample-l3-netdevice-pod.yaml
    

템플릿의 주석 섹션에 있는 모든 ReplicaSet(배포 또는 DaemonSet)에서 동일한 주석을 사용할 수 있습니다.

다중 인터페이스가 있는 포드의 샘플 구성

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
      valid_lft forever preferred_lft forever
2: eth0@if9: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1460 qdisc noqueue state UP group default
    link/ether 2a:92:4a:e5:da:35 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 10.60.45.4/24 brd 10.60.45.255 scope global eth0
      valid_lft forever preferred_lft forever
10: eth1@if11: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1460 qdisc noqueue state UP group default qlen 1000
    link/ether ba:f0:4d:eb:e8:02 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 172.16.1.2/32 scope global eth1
      valid_lft forever preferred_lft forever

확인

  • --enable-dataplane-v2가 사용 설정된 경우에만 --enable-multi-networking으로 클러스터를 만듭니다.
  • 클러스터 및 노드 풀을 만들 때 클러스터의 모든 노드 풀이 Container-Optimized OS 이미지를 실행하는지 확인합니다.
  • 클러스터에 다중 네트워킹이 사용 설정된 경우에만 --additional-node-network 또는 --additional-pod-network로 노드 풀이 생성되었는지 확인합니다.
  • 동일한 서브넷이 노드 풀의 --additional-node-network 인수로 두 번 지정되지 않았는지 확인합니다.
  • 동일한 보조 범위가 노드 풀의 --additional-pod-network 인수로 지정되지 않았는지 확인합니다.
  • 허용되는 최대 노드 수, 포드 수, IP 주소 수를 고려하여 네트워크 객체에 지정된 확장 제한을 따르세요.
  • 특정 서브넷과 보조 범위를 참조하는 GKENetworkParamSet 객체가 하나만 있는지 확인합니다.
  • 각 네트워크 객체가 서로 다른 GKENetworkParamSet 객체를 참조하는지 확인합니다.
  • Device 네트워크를 사용하는 특정 서브넷으로 생성된 네트워크 객체가 보조 범위가 있는 다른 네트워크와 동일한 노드에서 사용되지 않는지 확인합니다. 런타임에서만 이를 확인할 수 있습니다.
  • 노드 풀에 할당된 여러 보조 범위에 IP 주소가 겹치지 않는지 확인합니다.

GKE에서 멀티 네트워킹 매개변수 문제 해결

클러스터 및 노드 풀을 만들 때 Google Cloud는 유효한 다중 네트워킹 매개변수만 허용되는지 확인하기 위해 특정 검사를 구현합니다. 이렇게 하면 클러스터에 네트워크가 올바르게 설정됩니다.

다중 네트워크 워크로드를 만들지 못한 경우 포드 상태와 이벤트를 확인하여 자세한 정보를 확인할 수 있습니다.

kubectl describe pods samplepod

출력은 다음과 비슷합니다.

Name:         samplepod
Namespace:    default
Status:       Running
IP:           192.168.6.130
IPs:
  IP:  192.168.6.130
...
Events:
  Type     Reason                  Age   From               Message
  ----     ------                  ----  ----               -------
  Normal   NotTriggerScaleUp  9s               cluster-autoscaler  pod didn't trigger scale-up:
  Warning  FailedScheduling   8s (x2 over 9s)  default-scheduler   0/1 nodes are available: 1 Insufficient networking.gke.io.networks/my-net.IP. preemption: 0/1 nodes are available: 1 No preemption victims found for incoming pod

다음은 포드 생성 실패의 일반적인 이유입니다.

  • 다중 네트워킹 리소스 요구사항이 충족되지 않아 포드를 예약할 수 없습니다.
  • 지정된 네트워크를 식별할 수 없습니다.

Kubernetes 네트워크 생성 문제 해결

네트워크를 성공적으로 만들면 구성된 네트워크에 액세스해야 하는 노드에 네트워크 상태 주석이 추가됩니다.

주석을 관찰하려면 다음 명령어를 실행합니다.

kubectl describe node NODE_NAME

NODE_NAME을 허브 이름으로 바꿉니다.

출력은 다음과 비슷합니다.

networking.gke.io/network-status: [{"name":"default"},{"name":"dp-network"}]

출력에 노드에서 사용할 수 있는 각 네트워크가 나열됩니다. 노드에 예상 네트워크 상태가 표시되지 않으면 다음을 수행합니다.

노드가 네트워크에 액세스할 수 있는지 확인

네트워크가 노드의 네트워크 상태 주석에 표시되지 않으면 다음을 수행합니다.

  1. 노드가 다중 네트워킹에 대해 구성된 풀의 일부인지 확인합니다.
  2. 노드 인터페이스에 구성 중인 네트워크에 대한 인터페이스가 있는지 확인합니다.
  3. 노드의 네트워크 상태가 누락되고 네트워크 인터페이스가 하나만 있는 경우에도 다중 네트워킹이 사용 설정된 노드 풀을 만들어야 합니다.
  4. 구성 중인 네트워크의 인터페이스가 노드에 포함되어 있지만 네트워크 상태 주석에 표시되지 않으면 NetworkGKENetworkParamSet(GNP) 리소스를 확인합니다.

NetworkGKENetworkParamSet 리소스 확인

NetworkGKENetworkParamSet(GNP) 리소스 상태에는 구성 오류를 보고하는 조건 필드가 포함됩니다. GNP는 다른 리소스의 유효성에 의존하지 않으므로 먼저 GNP를 확인하는 것이 좋습니다.

조건 필드를 검사하려면 다음 명령어를 실행합니다.

kubectl get gkenetworkparamsets GNP_NAME -o yaml

GNP_NAMEGKENetworkParamSet 리소스 이름으로 바꿉니다.

Ready 조건이 true이면 구성이 유효하고 출력은 다음과 유사합니다.

apiVersion: networking.gke.io/v1
kind: GKENetworkParamSet
...
spec:
  podIPv4Ranges:
    rangeNames:
    -   sec-range-blue
  vpc: dataplane
  vpcSubnet: subnet-dp
status:
  conditions:
  -   lastTransitionTime: "2023-06-26T17:38:04Z"
    message: ""
    reason: GNPReady
    status: "True"
    type: Ready
  networkName: dp-network
  podCIDRs:
    cidrBlocks:
    -   172.16.1.0/24

Ready 조건이 false이면 출력에 이유가 표시되고 다음과 유사합니다.

apiVersion: networking.gke.io/v1
kind: GKENetworkParamSet
...
spec:
  podIPv4Ranges:
    rangeNames:
    -   sec-range-blue
  vpc: dataplane
  vpcSubnet: subnet-nonexist
status:
  conditions:
  -   lastTransitionTime: "2023-06-26T17:37:57Z"
    message: 'subnet: subnet-nonexist not found in VPC: dataplane'
    reason: SubnetNotFound
    status: "False"
    type: Ready
  networkName: ""

유사한 메시지가 표시되면 GNP가 올바르게 구성되었는지 확인합니다. 이미 구성되어 있다면 Google Cloud 네트워크 구성이 올바른지 확인합니다. Google Cloud 네트워크 구성을 업데이트한 후 GNP 리소스를 다시 만들어 재동기화를 수동으로 트리거해야 할 수 있습니다. 이는 Google Cloud API의 무한 폴링을 방지하기 위한 것입니다.

GNP가 준비되면 Network 리소스를 확인합니다.

kubectl get networks NETWORK_NAME -o yaml

NETWORK_NAMENetwork 리소스 이름으로 바꿉니다.

유효한 구성의 출력은 다음과 유사합니다.

apiVersion: networking.gke.io/v1
kind: Network
...
spec:
  parametersRef:
    group: networking.gke.io
    kind: GKENetworkParamSet
    name: dp-gnp
  type: L3
status:
  conditions:
  -   lastTransitionTime: "2023-06-07T19:31:42Z"
    message: ""
    reason: GNPParamsReady
    status: "True"
    type: ParamsReady
  -   lastTransitionTime: "2023-06-07T19:31:51Z"
    message: ""
    reason: NetworkReady
    status: "True"
    type: Ready
  • reason: NetworkReady는 네트워크 리소스가 올바르게 구성되었음을 나타냅니다. reason: NetworkReady는 네트워크 리소스가 특정 노드에서 사용 가능하거나 사용 중이라는 의미는 아닙니다.
  • 구성 오류 또는 오류가 있는 경우 조건의 reason 필드에서 문제의 정확한 원인을 지정합니다. 이 경우 구성을 적절하게 조정합니다.
  • GKE는 parametersRef 필드가 클러스터에 있는 GKENetworkParamSet 리소스로 설정된 경우 ParamsReady 필드를 채웁니다. GKENetworkParamSet 유형 parametersRef를 지정했지만 조건이 표시되지 않으면 이름, 종류, 그룹이 클러스터 내에 있는 GNP 리소스와 일치하는지 확인합니다.

다음 단계