Halaman ini menjelaskan cara merotasi kunci untuk akun layanan berikut:
Untuk merotasi kunci akun layanan Anda:
Buat direktori untuk menyimpan cadangan secret Anda saat ini:
mkdir backup
Catat informasi berikut untuk akun layanan yang relevan:
Akses komponen
Cluster Rahasia Namespace Admin admin-cluster-creds kube-system Admin user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt Admin private-registry-creds kube-system Pengguna private-registry-creds kube-system - Jika Anda tidak menggunakan
private registry,
Secret
private-registry-creds
menyimpan kunci untuk akun layanan akses komponen Anda. - Jika Anda menggunakan registry pribadi, Secret
private-registry-creds
menyimpan kredensial untuk registry pribadi Anda, bukan kunci akun layanan akses komponen.
Connect-register
Cluster Rahasia Namespace Admin admin-cluster-creds kube-system Admin user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt Logging-monitoring
Cluster Rahasia Namespace Admin admin-cluster-creds kube-system Admin user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt Pengguna google-cloud-credentials kube-system Pengguna stackdriver-service-account-key knative-serving Logging audit
Cluster Rahasia Namespace Admin admin-cluster-creds kube-system Admin user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt Admin kube-apiserver CLUSTER_NAME Stackdriver
Cluster Rahasia Namespace Admin admin-cluster-creds kube-system Admin user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt Pengguna google-cloud-credentials kube-system Pengguna stackdriver-service-account-key knative-serving - Jika Anda tidak menggunakan
private registry,
Secret
Buat cadangan setiap secret menggunakan perintah berikut:
kubectl get secret SECRET --namespace NAMESPACE \ --kubeconfig KUBECONFIG -o json > backup/SECRET-NAMESPACE.json
Ganti kode berikut:
NAMESPACE
: namespace tempat secret berada. Contoh,kube-system
.KUBECONFIG
: jalur ke file kubeconfig untuk cluster admin atau pengguna.SECRET
: nama secret. Contoh,admin-cluster-creds
.
Misalnya, jalankan perintah berikut untuk akun layanan layanan pencatatan audit:
kubectl get secret admin-cluster-creds --namespace kube-system \ --kubeconfig KUBECONFIG -o json > backup/admin-cluster-creds-kube-system.json kubectl get secret user-cluster-creds --namespace NAMESPACE \ --kubeconfig KUBECONFIG -o json > backup/user-cluster-creds-NAMESPACE.json kubectl get secret kube-apiserver --namespace NAMESPACE \ --kubeconfig KUBECONFIG -o json > backup/kube-apiserver-NAMESPACE.json
Untuk membuat file kunci akun layanan baru, jalankan perintah berikut:
gcloud iam service-accounts keys create NEW_KEY_FILE --iam-account IAM_ACCOUNT
Ganti kode berikut:
NEW_KEY_FILE
: nama untuk file kunci akun layanan baru AndaIAM_ACCOUNT
: alamat email akun layanan
Dalam file konfigurasi cluster admin, temukan kolom
componentAccessServiceAccountKeyPath
, bagiangkeConnect
, bagianstackdriver
, dan bagiancloudAuditLogging
. Di tempat tersebut, ganti jalur ke file kunci akun layanan.Di file konfigurasi cluster pengguna, temukan kolom
componentAccessServiceAccountKeyPath
, bagiangkeConnect
, bagianstackdriver
, dan bagiancloudAudigLogging
. Di tempat tersebut, ganti jalur ke file kunci akun layanan.Simpan perubahan yang Anda buat dengan menjalankan perintah berikut:
Anda dapat mengganti kunci untuk satu komponen satu per satu, atau Anda dapat mengganti semua kunci sekaligus dengan menyetel komponen ke
sakeys
.gkectl update credentials COMPONENT \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config ADMIN_CLUSTER_CONFIG \ --admin-cluster gkectl update credentials COMPONENT \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config USER_CLUSTER_CONFIG
Ganti kode berikut:
COMPONENT
: salah satu dari:componentaccess
register
cloudauditlogging
stackdriver
sakeys
(merotasi semua kunci komponen)
ADMIN_CLUSTER_KUBECONFIG
: jalur ke file kubeconfig untuk cluster admin.ADMIN_CLUSTER_CONFIG
: jalur ke file konfigurasi cluster admin.USER_CLUSTER_CONFIG
: jalur ke file konfigurasi cluster pengguna.
Pembuatan ulang node
Beberapa rotasi kunci akun layanan mungkin memerlukan waktu lebih lama karena pembuatan ulang node diperlukan:
Service account | Pembuatan ulang node diperlukan |
---|---|
Akses komponen | Jika menggunakan Artifact Registry: Ya Jika menggunakan registry pribadi: Tidak |
Logging audit | Cluster admin: Ya, tetapi hanya node bidang kontrol Cluster pengguna menggunakan kubeception: Tidak Cluster pengguna menggunakan Controlplane V2: Ya, tetapi hanya node bidang kontrol |
Logging-monitoring | Tidak |
Connect-register | Tidak |
Untuk rotasi kunci yang mengharuskan node dibuat ulang, node diganti dalam proses update bertahap; yaitu, node dibuat ulang satu per satu.
Kemungkinan periode nonaktif selama rotasi kunci mirip dengan periode nonaktif untuk upgrade cluster. Untuk mengetahui detailnya, lihat Waktu nonaktif selama upgrade.
Memulihkan cadangan
Jika Anda perlu memulihkan cadangan secret yang Anda buat sebelumnya, jalankan perintah berikut:
kubectl apply -f backup/
Perbedaan cluster lanjutan untuk merotasi kunci akun layanan
Perintah gkectl update credentials
hanya didukung sebagian untuk cluster lanjutan. Tabel berikut mencantumkan variasi perintah yang didukung dan tidak didukung:
Perintah | Deskripsi | Dukungan |
---|---|---|
gkectl update credentials certificate-authorities rotate |
Merotasi certificate authority. | Didukung |
gkectl update credentials certificate-authorities status |
(Pratinjau) Lihat status rotasi otoritas sertifikat. | Didukung |
gkectl update credentials certificate-authorities update-kubeconfig |
Download file kubeconfig dengan sertifikat klien terbaru. | Didukung |
gkectl update credentials cloudauditlogging |
Perbarui kredensial Cloud Audit Logs. | Tidak Didukung |
gkectl update credentials componentaccess |
Perbarui kredensial kunci akun layanan akses komponen untuk cluster yang dibuat dengan Google Distributed Cloud untuk VMware. | Didukung |
gkectl update credentials f5bigip |
Perbarui kredensial load balancer F5 BIG-IP. | Tidak Diperlukan |
gkectl update credentials ksa-signing-key rotate |
Merotasi kunci penandatanganan token akun layanan Kubernetes (KSA). | Tidak Didukung |
gkectl update credentials ksa-signing-key status |
Melihat status rotasi kunci penandatanganan token KSA yang sedang berlangsung. | Tidak Didukung |
gkectl update credentials |
Perbarui kredensial cluster. | Didukung |
gkectl update credentials privateregistry |
Memperbarui kredensial registry pribadi untuk cluster. | Didukung |
gkectl update credentials register |
Perbarui kredensial kunci akun layanan terdaftar. | Didukung |
gkectl update credentials sakeys |
Perbarui kredensial kunci akun layanan untuk cluster. | Didukung |
gkectl update credentials stackdriver |
(Pratinjau) Perbarui kredensial Google Cloud Observability. | Didukung |
gkectl update credentials vsphere |
Perbarui kredensial vSphere untuk cluster. | Didukung |
Untuk daftar lengkap fitur dan kemampuan Google Distributed Cloud untuk VMware yang didukung atau tidak didukung untuk cluster lanjutan, lihat Perbedaan saat menjalankan cluster lanjutan.