Google Distributed Cloud (GDC) air-gapped memungkinkan Anda mengelola cluster Kubernetes setelah pembuatan menggunakan GKE di GDC. Layanan ini memungkinkan Anda beradaptasi dengan persyaratan workload container yang terus berkembang dan mempertahankan node cluster yang ada dengan alur kerja berikut:
Melampirkan dan melepaskan cluster bersama ke project: Lampirkan dan lepaskan cluster bersama ke beberapa project setelah pembuatan cluster untuk mengubah cakupan workload cluster bersama.
Melihat cluster di organisasi Anda: Buat daftar cluster di organisasi Anda untuk melacak apa yang tersedia untuk workload container Anda.
Membuat daftar versi Kubernetes: Lihat versi Kubernetes cluster Anda untuk mengetahui kemampuan cluster yang sesuai dengan rilis Kubernetes terbaru.
Melihat properti cluster yang dapat diupdate: Lihat properti yang dapat diubah dalam definisi resource kustom
Cluster.
Dokumen ini ditujukan untuk administrator IT dalam grup administrator platform yang mengelola workload container yang dihosting di cluster yang mencakup beberapa project, dan developer dalam grup operator aplikasi yang bertanggung jawab untuk membuat workload aplikasi dalam satu project. Untuk mengetahui informasi selengkapnya, lihat Audiens untuk dokumentasi GDC dengan air gap.
Sebelum memulai
Untuk menyelesaikan tugas dalam dokumen ini, Anda harus meminta izin yang diperlukan dan menyiapkan lingkungan Anda.
Meminta peran IAM
Anda harus memiliki peran tertentu untuk mendapatkan izin yang diperlukan guna mempertahankan cluster Kubernetes Anda. Peran yang Anda perlukan bergantung pada apakah Anda bekerja dalam cluster bersama yang memiliki cakupan organisasi atau cluster standar yang memiliki cakupan project. Untuk mengetahui informasi selengkapnya, lihat Konfigurasi cluster Kubernetes.
Peran cluster bersama
Untuk melihat dan mempertahankan cluster Kubernetes bersama dan resource-nya, minta Admin IAM Organisasi Anda untuk memberi Anda peran berikut berdasarkan tugas yang akan dilakukan:
Project Creator (
project-creator): membuat atau melihat resource project. Peran ini diperlukan untuk melampirkan cluster bersama ke project.Project Editor (
project-editor): menghapus, memperbarui, atau melihat resource project. Peran ini diperlukan untuk melepaskan cluster bersama dari project.User Cluster Viewer (
user-cluster-viewer): melihat cluster bersama dan resource-nya. Peran ini memberikan akses ke API bidang kontrol untuk cluster bersama yang dihosting di server API pengelolaan.
Peran ini tidak terikat ke namespace project.
Peran cluster standar
Untuk melihat cluster Kubernetes standar dan resource-nya, minta Admin IAM Project Anda untuk memberi Anda peran Standard Cluster Viewer (standard-cluster-viewer). Peran ini memberikan akses ke API bidang kontrol untuk cluster standar yang dihosting di server API pengelolaan.
Peran ini terikat ke namespace project Anda.
Menyiapkan lingkungan Anda
Untuk menjalankan perintah terhadap a cluster Kubernetes menggunakan API, pastikan Anda memiliki resource berikut:
Temukan nama cluster Kubernetes, atau tanyakan kepada anggota grup administrator platform nama cluster.
Gunakan nama cluster Kubernetes untuk mengganti
CLUSTER_NAMEdalam petunjuk ini.Login dan buat file kubeconfig untuk server API pengelolaan.
Gunakan jalur kubeconfig server API pengelolaan untuk mengganti
MANAGEMENT_API_SERVERdalam petunjuk ini.
Memindahkan cluster dalam hierarki project
Project menyediakan pengelompokan logis instance layanan. Anda dapat menambahkan dan menghapus cluster Kubernetes bersama dari hierarki project GDC untuk mengelompokkan layanan Anda dengan tepat. Anda tidak dapat memindahkan cluster standar dalam hierarki project karena cluster tersebut hanya memiliki cakupan satu project.
Melampirkan project ke cluster bersama
Saat membuat cluster bersama dari konsol GDC, Anda harus melampirkan setidaknya satu project sebelum dapat berhasil men-deploy workload container ke cluster tersebut. Jika Anda harus menambahkan project tambahan ke cluster yang ada, selesaikan langkah-langkah berikut:
Konsol
- Di menu navigasi, pilih Kubernetes Engine > Clusters.
- Dalam daftar cluster, klik nama cluster untuk membuka halaman Cluster details.
- Pilih Attach Project.
- Dalam daftar project yang tersedia, klik nama project yang akan dilampirkan ke cluster.
- Klik Save.
API
Buat resource kustom
ProjectBindingbaru untuk cluster Anda:kubectl --kubeconfig MANAGEMENT_API_SERVER apply -f - <<EOF apiVersion: resourcemanager.gdc.goog/v1 kind: ProjectBinding metadata: name: CLUSTER_NAME-PROJECT_NAME namespace: platform labels: resourcemanager.gdc.goog/projectbinding-for-user-project: "true" spec: clusterRef: name: CLUSTER_NAME selector: nameSelector: matchNames: - PROJECT_NAME EOFGanti kode berikut:
MANAGEMENT_API_SERVER: jalur kubeconfig server API zona.CLUSTER_NAME: nama cluster.PROJECT_NAME: nama project yang akan mengikat cluster. Setiap resourceProjectBindinghanya dapat dipetakan ke satu cluster. Jika project memerlukan akses ke beberapa cluster,ProjectBindingunik harus dibuat untuk setiap cluster.
Terraform
Dalam file konfigurasi Terraform, sisipkan cuplikan kode berikut untuk membuat resource kustom
ProjectBinding:provider "kubernetes" { config_path = "MANAGEMENT_API_SERVER" } resource "kubernetes_manifest" "PROJECT_BINDING_RESOURCE_NAME" { manifest = { "apiVersion" = "resourcemanager.gdc.goog/v1" "kind" = "ProjectBinding" "metadata" = { "name" = "CLUSTER_NAME-PROJECT_NAME" "namespace" = "platform" "labels" = { "resourcemanager.gdc.goog/projectbinding-for-user-project" = "true" } } "spec" = { "clusterRef" = { "name" = "CLUSTER_NAME" } "selector" = { "nameSelector" = { "matchNames" = [ "PROJECT_NAME", ] } } } } }Ganti kode berikut:
MANAGEMENT_API_SERVER: jalur kubeconfig server API zona.PROJECT_BINDING_RESOURCE_NAME: nama resource Terraform dari pengikatan project, sepertiCLUSTER_NAME-PROJECT_NAME-binding. Nama ini digunakan oleh Terraform untuk mengidentifikasi pengikatan project Anda, dan tidak digunakan oleh GDC.CLUSTER_NAME: nama cluster. Setiap resourceProjectBindinghanya dapat dipetakan ke satu cluster. Jika project memerlukan akses ke beberapa cluster,ProjectBindingunik harus dibuat untuk setiap cluster.PROJECT_NAME: nama project yang akan diikat. Setiap resourceProjectBindinghanya dapat dipetakan ke satu cluster. Jika project memerlukan akses ke beberapa cluster,ProjectBindingunik harus dibuat untuk setiap cluster.
Terapkan pengikatan project baru:
terraform apply
Melepaskan project dari cluster bersama
Melepaskan project dari cluster bersama dapat menyebabkan perubahan signifikan, seperti menghapus workload yang berjalan di cluster. Pastikan Anda memahami konsekuensinya sebelum melepaskan project dari cluster bersama.
Untuk melepaskan project dari cluster bersama yang ada, selesaikan langkah-langkah berikut:
Konsol
- Di menu navigasi, pilih Kubernetes Engine > Clusters.
- Klik cluster dari daftar cluster untuk membuka halaman Cluster details.
- Klik delete Detach untuk project yang akan dilepaskan dari cluster.
API
Hapus resource
ProjectBindingyang menautkan project dan cluster:kubectl --kubeconfig MANAGEMENT_API_SERVER delete projectbinding \ CLUSTER_NAME-PROJECT_NAME -n platformGanti kode berikut:
MANAGEMENT_API_SERVER: jalur kubeconfig server API zona.CLUSTER_NAME: nama cluster.PROJECT_NAME: nama project yang akan dilepaskan dari cluster.
Terraform
Hapus resource pengikatan project:
terraform destroy -target kubernetes_manifest.PROJECT_BINDING_RESOURCE_NAMEGanti
PROJECT_BINDING_RESOURCE_NAMEdengan nama resource Terraform dari pengikatan project yang akan dihapus, sepertiCLUSTER_NAME-PROJECT_NAME-binding. Nama ini digunakan oleh Terraform untuk mengidentifikasi pengikatan project Anda, dan tidak digunakan oleh GDC.
Melihat semua cluster dalam project atau organisasi
Anda dapat melihat semua cluster Kubernetes yang tersedia dalam project atau organisasi, termasuk status, versi Kubernetes, dan detail lainnya.
Karena cluster Kubernetes adalah resource zona, Anda hanya dapat membuat daftar cluster per zona.
Konsol
Di pemilih project, pilih project atau organisasi Anda.
Cluster standar memiliki cakupan project dan cluster bersama memiliki cakupan organisasi. Pilih cakupan yang benar untuk melihat jenis cluster Kubernetes yang sesuai.
Di menu navigasi, pilih Kubernetes Engine > Clusters.
Semua cluster bersama yang tersedia di organisasi dengan status dan informasi lainnya akan ditampilkan:

