בדף הזה מוסבר איך לבצע רוטציה של מפתחות לחשבונות השירות הבאים:
אפשר לעיין ברשימה מקיפה של התכונות והיכולות של Google Distributed Cloud for VMware שנתמכות או לא נתמכות באשכולות מתקדמים.כדי לבצע רוטציה של מפתחות לחשבונות שירות:
יוצרים ספרייה לאחסון גיבוי של הסודות הנוכחיים:
mkdir backup
רושמים את הפרטים הבאים לגבי חשבון השירות הרלוונטי:
גישה לרכיבים
אשכול סוד מרחב שמות אדמין admin-cluster-creds kube-system אדמין user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt אדמין private-registry-creds kube-system משתמש private-registry-creds kube-system - אם אתם לא משתמשים במאגר פרטי, הסוד
private-registry-credsמכיל את המפתח של חשבון השירות של רכיב הגישה. - אם אתם משתמשים במאגר פרטי,
private-registry-credsSecret מכיל את פרטי הכניסה למאגר הפרטי, ולא את המפתח של חשבון השירות לגישה לרכיב.
Connect-register
אשכול סוד מרחב שמות אדמין admin-cluster-creds kube-system אדמין user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt Logging-monitoring
אשכול סוד מרחב שמות אדמין admin-cluster-creds kube-system אדמין user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt משתמש google-cloud-credentials kube-system משתמש stackdriver-service-account-key knative-serving רישום ביומן ביקורת
אשכול סוד מרחב שמות אדמין admin-cluster-creds kube-system אדמין user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt אדמין kube-apiserver CLUSTER_NAME Stackdriver
אשכול סוד מרחב שמות אדמין admin-cluster-creds kube-system אדמין user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt משתמש google-cloud-credentials kube-system משתמש stackdriver-service-account-key knative-serving - אם אתם לא משתמשים במאגר פרטי, הסוד
יוצרים גיבוי של כל סוד באמצעות הפקודה הבאה:
kubectl get secret SECRET --namespace NAMESPACE \ --kubeconfig KUBECONFIG -o json > backup/SECRET-NAMESPACE.jsonמחליפים את מה שכתוב בשדות הבאים:
-
NAMESPACE: מרחב השמות שבו נמצא הסוד. לדוגמה,kube-system. -
KUBECONFIG: הנתיב לקובץ kubeconfig של אשכול האדמין או אשכול המשתמש. -
SECRET: שם הסוד. לדוגמה,admin-cluster-creds.
לדוגמה, מריצים את הפקודות הבאות עבור חשבון השירות של שירות יומן הביקורת:
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-
כדי ליצור קובץ מפתח חדש של חשבון שירות, מריצים את הפקודה הבאה:
gcloud iam service-accounts keys create NEW_KEY_FILE --iam-account IAM_ACCOUNT
מחליפים את מה שכתוב בשדות הבאים:
-
NEW_KEY_FILE: השם של קובץ המפתח החדש של חשבון השירות -
IAM_ACCOUNT: כתובת האימייל של חשבון השירות
-
בקובץ התצורה של אשכול הניהול, מחפשים את השדה
componentAccessServiceAccountKeyPath, את הקטעgkeConnect, את הקטעstackdriverואת הקטעcloudAuditLogging. במקומות האלה, מחליפים את הנתיבים לקובצי המפתחות של חשבונות השירות.בקובץ התצורה של אשכול המשתמשים, מוצאים את השדה
componentAccessServiceAccountKeyPath, את הקטעgkeConnect, את הקטעstackdriverואת הקטעcloudAudigLogging. במקומות האלה, מחליפים את הנתיבים לקובצי המפתח של חשבון השירות.מריצים את הפקודות הבאות כדי לשמור את השינויים שביצעתם:
אפשר לסובב את המפתחות של רכיב אחד בכל פעם, או לסובב את כל המפתחות בבת אחת על ידי הגדרת הרכיב ל-
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מחליפים את מה שכתוב בשדות הבאים:
COMPONENT: אחת מהאפשרויות הבאות:componentaccessregistercloudauditloggingstackdriversakeys(מחליף את כל מפתחות הרכיבים)
ADMIN_CLUSTER_KUBECONFIG: הנתיב לקובץ kubeconfig של אשכול האדמין.
ADMIN_CLUSTER_CONFIG: הנתיב לקובץ התצורה של אשכול האדמין.
USER_CLUSTER_CONFIG: הנתיב לקובץ התצורה של אשכול המשתמשים.
יצירה מחדש של צומת
חלק מהרוטציות של מפתחות לחשבונות שירות עשויות להימשך זמן רב יותר כי נדרשת יצירה מחדש של הצומת:
| חשבון שירות | צריך ליצור מחדש את הצמתים |
|---|---|
| גישה לרכיבים | אם משתמשים ב-Artifact Registry: כן אם משתמשים במאגר פרטי: לא |
| רישום ביומן ביקורת | קלאסטר אדמין: כן, אבל רק צמתים של מישור הבקרה קלאסטר משתמש באמצעות kubeception: לא קלאסטר משתמש באמצעות Controlplane V2: כן, אבל רק צמתים של מישור הבקרה |
| רישום ביומן ומעקב | לא |
| Connect-register | לא |
במקרה של רוטציית מפתחות שדורשת יצירה מחדש של הצמתים, הצמתים מוחלפים בתהליך של עדכון בהדרגה (rolling), כלומר הצמתים נוצרים מחדש בזה אחר זה.
זמן ההשבתה האפשרי במהלך רוטציית מפתחות דומה לזמן ההשבתה במהלך שדרוג אשכול. פרטים נוספים זמינים במאמר בנושא זמן השבתה במהלך שדרוגים.
שחזור גיבויים
אם צריך לשחזר את הגיבויים של הסודות שיצרתם קודם, מריצים את הפקודה הבאה:
kubectl apply -f backup/
הבדלים מתקדמים בין אשכולות בהחלפת מפתחות של חשבונות שירות
הפקודה gkectl update credentials נתמכת באופן חלקי בלבד באשכולות מתקדמים. בטבלה הבאה מפורטים וריאציות של פקודות שנתמכות ושלא נתמכות:
| פקודה | תיאור | תמיכה |
|---|---|---|
gkectl update credentials certificate-authorities rotate |
החלפת רשויות אישורים. | נתמך |
gkectl update credentials certificate-authorities status |
(תצוגה מקדימה) צפייה בסטטוס של סבב הרשאות האישורים. | נתמך |
gkectl update credentials certificate-authorities update-kubeconfig |
מורידים קובץ kubeconfig עם אישור הלקוח העדכני ביותר. | נתמך |
gkectl update credentials cloudauditlogging |
עדכון פרטי הכניסה של יומני הביקורת ב-Cloud. | לא נתמך |
gkectl update credentials componentaccess |
מעדכנים את פרטי הכניסה של מפתח חשבון השירות לגישה לרכיבים עבור אשכולות שנוצרו באמצעות Google Distributed Cloud ל-VMware. | נתמך |
gkectl update credentials f5bigip |
עדכון פרטי הכניסה למאזן העומסים F5 BIG-IP. | לא נדרש |
gkectl update credentials ksa-signing-key rotate |
מחליפים את מפתח החתימה של אסימון חשבון השירות (KSA) ב-Kubernetes. | לא נתמך |
gkectl update credentials ksa-signing-key status |
הצגת הסטטוס של רוטציה מתמשכת של מפתח לחתימה על טוקן KSA. | לא נתמך |
gkectl update credentials |
עדכון פרטי הכניסה לאשכול. | נתמך |
gkectl update credentials privateregistry |
עדכון פרטי הכניסה למאגר פרטי עבור אשכול. | נתמך |
gkectl update credentials register |
מעדכנים את פרטי הכניסה של מפתח חשבון השירות. | נתמך |
gkectl update credentials sakeys |
עדכון של פרטי הכניסה של מפתחות לחשבונות שירות עבור אשכול. | נתמך |
gkectl update credentials stackdriver |
(תצוגה מקדימה) עדכון של פרטי הכניסה של Google Cloud Observability. | נתמך |
gkectl update credentials vsphere |
עדכון פרטי הכניסה ל-vSphere עבור אשכול. | נתמך |
רשימה מקיפה של התכונות והיכולות של Google Distributed Cloud for VMware שנתמכות או לא נתמכות באשכולים מתקדמים מופיעה במאמר ההבדלים בהפעלת אשכולים מתקדמים.