Halaman ini menjelaskan cara merotasi kunci untuk akun layanan berikut:
Untuk merotasi kunci akun layanan:
Buat direktori untuk menyimpan cadangan secret Anda saat ini:
mkdir backup
Perhatikan informasi berikut untuk akun layanan yang relevan:
Akses komponen
Cluster Rahasia Namespace Admin admin-cluster-cred 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 registry pribadi, Secret
private-registry-creds
akan menyimpan kunci untuk akun layanan akses komponen Anda. - Jika Anda menggunakan registry pribadi, Secret
private-registry-creds
akan menyimpan kredensial untuk registry pribadi Anda, bukan kunci akun layanan akses komponen.
Hubungkan-daftar
Cluster Rahasia Namespace Admin admin-cluster-cred kube-system Admin user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt Pemantauan logging
Cluster Rahasia Namespace Admin admin-cluster-cred kube-system Admin user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt Pengguna google-cloud-credentials kube-system Pengguna stackdriver-service-account-key knative-serving Log audit
Cluster Rahasia Namespace Admin admin-cluster-cred kube-system Admin user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt Admin kube-apiserver CLUSTER_NAME Pengukuran Penggunaan
Cluster Rahasia Namespace Admin user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt Pengguna usage-metering-bigquery-service-account-key kube-system Stackdriver
Cluster Rahasia Namespace Admin admin-cluster-cred 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 registry pribadi, 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 rahasia berada. Contoh,kube-system
.KUBECONFIG
: jalur ke file kubeconfig untuk admin atau cluster pengguna.SECRET
: nama rahasia. Contoh,admin-cluster-creds
.
Misalnya, jalankan perintah berikut untuk akun layanan logging 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
Di file konfigurasi cluster admin, cari kolom
componentAccessServiceAccountKeyPath
, bagiangkeConnect
, bagianstackdriver
, dan bagiancloudAuditLogging
. Di tempat tersebut, ganti jalur ke file kunci akun layanan.Pada file konfigurasi cluster pengguna, temukan kolom
componentAccessServiceAccountKeyPath
, bagiangkeConnect
, bagianstackdriver
, bagiancloudAudigLogging
, dan bagianusageMetering
. Di tempat tersebut, ganti jalur ke file kunci akun layanan.Simpan perubahan yang Anda buat dengan menjalankan perintah berikut. Anda dapat merotasi kunci untuk satu komponen pada satu waktu, atau memutar 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
usagemetering
stackdriver
sakeys
(Merotasi kunci untuk beberapa 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 | Perlu pembuatan ulang node |
---|---|
Akses komponen | Jika menggunakan Container Registry: Ya Jika menggunakan registry pribadi: Tidak |
Logging audit | Cluster Admin: Ya Cluster pengguna dengan Contrlplane V2 diaktifkan: Ya, tetapi hanya node bidang kontrol |
Pemantauan logging | Tidak |
Hubungkan-daftar | Tidak |
Pengukuran penggunaan | Tidak |
Untuk rotasi kunci yang mengharuskan node dibuat ulang, node diganti dalam proses update berkelanjutan; yaitu, node dibuat ulang satu per satu.
Kemungkinan periode nonaktif selama rotasi kunci mirip dengan periode nonaktif untuk upgrade cluster. Untuk mengetahui detailnya, lihat Periode nonaktif selama upgrade.
Memulihkan cadangan
Jika Anda perlu memulihkan cadangan secret yang Anda buat sebelumnya, jalankan perintah berikut:
kubectl apply -f backup/