בדף הזה מוסבר איך לכבות ולהפעיל מחדש כל אחד מה-blades של מכשיר Google Distributed Cloud (GDC) air-gapped, למשל כדי להעביר את המכשיר לצורך תחזוקה של blade.
לפני שמתחילים
לפני שממשיכים, חשוב לעצור את כל עומסי העבודה. Google לא יכולה להבטיח מה יקרה אם עומסי עבודה יהיו פעילים במהלך כיבוי.
אם רוצים לכבות את כל הלהבים, פועלים לפי ההוראות שבקטע כיבוי המכשיר. כשפועלים לפי ההוראות האלה, צריך לכבות רק להב אחד ולהשאיר את מכשיר Google Distributed Cloud (GDC) עם שני להבים פעילים.
דרישות מוקדמות
- אפשר להריץ את קובץ runbook הזה במחשב נייד או בתחנת עבודה שמחוברים לרשת של מכשיר Google Distributed Cloud (GDC) עם air gap. אפשר גם לחבר מחשב נייד או תחנת עבודה למתג באמצעות ההוראות שבקטע חיבור המכשיר.
- מוודאים שיש לכם גישה ל-Kubeconfig עבור אשכול האדמין הראשי.
- מגדירים את משתנה הסביבה הנכון של KUBECONFIG על ידי הפעלת הפקודה
export KUBECONFIG=<path to kubeconfig>.
כיבוי השרת
מריצים את הפקודה
kubectl get nodes -Aכדי לקבל את פרטי הצומת. קובעים אתNODE_NAMEשל ה-blade שרוצים לכבות.כדי להשהות את הסנכרון של BareMetalHost, מריצים את הפקודה הבאה כדי להשבית את השרת:
kubectl annotate bmhost -n gpc-system NODE_NAME "baremetalhost.metal3.io/paused=true" --overwriteפלט לדוגמה של הפקודה הזו:
baremetalhost.metal3.io/**-**-bm** annotatedמגדירים את צומת היעד:
kubectl cordon NODE_NAMEפלט לדוגמה:
node/**-**-bm** cordonedמרוקנים את צומת היעד:
kubectl drain NODE_NAME --delete-emptydir-data --grace-period 900 --ignore-daemonsets --disable-evictionפלט לדוגמה:
node/**-**-bm** already cordoned WARNING: ignoring DaemonSet-managed Pods: kube-system/anetd-krj2z, kube-system/etcd-defrag-xh469, kube-system/ipam-controller-manager-2f4dz, kube-system/istio-cni-node-cgqv4, kube-system/kube-proxy-5mwf2, kube-system/localpv-mn2jh, kube-system/metallb-speaker-6l7sv, mon-system/mon-node-exporter-backend-nd8mp, netapp-trident/netapp-trident-node-linux-rrlmd, obs-system/anthos-audit-logs-forwarder-tpfqv, obs-system/anthos-log-forwarder-npjh4, obs-system/kube-control-plane-metrics-proxy-wp8nh, obs-system/log-failure-detector-crbnv, obs-system/oplogs-forwarder-sqwvj, vm-system/macvtap-v9pgp, vm-system/virt-handler-86khx pod/grafana-0 deleted pod/capi-kubeadm-bootstrap-controller-manager-1.30.400-gke.136lvgtf deleted pod/grafana-0 deleted pod/grafana-proxy-server-86d8fc4758-mkc4f deleted . . .מבצעים כיבוי מבוקר של צומת היעד:
השבתה של
NODE_NAMEבאמצעות iLO:מאחזרים את פרטי הכניסה כדי לגשת ל-iLO:
מציאת שם המשתמש:
kubectl get secret bmc-credentials-NODE_NAME -n gpc-system -o jsonpath="{.data.username}" | base64 --decodeכדי לקבל את הסיסמה:
kubectl get secret bmc-credentials-NODE_NAME -n gpc-system -o jsonpath="{.data.password}" | base64 --decodeאחזור כתובת
BMC-IPשלNODE_NAMEמהערכים בעמודהBMC-IP:kubectl get servers -A
עוברים לכתובת
BMC-IPשהתקבלה בשלב הקודם ונכנסים לחשבון באמצעות שם המשתמש והסיסמה שהתקבלו.מעבירים את העכבר מעל הלחצן הראשון בשורה העליונה. אמור להופיע הכיתוב
Power: ON. לוחצים עליו. יופיע תפריט נפתח. לוחצים על הפריט הראשון עם התוויתMomentary Press. הצבע של הלחצן ישתנה מירוק לכתום, כלומר הצומת נסגר. מחכים שהלחצן ישנה את הצבע שלו לצהוב, כדי לדעת שהמכשיר כבוי. התהליך הזה יימשך כמה דקות.
ממתינים 30 דקות לסיום תהליך ההתאמה.
הפעלה מחדש של השרת
בקטע הזה מתוארים השלבים להפעלה של blade שהושבת קודם.
דרישות מוקדמות
אפשר להריץ את קובץ runbook הזה במחשב נייד או בתחנת עבודה שמחוברים לרשת של מכשיר Google Distributed Cloud (GDC) עם air gap. אפשר גם לחבר מחשב נייד או תחנת עבודה למתג באמצעות ההוראות שבקטע חיבור המכשיר. מוודאים שיש לכם גישה ל-Kubeconfig עבור אשכול האדמין הראשי. מגדירים את משתנה הסביבה KUBECONFIG על ידי הפעלת הפקודה export KUBECONFIG=<path to kubeconfig>.
תוכנית פעולה
לוחצים על כפתור ההפעלה בלהב. אחרי שמפעילים את ה-blade, מחכים כמה דקות עד שמישור הבקרה מתחבר.
kubectlאמור להתחבר למישור הבקרה תוך פחות מ-30 דקות.מריצים את הפקודה
kubectl get nodes -Aכדי לקבוע את השם של צומת היעד.כדי לאפשר תזמון, צריך להסיר את ההגנה מהצומת של היעד:
kubectl uncordon `NODE_NAME`מחדשים את הסנכרון של BareMetalHost לצומת היעד:
kubectl annotate bmhost -n gpc-system NODE_NAME "baremetalhost.metal3.io/paused=false" --overwriteממתינים 30 דקות לסיום תהליך ההתאמה.