Menyiapkan kemampuan observasi GKE Dataplane V2


Halaman ini menunjukkan cara mengonfigurasi cluster Google Kubernetes Engine (GKE) dengan kemampuan observasi GKE Dataplane V2, mulai dari GKE versi 1.26.4-gke.500 atau yang lebih baru atau 1.27.1-gke.400 atau yang lebih baru. Untuk mengetahui informasi selengkapnya tentang manfaat dan persyaratan kemampuan observasi GKE Dataplane V2, lihat Tentang kemampuan observasi GKE Dataplane V2.

Sebelum memulai

Sebelum memulai, pastikan Anda telah menjalankan tugas berikut:

  • Aktifkan Google Kubernetes Engine API.
  • Aktifkan Google Kubernetes Engine API
  • Jika ingin menggunakan Google Cloud CLI untuk tugas ini, instal lalu initialize gcloud CLI. Jika sebelumnya Anda telah menginstal gcloud CLI, dapatkan versi terbaru dengan menjalankan gcloud components update.

Mengonfigurasi metrik GKE Dataplane V2

Untuk mengumpulkan metrik, Anda harus mengonfigurasi metrik GKE Dataplane V2. Anda dapat mengonfigurasi metrik GKE Dataplane V2 saat membuat cluster atau mengupdate cluster yang berjalan dengan GKE Dataplane V2. Anda dapat mengaktifkan atau menonaktifkan metrik GKE Dataplane V2 menggunakan gcloud CLI.

Sebaiknya aktifkan metrik GKE Dataplane V2 dan Google Cloud Managed Service for Prometheus di cluster GKE Anda. Setelah keduanya diaktifkan, metrik GKE Dataplane V2 akan dikirim ke Google Cloud Managed Service for Prometheus.

Membuat cluster Autopilot dengan metrik GKE Dataplane V2 yang diaktifkan

Saat Anda membuat cluster GKE Autopilot baru, GKE mengaktifkan metrik GKE Dataplane V2 secara default di cluster tersebut tanpa memerlukan flag tertentu.

Untuk menggunakan metrik GKE Dataplane V2 cluster GKE Autopilot dengan Google Cloud Managed Service for Prometheus, konfigurasikan resource PodMonitoring untuk menyalin metrik dan mengirimkannya ke Google Cloud Managed Service for Prometheus

Terapkan manifes ClusterPodMonitoring:

  kubectl apply -f ClusterPodMonitoring.yaml

Membuat cluster Standard dengan metrik GKE Dataplane V2 yang diaktifkan

Untuk mengaktifkan metrik GKE Dataplane V2, buat cluster dengan flag --enable-dataplane-v2-metrics:

gcloud container clusters create CLUSTER_NAME \
    --enable-dataplane-v2 \
    --enable-managed-prometheus \
    --enable-dataplane-v2-metrics

Ganti kode berikut:

  • CLUSTER_NAME: nama cluster Anda.

Flag --enable-managed-prometheus menginstruksikan GKE untuk menggunakan metrik dengan Google Cloud Managed Service for Prometheus.

Mengaktifkan metrik GKE Dataplane V2 pada cluster yang ada

Untuk mengaktifkan metrik GKE Dataplane V2 pada cluster yang ada, jalankan perintah berikut:

gcloud container clusters update CLUSTER_NAME \
    --enable-dataplane-v2-metrics

Ganti CLUSTER_NAME dengan nama cluster Anda.

Menonaktifkan metrik GKE Dataplane V2

Untuk menonaktifkan metrik GKE Dataplane V2:

gcloud container clusters update CLUSTER_NAME \
    --disable-dataplane-v2-metrics

Ganti CLUSTER_NAME dengan nama cluster Anda.

Mengonfigurasi alat kemampuan observasi GKE Dataplane V2

Anda dapat menggunakan endpoint pribadi untuk mengakses alat pemecahan masalah kemampuan observasi GKE Dataplane V2. Untuk mengaktifkan alat kemampuan observasi GKE Dataplane V2, Anda harus memiliki cluster yang dikonfigurasi dengan GKE Dataplane V2. Anda dapat mengaktifkan alat kemampuan observasi GKE Dataplane V2 di cluster baru atau cluster yang sudah ada.

Membuat cluster Autopilot dengan kemampuan observasi yang diaktifkan

Untuk membuat cluster GKE Autopilot dengan kemampuan observasi GKE Dataplane V2 yang diaktifkan:

gcloud container clusters create-auto CLUSTER_NAME \
    --enable-dataplane-v2-flow-observability

Ganti CLUSTER_NAME dengan nama cluster Anda.

