Memigrasikan cluster AKS

Versi sebelumnya dari cluster terpasang GKE dikenal sebagai cluster terpasang GKE (generasi sebelumnya). Melakukan migrasi dari cluster GKE terpasang ke versi lama ke generasi saat ini akan memberi Anda akses ke fungsi ini, termasuk pengelolaan siklus proses dan pendaftaran Armada. Migrasi adalah operasi satu arah: setelah bermigrasi ke cluster GKE yang terpasang saat ini, Anda tidak dapat kembali ke cluster GKE terpasang (generasi sebelumnya).

Kebijakan penomoran versi

Dokumen ini mengacu pada versi cluster terpasang GKE sebagai versi platform, untuk membedakannya dari versi Kubernetes. Cluster terpasang GKE menggunakan konvensi penomoran versi yang sama dengan GKE - misalnya, 1.21.5-gke.1. Saat melampirkan atau mengupdate cluster, Anda harus memilih versi platform yang versi minornya sama dengan atau satu tingkat di bawah versi Kubernetes cluster Anda. Misalnya, Anda dapat memasang cluster yang menjalankan Kubernetes v1.22.* dengan platform cluster terpasang GKE versi 1.21.* atau 1.22.*.

Hal ini memungkinkan Anda mengupgrade cluster ke versi minor berikutnya sebelum mengupgrade cluster yang terpasang GKE.

Pastikan Workload Identity diaktifkan

Cluster yang ada dari cluster GKE yang terpasang (generasi sebelumnya) harus mengaktifkan Workload Identity sebelum dimigrasikan ke cluster GKE yang terhubung generasi saat ini.

Untuk menentukan apakah WI diaktifkan atau tidak, jalankan perintah berikut dan periksa output untuk kolom Workload Identity mana pun:

gcloud container hub memberships describe MEMBERSHIP_NAME

Jika Workload Identity tidak diaktifkan, keanggotaan harus diperbarui agar dapat diaktifkan.

Perintah untuk memperbarui keanggotaan cluster sedikit berbeda, bergantung pada apakah Anda telah mengonfigurasi cluster dengan penerbit OIDC pribadi default atau penerbit OIDC pribadi eksperimental. Pilih tab yang berlaku untuk cluster Anda:

Penerbit OIDC pribadi (default)

gcloud container hub memberships register MEMBERSHIP_NAME \
--context=KUBECONFIG_CONTEXT \
--kubeconfig=KUBECONFIG_PATH \
--enable-workload-identity \
--has-private-issuer

Ganti:

  • MEMBERSHIP_NAME: nama keanggotaan cluster Anda
  • KUBECONFIG_CONTEXT: konteks dalam kubeconfig untuk mengakses cluster AKS
  • KUBECONFIG_PATH: jalur ke file kubeconfig Anda

Penerbit OIDC publik

  • Ambil URL penerbit OIDC cluster Anda dengan perintah berikut:
  az aks show -n CLUSTER_NAME \
    -g RESOURCE_GROUP \
    --query "oidcIssuerProfile.issuerUrl" -otsv

Output perintah ini akan menjadi URL penerbit OIDC Anda. Simpan nilai ini untuk digunakan nanti.

  • Perbarui keanggotaan:
gcloud container fleet memberships register MEMBERSHIP_NAME \
--context=KUBECONFIG_CONTEXT \
--kubeconfig=KUBECONFIG_PATH \
--enable-workload-identity \
--public-issuer-url=OIDC_URL

Ganti:

  • MEMBERSHIP_NAME: nama keanggotaan cluster Anda
  • KUBECONFIG_CONTEXT: konteks dalam kubeconfig untuk mengakses cluster AKS
  • KUBECONFIG_PATH: jalur ke kubeconfig Anda
  • OIDC_URL: URL OIDC yang diambil sebelumnya

Memigrasikan cluster Anda

Untuk memigrasikan cluster Anda dari cluster GKE yang terpasang (generasi sebelumnya) ke cluster GKE yang terpasang:

  1. Ekstrak konteks kubeconfig cluster Anda dan simpan di variabel lingkungan KUBECONFIG_CONTEXT:

    KUBECONFIG_CONTEXT=$(kubectl config current-context)
    
  2. Jalankan perintah berikut untuk memigrasikan cluster Anda ke cluster GKE yang terhubung generasi saat ini. Perintah ini mengekstrak detail yang relevan dari konfigurasi cluster Anda dan mendaftarkan cluster Anda ke Pengelolaan Fleet Google, serta menginstal atau mengupgrade software apa pun yang diperlukan, seperti agen siklus proses, di cluster Anda.

    gcloud container attached clusters import \
      --location=GOOGLE_CLOUD_REGION \
      --fleet-membership=FLEET_MEMBERSHIP \
      --platform-version=PLATFORM_VERSION \
      --distribution=CLUSTER_DISTRIBUTION \
      --context=KUBECONFIG_CONTEXT \
      [--kubeconfig=KUBECONFIG_PATH]
    

    Ganti:

    • GOOGLE_CLOUD_REGION: lokasi Google Cloud tempat cluster Anda dikelola
    • FLEET_MEMBERSHIP: penanda keanggotaan yang sepenuhnya memenuhi syarat dari cluster terdaftar Anda (lihat di bawah)
    • PLATFORM_VERSION: versi cluster terpasang GKE yang ingin Anda migrasikan (contoh: v1.22.0-gke.1)
    • CLUSTER_DISTRIBUTION: jenis cluster - eks untuk Elastic Kubernetes Service AWS, aks untuk Azure Kubernetes Service, atau generic untuk distribusi lainnya
    • KUBECONFIG_CONTEXT: nama konteks dalam kubeconfig untuk dihubungkan ke cluster Anda dengan
    • KUBECONFIG_PATH: lokasi file kubeconfig Anda. Jika tidak ditentukan, defaultnya adalah ~/.kube/config

    Penanda keanggotaan adalah string yang secara unik mengidentifikasi cluster terlampir dan memiliki bentuk projects/PROJECT_NUMBER/locations/global/memberships/MEMBERSHIP_ID, dengan

    • PROJECT_NUMBER adalah nomor project host Fleet Anda. Anda harus menentukan nomor project yang sama dengan cluster Anda saat ini

    • MEMBERSHIP_ID: ini harus berupa ID keanggotaan fleet cluster Anda yang ada. Cluster terpasang GKE akan menggunakan nilai ini sebagai nama cluster Anda.

Dukungan Azure Workload Identity

Azure menawarkan dukungan WI dalam pratinjau publik. Mengaktifkan fitur ini akan mengubah URL penerbit OIDC cluster Anda. Jika sudah mendaftarkan cluster dengan URL OIDC sebelumnya, Anda tidak dapat mengupdate ke URL baru karena kolom tersebut saat ini tidak dapat diperbarui.

Untuk mengatasi hal ini:

  1. Buat ulang cluster dengan mengaktifkan workload identity.
  2. Lampirkan cluster AKS Anda.
  3. Migrasikan beban kerja Anda ke cluster baru.
  4. Hapus cluster lama.