Memigrasikan cluster VPC native ke GKE Dataplane V2

Gunakan dokumen ini untuk memigrasikan cluster VPC-native Google Kubernetes Engine (GKE) yang ada dari Dataplane V1 ke GKE Dataplane V2, memantau migrasi, dan melakukan roll back jika diperlukan.

Dokumen ini ditujukan untuk admin dan operator Platform serta spesialis Jaringan yang mengelola konfigurasi jaringan untuk cluster GKE mereka.

Sebelum memulai, pelajari apa yang terjadi selama setiap fase migrasi dan cara untuk merencanakan gangguan workload di Tentang migrasi ke GKE Dataplane V2.

Sebelum memulai

Sebelum memulai migrasi, pastikan cluster Anda memenuhi persyaratan kelayakan dan pertimbangkan dampaknya terhadap workload Anda.

Pastikan cluster Anda memenuhi persyaratan berikut:

  • Cluster adalah cluster VPC-native.
  • Cluster menjalankan versi 1.35.3-gke.1155000 atau yang lebih baru.
  • Node pool menjalankan versi 1.35.1-gke.1516000 atau yang lebih baru.
  • Jika Anda menggunakan Cloud Service Mesh atau Istio open source, versi Istio Anda adalah 1.23 atau yang lebih baru.

Menyiapkan cluster

Selesaikan tugas berikut sebelum memulai migrasi:

  • Penghapusan NetworkPolicy: hapus kebijakan jaringan yang ada. Jika GKE tiba-tiba menerapkan kebijakan jaringan saat membuat ulang node, Anda mungkin mengalami gangguan jaringan yang tidak diinginkan.
  • Kebijakan jaringan Calico: jika Anda menggunakan cluster GKE Standar dengan kebijakan jaringan (Calico) yang diaktifkan, nonaktifkan penerapan kebijakan jaringan. Anda tidak dapat memigrasikan cluster ini secara langsung.
  • Rekomendasi Active Assist: periksa Active Assist atau halaman detail cluster untuk mengetahui rekomendasi yang mungkin bertentangan dengan migrasi.
  • Kapasitas alamat IP: pastikan rentang alamat IP Pod cluster Anda memiliki kapasitas yang cukup untuk strategi upgrade node pool Anda. Untuk mengetahui informasi selengkapnya, lihat Insight penggunaan alamat IP GKE.
    • Fitur jaringan: aktifkan fitur jaringan seperti NodeLocal DNSCache atau visibilitas intranode sebelum Anda memulai migrasi atau setelah migrasi selesai. Anda tidak dapat mengaktifkannya selama migrasi.

Memahami batasan

  • Konfigurasi jaringan yang dikunci: setelah Anda memulai migrasi, Anda tidak dapat mengubah konfigurasi jaringan di seluruh cluster hingga migrasi selesai.
  • Masa pemeliharaan: migrasi mengikuti masa pemeliharaan dan pengecualian pemeliharaan Anda, sehingga mungkin tampak terhenti. Untuk mempercepatnya, Anda dapat menerapkan patch pada node pool secara manual. Untuk mengetahui langkah-langkahnya, lihat Mempercepat migrasi.
  • Fitur GKE Dataplane V2 opsional: konfigurasi fitur GKE Dataplane V2 opsional, seperti kemampuan observasi GKE Dataplane V2 atau dukungan multi-jaringan untuk Pod, setelah migrasi selesai.
  • Terraform: Anda tidak dapat menggunakan Terraform untuk bermigrasi ke GKE Dataplane V2.

Memulai migrasi

Untuk memulai migrasi secara manual dan melewati pemeriksaan diagnostik otomatis, Anda dapat menerapkan patch pada cluster menggunakan Google Cloud CLI.

Jalankan perintah berikut:

gcloud container clusters update CLUSTER_NAME \
    --location=LOCATION \
    --enable-dataplane-v2

Ganti kode berikut:

  • CLUSTER_NAME: nama cluster.
  • LOCATION: lokasi komputasi cluster.

Mengamati progres migrasi

Anda dapat memantau status migrasi dengan memeriksa kolom datapathProvider. Selama transisi, kolom ini menampilkan MIGRATE_TO_ADVANCED_DATAPATH.

  1. Periksa status cluster:

    gcloud container clusters describe CLUSTER_NAME \
        --location=LOCATION \
        --format='value(networkConfig.datapathProvider)'
    

    Ganti kode berikut:

    • CLUSTER_NAME: nama cluster.
    • LOCATION: lokasi komputasi cluster.
  2. Periksa status node pool:

    gcloud container node-pools list \
        --cluster=CLUSTER_NAME \
        --location=LOCATION \
        --format='value(name, networkConfig.datapathProvider)'
    

    Ganti kode berikut:

    • CLUSTER_NAME: nama cluster.
    • LOCATION: lokasi komputasi cluster.
  3. Periksa DaemonSet anetd untuk memastikan agen berjalan:

    kubectl get ds -n kube-system anetd
    

