Melampirkan cluster berarti menghubungkannya ke Google Cloud dengan mendaftarkannya ke Google Cloud Pengelolaan fleet dan menginstal software cluster terlampir GKE di cluster tersebut.
Anda dapat melampirkan cluster menggunakan gcloud CLI atau Terraform. Untuk mempelajari cara membuat dan melampirkan cluster AKS menggunakan Terraform, lihat repositori GitHub berisi contoh untuk cluster GKE yang dilampirkan.
Untuk melampirkan cluster AKS menggunakan gcloud, lakukan langkah-langkah berikut.
Prasyarat
Pastikan cluster Anda memenuhi persyaratan cluster.
Saat melampirkan cluster, Anda harus menentukan hal berikut:
- Wilayah administratif yang didukung Google Cloud
- Versi platform
Wilayah administratif adalah Google Cloud wilayah untuk mengelola cluster terlampir Anda. Anda dapat memilih region yang didukung, tetapi praktik terbaiknya adalah memilih region yang paling dekat secara geografis dengan cluster Anda. Tidak ada data pengguna yang disimpan di wilayah administratif.
Versi platform adalah versi cluster terlampir GKE yang akan diinstal di cluster Anda. Anda dapat membuat daftar semua versi yang didukung dengan menjalankan perintah berikut:
gcloud container attached get-server-config \
--location=GOOGLE_CLOUD_REGION
Ganti GOOGLE_CLOUD_REGION dengan nama Google Cloud lokasi untuk mengelola cluster Anda.
Penomoran versi platform
Dokumen ini menyebut versi cluster terlampir GKE sebagai versi platform, untuk membedakannya dari versi Kubernetes. Cluster terlampir 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 melampirkan cluster yang menjalankan Kubernetes v1.22.* dengan versi platform cluster terlampir GKE 1.21.* atau 1.22.*.
Dengan begitu, Anda dapat mengupgrade cluster ke versi minor berikutnya sebelum mengupgrade cluster terlampir GKE.
Lampirkan cluster AKS Anda
Untuk melampirkan cluster AKS Anda ke Google Cloud Pengelolaan fleet, jalankan perintah berikut:
Pastikan file kubeconfig Anda memiliki entri untuk cluster yang ingin Anda lampirkan:
az aks get-credentials -n AKS_CLUSTER_NAME \ -g RESOURCE_GROUPJalankan perintah ini untuk mengekstrak konteks kubeconfig cluster Anda dan menyimpannya dalam variabel lingkungan
KUBECONFIG_CONTEXT:KUBECONFIG_CONTEXT=$(kubectl config current-context)Perintah untuk mendaftarkan cluster Anda sedikit berbeda, bergantung pada apakah Anda telah mengonfigurasi cluster dengan penerbit OIDC pribadi default atau penerbit publik eksperimental. Pilih tab yang berlaku untuk cluster Anda:
Penerbit OIDC pribadi (default)
Gunakan
gcloud container attached clusters registerperintah untuk mendaftarkan cluster:gcloud container attached clusters register CLUSTER_NAME \ --location=GOOGLE_CLOUD_REGION \ --fleet-project=PROJECT_NUMBER \ --platform-version=PLATFORM_VERSION \ --distribution=aks \ --context=KUBECONFIG_CONTEXT \ --has-private-issuer \ --kubeconfig=KUBECONFIG_PATHGanti kode berikut:
- CLUSTER_NAME: nama cluster Anda. Nama ini bisa sama dengan AKS_CLUSTER_NAME yang Anda gunakan di langkah 1. CLUSTER_NAME harus sesuai dengan standar Nama Label RFC 1123.
- GOOGLE_CLOUD_REGION: Google Cloud region untuk mengelola cluster Anda
- PROJECT_NUMBER: project host Fleet untuk mendaftarkan cluster
- PLATFORM_VERSION: versi platform yang akan digunakan untuk cluster
- KUBECONFIG_CONTEXT: konteks di kubeconfig untuk mengakses cluster AKS
- KUBECONFIG_PATH: jalur ke 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" -otsvGanti RESOURCE_GROUP dengan grup resource AKS tempat cluster Anda berada.
Output perintah ini adalah URL penerbit OIDC Anda. Simpan nilai ini untuk digunakan nanti.
Jalankan perintah ini untuk mengekstrak konteks kubeconfig cluster Anda dan menyimpannya dalam variabel lingkungan
KUBECONFIG_CONTEXT:KUBECONFIG_CONTEXT=$(kubectl config current-context)Gunakan
gcloud container attached clusters registerperintah untuk mendaftarkan cluster:gcloud container attached clusters register CLUSTER_NAME \ --location=GOOGLE_CLOUD_REGION \ --fleet-project=PROJECT_NUMBER \ --platform-version=PLATFORM_VERSION \ --distribution=aks \ --issuer-url=ISSUER_URL \ --context=KUBECONFIG_CONTEXT \ --kubeconfig=KUBECONFIG_PATHGanti kode berikut:
- CLUSTER_NAME: nama cluster Anda. Nama ini bisa sama dengan AKS_CLUSTER_NAME yang Anda gunakan di langkah 1. CLUSTER_NAME harus sesuai dengan standar Nama Label RFC 1123.
- GOOGLE_CLOUD_REGION: Google Cloud region untuk mengelola cluster Anda
- PROJECT_NUMBER: project host Fleet tempat cluster akan didaftarkan
- PLATFORM_VERSION: versi GKE attached clusters yang akan digunakan untuk cluster
- ISSUER_URL: URL penerbit yang diambil sebelumnya
- KUBECONFIG_CONTEXT: konteks di kubeconfig untuk mengakses cluster Anda, seperti yang diekstrak sebelumnya
- KUBECONFIG_PATH: jalur ke kubeconfig Anda
Memberi otorisasi Cloud Logging / Cloud Monitoring
Agar cluster terlampir GKE dapat membuat dan mengupload log dan metrik sistem ke Google Cloud, cluster tersebut harus diberi otorisasi.
Untuk memberi otorisasi identitas workload Kubernetes gke-system/gke-telemetry-agent
untuk menulis log ke Google Cloud Logging, dan metrik ke Google Cloud Monitoring,
jalankan perintah ini:
gcloud projects add-iam-policy-binding GOOGLE_PROJECT_ID \
--member="serviceAccount:GOOGLE_PROJECT_ID.svc.id.goog[gke-system/gke-telemetry-agent]" \
--role=roles/gkemulticloud.telemetryWriter
Ganti GOOGLE_PROJECT_ID dengan ID project Google Cloud cluster.
Binding IAM ini memberikan akses untuk semua cluster dalam project Google Cloud project untuk mengupload log dan metrik. Anda hanya perlu menjalankannya setelah membuat cluster pertama untuk project.
Penambahan binding IAM ini akan gagal kecuali jika setidaknya satu cluster telah
dibuat di Google Cloud project Anda. Hal ini karena workload identity pool yang dirujuknya (GOOGLE_PROJECT_ID.svc.id.goog) tidak disediakan hingga pembuatan cluster.