במסמך הזה מוסבר איך להוציא ארגון משימוש בהטמעה היברידית. הוצאה משימוש של ארגון פירושה מחיקה של כל הנתונים שקשורים לארגון בכל ה-pods של Cassandra בכל אשכולות Kubernetes.
מגבלות
אפשר להוציא משימוש רק ארגון אחד בכל פעם. אי אפשר להוציא משימוש כמה ארגונים בו-זמנית.
אחזור שם הארגון
חלק מהפקודות בהוראות האלה מחייבות שימוש בשם ארגון בפורמט מתאים.
כדי לקבל את שם הארגון לשימוש בפקודות בדף הזה:
- מאחזרים את שם הארגון מקובץ
overrides.yamlשל הארגון. - אם שם הארגון מכיל מקפים ("-"), צריך להחליף אותם בקו תחתון ("_").
הוראות
כדי להוציא ארגון מפריסת היברידית, פועלים לפי ההוראות הבאות.
- גיבוי הארגון
- אם הגיבויים לא מופעלים, מפעילים אותם בפריסה ההיברידית. בסביבות פריסה מרובות אזורים, משתמשים בפריסה היברידית שפועלת באזור הראשי. מידע על גיבויים היברידיים זמין במאמר בנושא סקירה כללית על גיבוי של Cassandra.
- מפעילים עבודת גיבוי היברידית באמצעות הפקודה הבאה:
kubectl create job -n apigee --from=cronjob/apigee-cassandra-backup BACKUP_JOB_NAME
BACKUP_JOB_NAME יכול להיות כל שם קונטיינר תקין.
-
אחרי שמשימת הגיבוי מסתיימת, צריך לפעול לפי ההוראות שבקטעים בדיקת הסטטוס של משימת הגיבוי ו בדיקת יומני הגיבוי במאמר מעקב אחרי גיבויים כדי לוודא שהגיבוי הצליח.
- (אופציונלי) אם הגדרתם טלמטריה של Apigee (מדדים ו-Logger) בארגון שיימחק, תצטרכו לבצע את השלבים הבאים כדי להגדיר אותם מחדש כך שהמדדים ונתוני היומן יחולו על ארגון או פרויקט חדשים.
- מריצים את הפקודה הזו בארגון שאליו רוצים לשלוח את הנתונים. חשוב להקפיד להשתמש בקובץ
overrides.yamlשל הארגון. לדוגמה, אם הארגון שיוצא משימוש הוא test-dev, קובץoverrides.yamlצריך להכיל שדה orgorg: test-dev.helm upgrade telemetry apigee-telemetry/ \ --namespace apigee \ --atomic \ -f OVERRIDES_FILE.yaml
-
מריצים את הפקודה הזו, ומקפידים להשתמש בארגון או בפרויקט הנכונים:
kubectl -n apigee get apigeetelemetry apigee-telemetry -oyaml | grep `gcpProjectID:`
- מחיקת משאבי Kubernetes של הארגון מהפריסה ההיברידית.
- מוודאים שההקשר הנוכחי הוא ההקשר הנכון עבור אשכול Kubernetes של המקור:
kubectl config current-context
אם צריך, מגדירים את ההקשר של Kubernetes.
כדי לראות את שם ההקשר של כל אשכול, מריצים את הפקודה הבאה:
kubectl config get-contexts
מגדירים את ההקשר לאשכול ולתחום שרוצים להוציא משימוש:
kubectl config use-context CONTEXT_NAME
כאשר CONTEXT_NAME הוא שם ההקשר של האשכול והאזור.
לדוגמה:
kubectl config get-contextsCURRENT NAME CLUSTER AUTHINFO NAMESPACE gke_example-org-1_us-central1_example-cluster-1 gke_example-org-1_us-central1_example-cluster-1 gke_example-org-1_us-central1_example-cluster-1 apigee * gke_example-org-1_us-central1_example-cluster-2 gke_example-org-1_us-central1_example-cluster-2 gke_example-org-1_us-central1_example-cluster-2 apigee gke_example-org-1_us-west1_example-cluster-2 gke_example-org-1_us-west1_example-cluster-2 gke_example-org-1_us-west1_example-cluster-2 apigeekubectl config use-context gke_example-org-1_us-west1_example-cluster-2 - מוחקים את ה-virtualhost.
חוזרים על הפעולה לכל קבוצת סביבות:
helm -n apigee delete ENV_GROUP_NAME
- מוחקים את הסביבות. חוזרים על הפעולה לכל סביבה:
helm -n apigee delete ENV_NAME
- מוחקים את הארגון ב-Apigee.
helm -n apigee delete ORG_NAME
- מוודאים שההקשר הנוכחי הוא ההקשר הנכון עבור אשכול Kubernetes של המקור:
- מוחקים את הנתונים הארגוניים מהפריסה ההיברידית. אחרי השלמת השלב הזה, כל הנתונים של הארגון יימחקו מהפריסה ההיברידית.
- מריצים את הפקודה exec אל הפוד
apigee-cassandra-default-0:kubectl exec -it -n apigee apigee-cassandra-default-0 -- /bin/bash
- מריצים את הפקודה הבאה. מעתיקים את רשימת כל השמות שמופיעים בפלט.
תצטרכו את הרשימה הזו בהמשך.
find /opt/apigee/data/apigee-cassandra/ -iname '*ORG_NAME_hybrid' -type d -maxdepth 2 -printf "%f\n"
הוראות איך למצוא ולהכין את ORG_NAME מופיעות במאמר איך מקבלים את שם הארגון.
יציאה מתא
apigee-cassandra-default-0. - יוצרים פוד של לקוח לניפוי באגים ב-Cassandra, כמו שמתואר במאמר בנושא יצירת מאגר לקוחות לניפוי באגים.
אחרי שמקבלים הנחיה
cqlsh, עוברים לשלב הבא. - מריצים את הפקודות הבאות בהנחיה
cqlsh:desc keyspaces;
מוודאים שהפקודה הזו לא מחזירה שגיאות.
לכל שם ברשימה שנוצרה קודם מ-
apigee apigee-cassandra-default-0, מריצים את הפקודות הבאות:drop keyspace
; יוצאים מה-pod של לקוח ניפוי הבאגים של Cassandra.
- מבצעים הפעלה מחדש מתגלגלת של כל ה-pods של Cassandra. אפשר להפעיל מחדש את ה-pods של Cassandra בכל סדר, כל עוד מפעילים מחדש רק pod אחד של Cassandra בכל פעם. בפריסות מרובות אזורים, מבצעים הפעלה מחדש מתגלגלת בכל פוד Cassandra בכל אזור היברידי.
מריצים את הפקודה הבאה ומוודאים שהמצב הוא 'פועל':
kubectl get apigeeds -n apigee
מפעילים מחדש פוד יחיד של Cassandra באמצעות הפקודה הבאה:
kubectl delete pod -n apigee CASSANDRA_POD_NAME
מחכים שה-pod יגיע למצב
Runningבאמצעות הפקודה:kubectl get pods -n apigee
מפעילים מחדש את ה-pod הבא של Cassandra.
- אחרי שמריצים את הפקודות
cqlsh, מריצים את הפקודות הבאות בכל הפודים של Cassandra בפריסה ההיברידית. בפריסות היברידיות מרובות אזורים, מריצים את הפקודות בכל פוד Cassandra בכל האזורים ההיברידיים.kubectl exec -it -n apigee CASSANDRA_POD_NAME -- /bin/bash
find /opt/apigee/data/apigee-cassandra/ -iname '*ORG_NAME_hybrid' -type d -maxdepth 2
הוראות איך למצוא ולהכין את ORG_NAME מופיעות במאמר איך מקבלים את שם הארגון.
find /opt/apigee/data/apigee-cassandra/ -iname '*ORG_NAME_hybrid' -type d -maxdepth 2 -exec rm -rf {} +
-
יוצאים מה-pod של Cassandra.
- מריצים את הפקודה exec אל הפוד