gdcloud
Buat daftar cluster Kubernetes yang tersedia di zona:
gdcloud clusters listOutputnya mirip dengan hal berikut ini:
CLUSTERREF.NAME READINESS.STATE TYPE CURRENTVERSION.USERCLUSTERVERSION CURRENTVERSION.SUPPORT.STATUS user-vm-1 Ready user 1.15.0-gdch.394225-1.28.15-gke.1200 In Support user-vm-2 Ready user 1.15.0-gdch.394225-1.29.12-gke.800 In Support
API
Buat daftar cluster Kubernetes yang tersedia di zona:
kubectl get clusters.cluster.gdc.goog -n KUBERNETES_CLUSTER_NAMESPACE \ --kubeconfig MANAGEMENT_API_SERVERGanti kode berikut:
MANAGEMENT_API_SERVER: jalur kubeconfig server API zona.KUBERNETES_CLUSTER_NAMESPACE: namespace cluster. Untuk cluster bersama, gunakan namespaceplatform. Untuk cluster standar, gunakan namespace project cluster.
Outputnya mirip dengan hal berikut ini:
NAME STATE K8S VERSION user-vm-1 Running 1.25.10-gke.2100 user-test Running 1.26.5-gke.2100
Membuat daftar versi Kubernetes yang tersedia untuk cluster
Anda dapat membuat daftar versi Kubernetes yang tersedia di zona GDC untuk memverifikasi fitur Kubernetes yang dapat Anda akses di cluster.
Buat daftar versi Kubernetes yang tersedia di zona Anda:
kubectl get userclustermetadata.upgrade.private.gdc.goog \ -o=custom-columns=K8S-VERSION:.spec.kubernetesVersion \ --kubeconfig MANAGEMENT_API_SERVERGanti
MANAGEMENT_API_SERVERdengan file kubeconfig server API zona cluster Anda.Outputnya akan terlihat mirip seperti berikut:
K8S-VERSION 1.25.10-gke.2100 1.26.5-gke.2100 1.27.4-gke.500
Melihat properti yang dapat diupdate
Untuk setiap cluster Kubernetes, serangkaian properti dapat diubah setelah dibuat. Anda hanya dapat mengubah properti yang dapat diubah yang ada di spec resource kustom Cluster. Tidak semua properti dalam spec memenuhi syarat untuk diupdate setelah cluster disediakan. Untuk melihat properti yang dapat diupdate ini, selesaikan langkah-langkah berikut:
Konsol
Di menu navigasi, pilih Kubernetes Engine > Clusters.
Dalam daftar cluster Kubernetes, klik nama cluster untuk melihat propertinya.
Properti yang dapat diedit memiliki ikon edit Edit.
API
Lihat daftar properti untuk spesifikasi
Clusterdan nilai valid yang sesuai dengan setiap properti:kubectl explain clusters.cluster.gdc.goog.spec \ --kubeconfig MANAGEMENT_API_SERVERGanti
MANAGEMENT_API_SERVERdengan jalur kubeconfig server API zona.Outputnya mirip dengan hal berikut ini:
KIND: Cluster VERSION: cluster.gdc.goog/v1 RESOURCE: spec <Object> DESCRIPTION: <empty> FIELDS: clusterNetwork <Object> The cluster network configuration. If unset, the default configurations with pod and service CIDR sizes are used. Optional. Mutable. initialVersion <Object> The GDC air-gapped version information of the user cluster during cluster creation. Optional. Default to use the latest applicable version. Immutable. loadBalancer <Object> The load balancer configuration. If unset, the default configuration with the ingress service IP address size is used. Optional. Mutable. nodePools <[]Object> The list of node pools for the cluster worker nodes. Optional. Mutable. releaseChannel <Object> The release channel a cluster is subscribed to. When a cluster is subscribed to a release channel, GDC maintains the cluster versions for users. Optional. Mutable.Perbarui setelan ini menggunakan konsol GDC atau kubectl CLI. Misalnya, Anda dapat mengubah ukuran node pool.