Memigrasikan cluster terlampir EKS Anda

Versi pendahulu cluster terpasang GKE dikenal sebagai cluster terpasang GKE (generasi sebelumnya). Dengan bermigrasi dari versi cluster terpasang GKE sebelumnya ke generasi saat ini, Anda akan mendapatkan akses ke fungsi ini, termasuk pengelolaan siklus proses dan pendaftaran Fleet. Migrasi adalah operasi satu arah: setelah Anda bermigrasi ke cluster terpasang GKE generasi saat ini, tidak ada cara untuk kembali ke cluster terpasang GKE (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 memperbarui cluster, Anda harus memilih versi platform yang versi minornya sama dengan atau satu tingkat di bawah versi Kubernetes cluster Anda. Misalnya, Anda dapat melampirkan cluster yang menjalankan Kubernetes v1.22.* dengan versi platform cluster terpasang GKE 1.21.* atau 1.22.*.

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

Memastikan Workload Identity diaktifkan

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

Untuk menentukan apakah WI diaktifkan, jalankan perintah berikut dan periksa output untuk mengetahui kolom Workload Identity:

gcloud container hub memberships describe MEMBERSHIP_NAME

Jika Workload Identity tidak diaktifkan, keanggotaan harus diperbarui untuk mengaktifkannya.

  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 berupa 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 dalam 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 terpasang GKE (generasi sebelumnya) ke cluster terpasang GKE:

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

    KUBECONFIG_CONTEXT=$(kubectl config current-context)
    
  2. Jalankan perintah berikut untuk memigrasikan cluster Anda ke cluster terpasang GKE generasi saat ini. Perintah ini mengekstrak detail relevan dari konfigurasi cluster Anda dan mendaftarkan cluster Anda dengan Google Fleet Management, serta menginstal atau mengupgrade software 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 tempat cluster Anda dikelola Google Cloud
    • FLEET_MEMBERSHIP: penentu keanggotaan yang sepenuhnya memenuhi syarat dari cluster terdaftar Anda (lihat di bawah)
    • PLATFORM_VERSION: versi cluster terpasang GKE yang Anda ingin 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 di kubeconfig Anda untuk terhubung ke cluster Anda dengan
    • KUBECONFIG_PATH: lokasi file kubeconfig Anda. Jika tidak ditentukan, nilai defaultnya adalah ~/.kube/config

    Penentu keanggotaan adalah string yang secara unik mengidentifikasi cluster terpasang Anda 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 nomor project yang saat ini dimiliki cluster Anda

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