Dataplan V2 사용


이 페이지에서는 Google Kubernetes Engine(GKE)에 Dataplane V2를 사용 설정하는 방법을 설명합니다.

Dataplane V2로 GKE 클러스터 만들기

GKE 버전 1.20.6-gke.700 이상으로 새 클러스터를 만들 때 gcloud 도구나 Kubernetes Engine API를 사용하여 Dataplane V2를 사용 설정할 수 있습니다. GKE 버전 1.17.9 이상을 사용하는 새 클러스터를 만들 때 미리보기에서 Dataplane V2를 사용 설정할 수도 있습니다.

콘솔

Dataplans V2로 새 클러스터를 만들려면 다음 작업을 수행하세요.

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

    Google Kubernetes Engine으로 이동

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

  3. 구성을 클릭하여 표준 클러스터를 구성합니다.

  4. 네트워킹 섹션에서 Dataplane V2 사용 설정 체크박스를 선택합니다. 네트워크 정책 적용이 Dataplane V2에 내장되어 있으므로 Dataplane V2 사용 설정을 선택하면 Kubernetes 네트워크 정책 사용 설정 옵션이 사용 중지됩니다.

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

gcloud

Dataplane V2를 사용하여 새 클러스터를 만들려면 다음 명령어를 사용하세요.

gcloud container clusters create CLUSTER_NAME \
    --enable-dataplane-v2 \
    --enable-ip-alias \
    --release-channel CHANNEL_NAME \
    --zone CLUSTER_LOCATION
 

다음을 바꿉니다.

  • CLUSTER_NAME: 새 클러스터의 이름입니다.
  • CHANNEL_NAME: GKE 버전 1.20.6-gke.700 이상을 포함하는 출시 채널입니다. 출시 채널을 사용하지 않으려면 버전 1.20.6-gke.700 이상을 지정하여 --release-channel 대신 --version 플래그를 사용할 수도 있습니다.
  • CLUSTER_LOCATION: 클러스터의 위치입니다. 이러한 인수는 상호 배타적입니다. 자세한 내용은 클러스터 유형을 참조하세요.

API

Dataplan V2로 새 클러스터를 만들려면 클러스터 create 요청networkConfig 객체에서 datapathProvider 필드를 지정합니다.

다음 JSON 스니펫은 Dataplane V2를 사용 설정하는 데 필요한 구성을 보여줍니다.

"cluster":{
   "initialClusterVersion":"VERSION",
   "ipAllocationPolicy":{
      "useIpAliases":true
   },
   "networkConfig":{
      "datapathProvider":"ADVANCED_DATAPATH"
   },
   "releaseChannel":{
      "channel":"CHANNEL_NAME"
   }
}

다음을 바꿉니다.

  • VERSION: 클러스터 버전이며 GKE 1.20.6-gke.700 이상이어야 합니다.
  • CHANNEL_NAME: GKE 버전 1.20.6-gke.700 이상을 포함하는 출시 채널입니다.

문제 해결하기

  1. 시스템 pod 상태를 확인합니다.

    kubectl -n kube-system get pods -l k8s-app=cilium -o wide
    

    Dataplan V2가 실행 중이면 프리픽스가 anetd-인 Pod가 실행됩니다. anetd는 Dataplane V2의 네트워킹 컨트롤러입니다.

  2. 서비스 또는 네트워크 정책 적용과 관련된 문제라면 anetd pod 로그를 확인합니다.

    kubectl -n kube-system get events --field-selector involvedObject.name=anetd
    kubectl -n kube-system logs -l k8s-app=cilium
    
  3. Pod 만들기가 실패하면 kubelet 로그에서 단서를 찾아보세요. 이렇게 하려면 GKE에서 ssh를 사용하면 됩니다.

    gcloud compute ssh node -- sudo journalctl -u kubelet
    

    node을 VM 인스턴스의 이름으로 바꿉니다.

다음 단계