Mempercepat migrasi

Untuk melewati jadwal peluncuran otomatis, Anda dapat menerapkan patch pada node pool secara manual.

Untuk menerapkan patch pada node pool secara manual, jalankan perintah berikut:

gcloud container node-pools update NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --location=LOCATION \
    --datapath-provider=advanced-datapath

Ganti kode berikut:

  • NODE_POOL_NAME: nama node pool.
  • CLUSTER_NAME: nama cluster.
  • LOCATION: lokasi komputasi cluster.

Memfinalisasi migrasi

Setelah semua node pool dimigrasikan ke GKE Dataplane V2, GKE akan otomatis memfinalisasi migrasi. Setelah migrasi selesai, output perintah akan menampilkan status ADVANCED_DATAPATH dan cluster menjalankan GKE Dataplane V2.

Amati penyelesaian dengan memeriksa status cluster:

gcloud container clusters describe CLUSTER_NAME \
    --location=LOCATION \
    --format='value(networkConfig.datapathProvider)'

Ganti kode berikut:

  • CLUSTER_NAME: nama cluster.
  • LOCATION: lokasi komputasi cluster.

Setelah migrasi selesai, output akan menampilkan ADVANCED_DATAPATH.

Melakukan roll back migrasi

Anda dapat mengembalikan migrasi ke Dataplane V1 kapan saja sebelum fase finalisasi selesai. Membalikkan migrasi adalah proses simetris ke migrasi ke depan: setelah Anda memulai roll back, GKE akan otomatis menerapkan patch pada node pool kembali ke datapath lama, lalu memfinalisasi cluster.

  1. Mengamati anetd kesehatan: sebelum melakukan roll back migrasi, periksa apakah agen berjalan untuk menentukan apakah kegagalan dapat dikurangi.

    kubectl get ds -n kube-system anetd
    
  2. Membatalkan operasi node pool yang sedang berlangsung:

    1. Identifikasi dan batalkan operasi node pool yang sedang berjalan yang akan memblokir permintaan patch cluster.

      gcloud container operations list \
          --location=LOCATION \
          --filter="operationType=UPGRADE_NODES AND status=RUNNING AND targetLink:*/clusters/CLUSTER_NAME"
      

      Ganti kode berikut:

      • LOCATION: lokasi komputasi cluster.
      • CLUSTER_NAME: nama cluster.
    2. Batalkan operasi menggunakan ID operasi:

      gcloud container operations cancel OPERATION_ID \
          --location=LOCATION
      

      Ganti kode berikut:

      • OPERATION_ID: ID operasi yang sedang berjalan.
      • LOCATION: lokasi komputasi cluster.
  3. Memulai roll back: kirim permintaan patch cluster untuk mengembalikan migrasi ke Dataplane V1.

    gcloud container clusters update CLUSTER_NAME \
        --location=LOCATION \
        --no-enable-dataplane-v2
    

    Ganti kode berikut:

    • CLUSTER_NAME: nama cluster.
    • LOCATION: lokasi komputasi cluster.
  4. Mengamati peluncuran node pool: periksa status node pool untuk memverifikasi migrasi ke datapath lama.

    gcloud container node-pools list \
        --cluster=CLUSTER_NAME \
        --location=LOCATION \
        --format='value(name, networkConfig.datapathProvider)'
    

    Ganti kode berikut:

    • CLUSTER_NAME: nama cluster.
    • LOCATION: lokasi komputasi cluster.

    Selama roll back, output perintah akan menampilkan status LEGACY_DATAPATH untuk node pool yang di-patch.

  5. Mengamati finalisasi: setelah semua node pool dimigrasikan ke Dataplane V1, GKE akan otomatis memfinalisasi migrasi. Amati penyelesaian dengan memeriksa status cluster:

    gcloud container clusters describe CLUSTER_NAME \
        --location=LOCATION \
        --format='value(networkConfig.datapathProvider)'
    

    Ganti kode berikut:

    • CLUSTER_NAME: nama cluster.
    • LOCATION: lokasi komputasi cluster.

    Setelah roll back selesai, output perintah akan menampilkan status LEGACY_DATAPATH.

Memecahkan masalah migrasi

Bagian ini memberikan informasi untuk membantu Anda memecahkan masalah dan menyelesaikan masalah umum yang mungkin Anda temui saat bermigrasi ke GKE Dataplane V2.

Migrasi node pool gagal

Saat memigrasikan node pool, GKE menggunakan strategi upgrade lonjakan atau upgrade blue-green yang dikonfigurasi untuk membuat node baru sebelum menghapus node lama. Jika zona Google Cloud Anda tidak memiliki cukup resource untuk menyediakan node baru, migrasi akan gagal dengan error GCE_STOCKOUT atau ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS. GKE akan otomatis mencoba kembali memigrasikan node pool ini. Jika Anda menerapkan patch pada node pool secara manual, tunggu dan coba migrasi lagi nanti saat resource tersedia.

Langkah berikutnya