Membuat cluster Standard dengan kemampuan observasi yang diaktifkan

Untuk membuat cluster GKE Standard dengan kemampuan observasi GKE Dataplane V2 yang diaktifkan:

gcloud container clusters create CLUSTER_NAME \
    --enable-dataplane-v2 \
    --enable-dataplane-v2-flow-observability

Ganti CLUSTER_NAME dengan nama cluster Anda.

Mengaktifkan alat kemampuan observasi GKE Dataplane V2 di cluster yang ada

Untuk mengaktifkan kemampuan observasi GKE Dataplane V2 pada cluster yang ada, jalankan perintah berikut:

gcloud container clusters update CLUSTER_NAME \
    --enable-dataplane-v2-flow-observability

Ganti CLUSTER_NAME dengan nama cluster Anda.

Menonaktifkan alat kemampuan observasi GKE Dataplane V2

Untuk menonaktifkan alat kemampuan observasi GKE Dataplane V2 pada cluster yang ada, jalankan perintah berikut:

gcloud container clusters update CLUSTER_NAME \
    --disable-dataplane-v2-flow-observability

Ganti CLUSTER_NAME dengan nama cluster Anda.

Cara mengonfigurasi distribusi biner Hubble CLI

Selama Pratinjau, Anda dapat men-deploy Hubble CLI sebagai alat CLI khusus untuk memeriksa dan memecahkan masalah workload Kubernetes yang berjalan di cluster GKE Dataplane V2.

Untuk menyiapkan distribusi biner Hubble CLI, pastikan Anda memiliki akses pribadi ke cluster GKE, misalnya, dari mesin virtual (VM) dalam VPC yang sama.

Gunakan alat CLI Hubble pada cluster setelah Anda mengaktifkan fitur kemampuan observasi GKE Dataplane V2.

Autopilot GKE

GKE 1.28 atau yang lebih baru

  1. Tentukan alias untuk biner hubble-cli:

    alias hubble="kubectl exec -it -n gke-managed-dpv2-observability deployment/hubble-relay -c hubble-cli -- hubble"
    
  2. Untuk memeriksa status Hubble, dengan fitur kemampuan observasi GKE Dataplane V2 yang diaktifkan, gunakan Hubble CLI di semua cluster Standard:

    hubble status
    
  3. Untuk melihat traffic saat ini, gunakan Hubble CLI sebagai berikut:

    hubble observe
    

GKE 1.27 atau yang lebih lama

Di cluster GKE, Anda tidak dapat menggunakan Hubble CLI dari namespace kube-system karena Anda tidak akan memiliki akses ke sana. Untuk menjalankan perintah image dan CLI Hubble, Anda harus mendapatkan sertifikat, mendownload biner Hubble CLI open source, dan menjalankan perintah dari biner yang di-deploy oleh Docker. Sebaiknya jalankan perintah CLI Hubble dari VM yang dapat secara pribadi menjangkau Hubble Relay Service cluster dan telah menginstal gcloud CLI, kubectl, dan Docker.

Untuk mengonfigurasi distribusi biner CLI:

  1. Download sertifikat yang diperlukan:

    mkdir -p relay-certs
    kubectl -n kube-system get secret hubble-relay-client-certs \
        -o "jsonpath={.data['ca\.crt']}" | base64 -d >relay-certs/ca.crt
    kubectl -n kube-system get secret hubble-relay-client-certs \
        -o "jsonpath={.data['tls\.crt']}" | base64 -d >relay-certs/client.crt
    kubectl -n kube-system get secret hubble-relay-client-certs \
        -o "jsonpath={.data['tls\.key']}" | base64 -d >relay-certs/client.key
    
  2. Download image Hubble CLI:

    docker pull gcr.io/gke-release/cilium/hubble-cli@sha256:53e58ae42b2299949e8c2a8fedda0c142b72b7111e6f316d88788d4227ed4733
    
  3. Temukan alamat IP Hubble Relay Service:

    export RELAY_SERVICE_IP=`kubectl -n kube-system get svc hubble-ilb-svc \
        -o "jsonpath={.status.loadBalancer.ingress[0].ip}"`
    
  4. Untuk mencetak status Hubble Server saat ini, jalankan alat Hubble CLI dan perintah hubble status di container Docker:

    docker run -it --rm \
        -v $PWD/relay-certs:/relay-certs:ro \
        -e HUBBLE_SERVER=tls://${RELAY_SERVICE_IP}:443 \
        -e HUBBLE_TLS_CLIENT_CERT_FILE=/relay-certs/client.crt \
        -e HUBBLE_TLS_CLIENT_KEY_FILE=/relay-certs/client.key \
        -e HUBBLE_TLS_CA_CERT_FILES=/relay-certs/ca.crt \
        -e HUBBLE_TLS_SERVER_NAME=relay.kube-system.svc.cluster.local \
        gcr.io/gke-release/cilium/hubble-cli@sha256:53e58ae42b2299949e8c2a8fedda0c142b72b7111e6f316d88788d4227ed4733 \
        status
    
  5. Untuk mencetak metadata traffic saat ini, jalankan alat Hubble CLI dan perintah hubble observe di container Docker:

    docker run -it --rm \
        -v $PWD/relay-certs:/relay-certs:ro \
        -e HUBBLE_SERVER=tls://${RELAY_SERVICE_IP}:443 \
        -e HUBBLE_TLS_CLIENT_CERT_FILE=/relay-certs/client.crt \
        -e HUBBLE_TLS_CLIENT_KEY_FILE=/relay-certs/client.key \
        -e HUBBLE_TLS_CA_CERT_FILES=/relay-certs/ca.crt \
        -e HUBBLE_TLS_SERVER_NAME=relay.kube-system.svc.cluster.local \
        gcr.io/gke-release/cilium/hubble-cli@sha256:53e58ae42b2299949e8c2a8fedda0c142b72b7111e6f316d88788d4227ed4733 \
        observe
    

