Memigrasikan cluster yang terpasang dengan EKS

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.

  1. Ambil URL penerbit OIDC cluster Anda dengan perintah berikut:

    aws eks describe-cluster \
    --region AWS_REGION \
    --name CLUSTER_NAME \
    --query "cluster.identity.oidc.issuer" \
    --output text
    

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

  2. 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 di kubeconfig untuk mengakses cluster EKS
    • KUBECONFIG_PATH: jalur ke file 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.