Managed Airflow (דור 3) | Managed Airflow (דור 2) | Managed Airflow (דור 1 מדור קודם)
בדף הזה מוסבר איך לבצע בדיקות מעבר לגיבוי (failover) של מסדי נתונים ושל אשכולות בסביבות עמידות במיוחד.
בדיקות מעבר לגיבוי (Failover) בסביבה שלכם מדמות הפסקה מלאה של אזור במרכז נתונים. בתרחיש כזה, יכול להיות שיהיה שיבוש זמני באזור של אשכול ושיבוש זמני באזור של מסד נתונים בו-זמנית. ביצוע שתי בדיקות מעבר לגיבוי מאפשר לעקוב אחרי הביצועים של סביבה עמידה מאוד במהלך מעבר לגיבוי, ולבדוק איך זה משפיע על קבוצות הזמינות של מסדי הנתונים ועל המשימות.
לפני שמתחילים
כדי לבצע בדיקות יתירות כשל, לחשבון Google שלכם צריכים להיות התפקידים וההרשאות הבאים:
composer.environments.updateהרשאה. במאמר בקרת גישה באמצעות IAM מופיעה רשימה של תפקידים עם ההרשאה הזו.תפקיד Kubernetes Engine Cluster Admin (
roles/container.clusterAdmin) כדי להריץ פקודותkubectlבאשכול של הסביבה. אפשרות נוספת היא להקצות תפקידים ב-RBAC ב-Kubernetes ישירות ב-GKE.
אם אתם משתמשים ברשתות מורשות, אתם צריכים להריץ
kubectlפקודות ממכונה שיש לה גישה לנקודת הקצה של מישור הבקרה של אשכול GKE. בהתאם לאופן שבו הגדרתם את הגישה לנקודת הקצה של מישור הבקרה בסביבה שלכם, אתם יכולים להשתמש בכמה אפשרויות. מידע נוסף זמין במאמר בנושא הרצת פקודות בסביבת IP פרטית.
בדיקה שהסביבה תקינה
חשוב לבצע בדיקות של מעבר אוטומטי לגיבוי רק בסביבות תקינות. כדי לבדוק שהסביבה תקינה:
נכנסים לדף Environments במסוף Google Cloud .
ברשימת הסביבות, לוחצים על שם הסביבה. הדף Environment details ייפתח.
עוברים לכרטיסייה מעקב.
מוודאים שכל מדדי התקינות ירוקים.
ביצוע בדיקת מעבר לגיבוי (failover) של מסד נתונים
אתם יכולים לבצע בדיקת מעבר לגיבוי (failover) של מסד נתונים, שמדמה הפסקת חשמל אזורית, על ידי הפעלה שלה באמצעות פקודה ב-Google Cloud CLI. לדוגמה, יכול להיות שתרצו לעשות את זה כדי למדוד את משך הזמן שנדרש למסד הנתונים בסביבה שלכם כדי לעבור לאזור אחר.
כדי לבצע בדיקת מעבר לגיבוי (failover) של מסד הנתונים בסביבה שלכם:
מוודאים שהסביבה תקינה.
מקבלים את האזור הראשי של מסד הנתונים של הסביבה:
gcloud composer environments fetch-database-properties \ ENVIRONMENT_NAME \ --location LOCATIONמחליפים את מה שכתוב בשדות הבאים:
-
ENVIRONMENT_NAME: השם של סביבת Cloud Composer. -
LOCATION: האזור שבו נמצאת הסביבה.
דוגמה:
gcloud composer environments fetch-database-properties \ example-environment \ --location us-central1-
מתחילים את בדיקת המעבר לגיבוי של מסד הנתונים:
gcloud composer environments database-failover \ ENVIRONMENT_NAME \ --location LOCATIONמחליפים את מה שכתוב בשדות הבאים:
-
ENVIRONMENT_NAME: השם של סביבת Cloud Composer. -
LOCATION: האזור שבו נמצאת הסביבה.
דוגמה:
gcloud composer environments database-failover \ example-environment \ --location us-central1-
מחכים עד שהבדיקה של המעבר לגיבוי (failover) של מסד הנתונים תסתיים. התהליך יכול להימשך עד 3 דקות.
בודקים שאזור הזמן הראשי של מסד הנתונים בסביבה השתנה:
gcloud composer environments fetch-database-properties \ ENVIRONMENT_NAME \ --location LOCATIONבודקים את מדדי התקינות של הסביבה כדי לוודא שהסביבה תקינה.
מסד הנתונים בסביבה שלכם מוכן למעבר גיבוי אוטומטי נוסף כשמדד הסביבה Database available for failover (
composer.googleapis.com/environment/database/available_for_failover) משתנה ל-True. למידע נוסף על צפייה במדדים של הסביבה ב-Cloud Monitoring, אפשר לעיין במאמר בנושא מעקב אחרי סביבות.
ביצוע בדיקת מעבר לגיבוי בענן של האשכול בסביבה
אתם יכולים לבצע בדיקת מעבר לגיבוי (failover) עבור האשכול בסביבה שלכם, שמדמה הפסקת חשמל אזורית. לדוגמה, יכול להיות שתרצו לעשות את זה כדי למדוד את משך הזמן שנדרש לסביבה שלכם כדי לעבור לאזור אחר.
בדיקה שהסביבה תקינה
לפני שמתחילים את הבדיקה, חשוב לוודא שהסביבה תקינה.
הגדרת פרטי כניסה לאשכול בסביבה
כדי לקבל פרטי כניסה לאשכול:
נכנסים לדף Environments במסוף Google Cloud .
ברשימת הסביבות, לוחצים על שם הסביבה. הדף Environment details ייפתח.
עוברים לכרטיסייה Environment configuration (הגדרת הסביבה).
לוחצים על הצגת פרטי האשכול.
לוחצים על Connect.
מעתיקים ומריצים את הפקודה שמוצגת ב-Google Cloud CLI.
לדוגמה:
gcloud container clusters get-credentials \ us-central1-exam-db23ee12-gke \ --region us-central1 \ --project example-project
בדיקת האשכול בסביבה
בודקים את האזורים והצמתים שבהם עומסי העבודה פועלים באשכול של הסביבה. תשתמשו במידע הזה בהמשך כדי לדמות הפסקת חשמל אזורית. אפשר גם להריץ את הפקודות האלה שוב בזמן שמבצעים את בדיקת המעבר לגיבוי (failover), כדי לראות איך האשכול בסביבה שלכם מבצע את המעבר לגיבוי.
בדיקת הצמתים והתחומים:
kubectl get nodes \ -o=custom-columns=NAME:.metadata.name,NODE:.metadata.labels.topology\\.gke\\.io/zoneבודקים את הפודים:
kubectl get pods --all-namespaces \ -o=custom-columns=NAME:.metadata.name,STATUS:.status.phase,NODE:.spec.nodeName \ --field-selector metadata.namespace!=kube-systemכדי לראות מידע מפורט יותר על פודים:
kubectl get pods --all-namespaces -o wide \ --field-selector metadata.namespace!=kube-system
הוצאת צמתים משימוש
בוחרים אזור שבו רוצים לדמות הפסקת חשמל. אם מבצעים את בדיקת המעבר האוטומטי של האשכול יחד עם בדיקת המעבר האוטומטי של מסד הנתונים, כדאי לבחור את האזור הראשי של מופע Cloud SQL עם זמינות גבוהה בסביבה שלכם.
לדוגמה, אם מופע Cloud SQL הראשי פועל באזור us-central1-a, אפשר לדמות הפסקת חשמל באזור us-central1-a כולו. לשם כך, קודם מבצעים את בדיקת המעבר האוטומטי של מסד הנתונים, ואז את בדיקת המעבר האוטומטי של האשכול ב-us-central1-a.
הפקודה הבאה מדמה מצב שבו קבוצה של צמתים לא זמינה באזור מסוים. היא מפנה בכוח את ה-Pods מהצמתים באזור שצוין ומונעת תזמון מחדש של ה-Pods בצמתים האלה. אי אפשר לתזמן Pods חדשים, ולכן צמתים חדשים מתווספים לאשכול.
הפקודה הזו לא משפיעה על עומסי עבודה שפועלים במרחב השמות composer-system. יכול להיות שיוצגו הודעות שגיאה שקשורות לכך בפלט פקודה. הפעולה הזו לא משפיעה על בדיקת המעבר לגיבוי. הצמתים שקיימים באזור שנבחר עדיין מסומנים כצמתים שלא ניתן לתזמן בהם משימות.
כדי לדמות כשל באזור של אשכול באזור שנבחר:
kubectl get nodes -o name -l "topology.gke.io/zone=ZONE" | \
xargs kubectl drain \
--ignore-daemonsets --delete-emptydir-data --force --disable-eviction
מחליפים את מה שכתוב בשדות הבאים:
-
ZONE: האזור שבו רוצים לדמות כשל באזור של אשכול.
בדיקת מדדים של הסביבה
נכנסים לדף Environments במסוף Google Cloud .
ברשימת הסביבות, לוחצים על שם הסביבה. הדף Environment details ייפתח.
עוברים לכרטיסייה מעקב.
צריך לוודא שהמדדים הבאים הם 'ירוקים' במהלך פעולת המעבר לגיבוי, או שהסטטוס שלהם נשאר 'אדום' למשך כמה דקות לכל היותר.
- בריאות הסביבה
- פעימת לב של מתזמן
- תקינות שרת האינטרנט
- תקינות מסד הנתונים
- עובדים פעילים
- מתזמני בקשות פעילים
- שרתי אינטרנט פעילים
- טריגרים פעילים
שימו לב שהפסקת השירות המדומה מסומנת כ'פעולת תחזוקה של אשכול'.
לא צריך לבצע פעולות נוספות כדי להחזיר את האשכול של הסביבה למצב מוכנות ליתירות כשל לאחר הבדיקה. במהלך הבדיקה, אשכול הסביבה מוסיף באופן אוטומטי צמתים חדשים שמחליפים את הצמתים שהושפעו מההשבתה המדומה.