GKE Standard

GKE 1.28 atau yang lebih baru

  1. Tentukan alias untuk biner hubble-cli:

    alias hubble="kubectl exec -it -n gke-managed-dpv2-observability deployment/hubble-relay -c hubble-cli -- hubble"
    
  2. Untuk memeriksa status Hubble, dengan fitur kemampuan observasi GKE Dataplane V2 yang diaktifkan, gunakan Hubble CLI di semua cluster Standard:

    hubble status
    
  3. Untuk melihat traffic saat ini, gunakan Hubble CLI sebagai berikut:

    hubble observe
    

GKE 1.27 atau yang lebih lama

  1. Tentukan alias untuk biner hubble-cli:

    alias hubble="kubectl exec -it -n kube-system deployment/hubble-relay -c hubble-cli -- hubble"
    
  2. Untuk memeriksa status Hubble, dengan fitur kemampuan observasi GKE Dataplane V2 yang diaktifkan, gunakan Hubble CLI di semua cluster Standard:

    hubble status
    
  3. Untuk melihat traffic saat ini, gunakan Hubble CLI sebagai berikut:

    hubble observe
    

Cara men-deploy distribusi biner UI Hubble

Setelah kemampuan observasi GKE Dataplane V2 diaktifkan, Anda dapat men-deploy UI Hubble open source.

Autopilot GKE

GKE 1.28 atau yang lebih baru

  1. Aktifkan kemampuan observasi di cluster Autopilot:

    1. Buat cluster Autopilot dengan kemampuan observasi yang diaktifkan:

      gcloud container clusters create-auto hubble-rc-auto \
          --location COMPUTE_LOCATION \
          --cluster-version VERSION \
          --enable-dataplane-v2-flow-observability
      

      Ganti kode berikut:

    2. Atau, aktifkan kemampuan observasi di cluster yang ada:

      gcloud container clusters update CLUSTER_NAME \
          --location COMPUTE_LOCATION \
          --enable-dataplane-v2-flow-observability
      

      Ganti kode berikut:

  2. Konfigurasi kubectl untuk terhubung ke cluster:

    gcloud container clusters get-credentials CLUSTER_NAME \
        --location COMPUTE_LOCATION
    

    Ganti

  3. Deploy UI Hubble:

  1. Terapkan manifes hubble-ui-auto.yaml:

    kubectl apply -f hubble-ui-auto.yaml
    
  2. Mengekspos Layanan dengan penerusan port:

    kubectl -n gke-managed-dpv2-observability port-forward service/hubble-ui 16100:80 --address='0.0.0.0'
    
  3. Akses UI Hubble di browser web Anda:

    http://localhost:16100/

