Dengan cluster terpasang GKE, Anda dapat memindahkan cluster Kubernetes yang sudah ada — baik yang dihosting di AWS, Azure, atau tempat lain — ke dasbor edisi Google Kubernetes Engine (GKE) Enterprise untuk pengelolaan terpusat. Hal ini termasuk kemampuan untuk memasang cluster Kubernetes yang sesuai dengan CNCF.
Cluster Kubernetes yang Didukung
Anda dapat menambahkan cluster Kubernetes yang sesuai dengan node x86 ke fleet Anda, lalu melihatnya di dalam Konsol Google Cloud bersama cluster GKE Anda.
Meskipun Google tidak memverifikasi setiap distribusi Kubernetes untuk kompatibilitas fitur lengkap, semua inkompatibilitas yang ditemukan didokumentasikan di sini. Untuk mengetahui detail lebih lanjut dan bantuan pemecahan masalah, lihat dukungan upgrade dan versi edisi Google Kubernetes Engine (GKE) Enterprise.
Prasyarat
Pastikan cluster Anda memenuhi persyaratan cluster.
Saat melampirkan cluster, Anda harus menentukan hal berikut:
- Region administratif Google Cloud yang didukung
- Versi platform
Region administratif adalah region Google Cloud untuk mengelola cluster yang terpasang. Anda dapat memilih region yang didukung, tetapi praktik terbaiknya adalah memilih region yang paling dekat dengan cluster Anda. Tidak ada data pengguna yang disimpan di wilayah administratif.
Versi platform adalah versi cluster terpasang GKE yang akan diinstal di cluster Anda. Anda dapat menampilkan 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 lokasi Google Cloud untuk mengelola cluster Anda.
Penomoran versi platform
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.
Lampirkan cluster Anda
Untuk memasang cluster yang sesuai dengan CNCF ke Pengelolaan perangkat Google Cloud, jalankan perintah berikut:
Pastikan file kubeconfig Anda memiliki entri untuk cluster yang ingin dilampirkan. Petunjuk spesifik bervariasi menurut distribusi.
Jalankan perintah ini untuk mengekstrak konteks kubeconfig cluster Anda dan menyimpannya di variabel lingkungan
KUBECONFIG_CONTEXT
:KUBECONFIG_CONTEXT=$(kubectl config current-context)
Perintah untuk mendaftarkan cluster Anda sedikit berbeda, bergantung pada apakah cluster Anda memiliki penerbit OIDC publik atau pribadi. Pilih tab yang berlaku untuk cluster Anda:
Penerbit OIDC pribadi
Gunakan perintah
gcloud container attached clusters register
untuk mendaftarkan cluster:gcloud container attached clusters register CLUSTER_NAME \ --location=GOOGLE_CLOUD_REGION \ --fleet-project=PROJECT_NUMBER \ --platform-version=PLATFORM_VERSION \ --distribution=generic \ --context=KUBECONFIG_CONTEXT \ --has-private-issuer \ --kubeconfig=KUBECONFIG_PATH
Ganti kode berikut:
- CLUSTER_NAME: nama cluster Anda
- GOOGLE_CLOUD_REGION: region Google Cloud untuk mengelola cluster Anda dari
- PROJECT_NUMBER: project host fleet untuk mendaftarkan cluster dengan
- PLATFORM_VERSION: versi platform yang akan digunakan untuk cluster
- KUBECONFIG_CONTEXT: konteks dalam kubeconfig untuk mengakses cluster
- KUBECONFIG_PATH: jalur ke kubeconfig Anda
Penerbit OIDC publik
Ambil URL penerbit OIDC cluster Anda dan simpan untuk digunakan nanti. Petunjuk spesifik bervariasi menurut distribusi.
Jalankan perintah ini untuk mengekstrak konteks kubeconfig cluster Anda dan menyimpannya di variabel lingkungan
KUBECONFIG_CONTEXT
:KUBECONFIG_CONTEXT=$(kubectl config current-context)
Gunakan perintah
gcloud container attached clusters register
untuk mendaftarkan cluster:gcloud container attached clusters register CLUSTER_NAME \ --location=GOOGLE_CLOUD_REGION \ --fleet-project=PROJECT_NUMBER \ --platform-version=PLATFORM_VERSION \ --distribution=generic \ --issuer-url=ISSUER_URL \ --context=KUBECONFIG_CONTEXT \ --kubeconfig=KUBECONFIG_PATH
Ganti kode berikut:
- CLUSTER_NAME: nama cluster Anda
- GOOGLE_CLOUD_REGION: region Google Cloud untuk mengelola cluster Anda
- PROJECT_NUMBER: project host fleet tempat cluster akan didaftarkan
- PLATFORM_VERSION: versi cluster terpasang GKE 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
Mengizinkan Cloud Logging / Cloud Monitoring
Agar GKE dapat menambahkan cluster untuk membuat serta mengupload log dan metrik sistem ke Google Cloud, cluster tersebut harus diberi otorisasi.
Untuk mengizinkan identitas workload Kubernetes gke-system/gke-telemetry-agent
guna 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 project ID Google Cloud cluster.
Binding IAM ini memberikan akses ke semua cluster di project project Google Cloud untuk mengupload log dan metrik. Anda hanya perlu menjalankannya setelah membuat cluster pertama untuk project tersebut.
Penambahan binding IAM ini akan gagal, kecuali jika setidaknya satu cluster telah dibuat di project Google Cloud Anda. Hal ini karena kumpulan workload identity yang dirujuk (GOOGLE_PROJECT_ID.svc.id.goog
) tidak disediakan hingga pembuatan cluster.