GKE 1.27 atau yang lebih lama

  1. Aktifkan kemampuan observasi di cluster Autopilot:

    1. Buat cluster Autopilot dengan kemampuan observasi yang diaktifkan:

      gcloud container clusters create-auto hubble-rc-auto \
          --location COMPUTE_LOCATION \
          --cluster-version VERSION \
          --enable-dataplane-v2-flow-observability
      

      Ganti kode berikut:

    2. Atau, aktifkan kemampuan observasi di cluster yang ada:

      gcloud container clusters update CLUSTER_NAME \
          --location COMPUTE_LOCATION \
          --enable-dataplane-v2-flow-observability
      

      Ganti kode berikut:

  2. Konfigurasi kubectl untuk terhubung ke cluster:

    gcloud container clusters get-credentials CLUSTER_NAME \
        --location COMPUTE_LOCATION
    

    Ganti kode berikut:

  3. Buat namespace baru untuk deployment UI Hubble (karena tidak dapat berada di namespace kube-system):

    kubectl create namespace hubble-ui
    
  4. Salin sertifikat TLS klien dari namespace kube-system:

    kubectl -n kube-system get secrets hubble-relay-client-certs -oyaml  | \
        yq eval 'del(.metadata.namespace, .metadata.annotations, .metadata.uid, .metadata.creationTimestamp, .metadata.resourceVersion)' | \
        kubectl -n hubble-ui create -f -
    
    kubectl -n kube-system get secrets hubble-relay-client-certs -oyaml  | \
        yq eval 'del(.metadata.namespace, .metadata.annotations, .metadata.uid, .metadata.creationTimestamp, .metadata.resourceVersion)' | \
        kubectl -n hubble-ui create -f -
    
  5. Deploy UI Hubble:

  1. Terapkan manifes hubble-ui-auto.yaml:

    kubectl apply -f hubble-ui-auto.yaml
    
  2. Ekspos layanan UI Hubble dengan penerusan port:

    kubectl -n hubble-ui port-forward service/hubble-ui 16100:80 --address='0.0.0.0'
    
  3. Akses UI Hubble di browser web Anda:

    http://localhost:16100/

GKE Standard

GKE 1.28 atau yang lebih baru

  1. Aktifkan kemampuan observasi GKE Dataplane V2 di cluster Standard Anda:

    1. Buat cluster Standard dengan kemampuan observasi GKE Dataplane V2 yang diaktifkan:

      gcloud container clusters create CLUSTER_NAME \
          --enable-dataplane-v2 \
          --cluster-version VERSION \
          --enable-dataplane-v2-flow-observability
      

      Ganti kode berikut:

      • CLUSTER_NAME: nama cluster Anda.
      • VERSION: versi cluster Anda.
    2. Atau, aktifkan kemampuan observasi GKE Dataplane V2 dalam cluster yang sudah ada:

      gcloud container clusters update CLUSTER_NAME \
          --location=COMPUTE_LOCATION \
          --enable-dataplane-v2-flow-observability
      

      Ganti kode berikut:

  2. Konfigurasi kubectl untuk terhubung ke cluster:

    gcloud container clusters get-credentials CLUSTER_NAME \
        --location COMPUTE_LOCATION
    

    Ganti

  3. Deploy UI Hubble:

  1. Terapkan manifes hubble-ui-std.yaml:

    kubectl apply -f hubble-ui-std.yaml
    
  2. Mengekspos Layanan dengan penerusan port:

    kubectl -n gke-managed-dpv2-observability port-forward service/hubble-ui 16100:80 --address='0.0.0.0'
    
  3. Akses UI Hubble di browser web Anda:

    http://localhost:16100/

GKE 1.27 atau yang lebih lama

  1. Aktifkan kemampuan observasi GKE Dataplane V2 di cluster Standard Anda:

    1. Buat cluster Standard dengan kemampuan observasi GKE Dataplane V2 yang diaktifkan:

      gcloud container clusters create CLUSTER_NAME \
          --enable-dataplane-v2 \
          --cluster-version VERSION \
          --enable-dataplane-v2-flow-observability
      

      Ganti kode berikut:

      • CLUSTER_NAME: nama cluster Anda.
      • VERSION: versi cluster Anda.
    2. Atau, aktifkan kemampuan observasi GKE Dataplane V2 dalam cluster yang sudah ada:

      gcloud container clusters update CLUSTER_NAME \
          --location=COMPUTE_LOCATION \
          --enable-dataplane-v2-flow-observability
      

      Ganti kode berikut:

  2. Konfigurasi kubectl untuk terhubung ke cluster:

    gcloud container clusters get-credentials CLUSTER_NAME \
        --zone COMPUTE_LOCATION
    

    Ganti

  3. Deploy UI Hubble:

  1. Terapkan manifes hubble-ui-std.yaml:

    kubectl apply -f hubble-ui-std.yaml
    
  2. Ekspos layanan dengan penerusan port:

    kubectl -n kube-system port-forward service/hubble-ui 16100:80 --address='0.0.0.0'
    
  3. Akses UI Hubble di browser web Anda:

    http://localhost:16100/

Langkah selanjutnya