ההליך הזה מתייחס לשדרוג מ-Apigee hybrid גרסה 1.8.x ל-Apigee hybrid גרסה 1.9.4, ומגרסאות קודמות של hybrid 1.9.x לגרסה 1.9.4.
אפשר להשתמש באותן פעולות לשדרוג גרסה משנית (לדוגמה, מגרסה 1.8 לגרסה 1.9) ולשדרוג גרסת תיקון (לדוגמה, מגרסה 1.9.0 לגרסה 1.9.4).
אם אתם משדרגים מ-Apigee Hybrid בגרסה 1.7 או בגרסה ישנה יותר, אתם צריכים לשדרג קודם לגרסה 1.8 לפני שאתם משדרגים לגרסה 1.9.4. אפשר לעיין בהוראות בנושא שדרוג Apigee Hybrid לגרסה 1.8.
החל מגרסה 1.9.0, Apigee Hybrid תומך רק ב-Apigee Ingress Gateway כשכבת הכניסה (ingress).
סקירה כללית של שדרוג לגרסה 1.9.4
ההליכים לשדרוג Apigee hybrid מאורגנים בקטעים הבאים:
דרישות מוקדמות
- ההנחיות לשדרוג מניחות שגרסה 1.8.x של Apigee Hybrid מותקנת אצלכם, ואתם רוצים לשדרג אותה לגרסה 1.9.4. אם אתם מעדכנים מגרסה קודמת, כדאי לעיין בהוראות לשדרוג Apigee Hybrid לגרסה 1.8.
- בגרסה 1.8 של Apigee Hybrid, השקנו את Apigee ingress gateway כשכבת Ingress חלופית ל-Anthos Service Mesh. החל מגרסה 1.9.0, ב-Apigee hybrid צריך להשתמש בשער כניסה של Apigee, ואין יותר תמיכה בשימוש ב-Anthos Service Mesh לכניסה. אם ההתקנה שמשדרגים ממנה משתמשת ב-Anthos Service Mesh, צריך קודם לעבור לשימוש בשער כניסה של Apigee לפני שמשדרגים לגרסה 1.9.4.
שער הכניסה של Apigee משתמש בקבוצת משנה קטנה של תכונות Anthos Service Mesh לשער הכניסה. הניהול והשדרוג של התכונות האלה מתבצעים באופן אוטומטי על ידי Apigee hybrid. לכן לא צריך מומחיות ב-Anthos Service Mesh כדי להתקין, לשדרג ולנהל את שער הכניסה של Apigee Hybrid.
הוראות מפורטות מופיעות במאמר העברה אל שער כניסה של Apigee בתיעוד של Hybrid v1.8.
הכנה לשדרוג לגרסה 1.9
גיבוי של ההתקנה ההיברידית (מומלץ)
- בהוראות האלה נעשה שימוש במשתנה הסביבה APIGEECTL_HOME עבור הספרייה במערכת הקבצים שבה התקנתם את
apigeectl. אם צריך, משנים את הספרייה לספרייהapigeectlומגדירים את המשתנה באמצעות הפקודה הבאה:Linux
export APIGEECTL_HOME=$PWD
echo $APIGEECTL_HOMEMac OS
export APIGEECTL_HOME=$PWD
echo $APIGEECTL_HOMEWindows
set APIGEECTL_HOME=%CD%
echo %APIGEECTL_HOME% - יוצרים עותק גיבוי של ספריית
$APIGEECTL_HOME/בגרסה 1.8. לדוגמה:tar -czvf $APIGEECTL_HOME/../apigeectl-v1.8-backup.tar.gz $APIGEECTL_HOME - מגבים את מסד הנתונים של Cassandra לפי ההוראות במאמר בנושא גיבוי ושחזור של Cassandra.
מוסיפים את התפקיד Cloud Trace Agent לחשבון השירות של זמן הריצה של Apigee. (אופציונלי)
אופציונלי: אם אתם מתכננים להשתמש ב-Cloud Trace ועדיין לא הוספתם את התפקיד Cloud Trace Agent להתקנה היברידית בגרסה 1.8, ודאו שלחשבון השירות שלכם בשירותי זמן הריצה של Apigee יש את תפקיד Google Cloud IAM Cloud Trace Agent (roles/cloudtrace.agent).
בסביבות ייצור, חשבון השירות בזמן הריצה הוא apigee-runtime. בסביבות שאינן סביבות ייצור, חשבון השירות בזמן הריצה הוא apigee-non-prod.
אפשר להוסיף את התפקיד בממשק המשתמש של מסוף Cloud > IAM ואדמין > חשבונות שירות או באמצעות הפקודות הבאות:
- כדי לקבל את כתובת האימייל של חשבון השירות, מריצים את הפקודה הבאה:
ייצור
gcloud iam service-accounts list --filter "apigee-runtime"
אם כתובת האימייל תואמת לדפוס
apigee-runtime@$ORG_NAME.iam.gserviceaccount.com, אפשר להשתמש בדפוס הזה בשלב הבא.Non-Prod
gcloud iam service-accounts list --filter "apigee-non-prod"
אם הוא תואם לדפוס
apigee-non-prod@$ORG_NAME.iam.gserviceaccount.com, אפשר להשתמש בדפוס הזה בשלב הבא. - מקצים לחשבון השירות את התפקיד Cloud Trace Agent:
ייצור
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member="serviceAccount:apigee-runtime@$PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/cloudtrace.agent"Non-Prod
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member="serviceAccount:apigee-non-prod@$PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/cloudtrace.agent"דוגמה
gcloud projects add-iam-policy-binding hybrid-example-project \ --member="serviceAccount:apigee-runtime@hybrid-example-project.iam.gserviceaccount.com" \ --role="roles/cloudtrace.agent"כאשר: $PROJECT_ID הוא השם של הפרויקט בענן של Google שבו מותקן Apigee Hybrid.
התקנה של שער כניסה (ingress) של Apigee אם ההתקנה משתמשת ב-Anthos Service Mesh
החל מגרסה 1.9, Apigee Hybrid לא תומך יותר בשימוש ב-Anthos Service Mesh לכניסה. אם ההתקנה שלכם ב-Hybrid משתמשת ב-Anthos Service Mesh, אתם צריכים להעביר את ההתקנה הנוכחית ל-Apigee Ingress Gateway לפני שתתקינו את גרסה 1.9 של Hybrid.
-
מוסיפים את מאפיין
ingressGatewaysלקובץ ההחלפות.תחביר
ingressGateways: - name: INGRESS_NAME replicaCountMin: REPLICAS_MIN replicaCountMax: REPLICAS_MAX resources: requests: cpu: CPU_COUNT_REQ memory: MEMORY_REQ limits: cpu: CPU_COUNT_LIMIT memory: MEMORY_LIMIT svcAnnotations: # optional. SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE svcLoadBalancerIP: SVC_LOAD_BALANCER_IP # optionalדוגמה
ingressGateways: - name: prod1 replicaCountMin: 2 replicaCountMax: 100 resources: requests: cpu: 1 memory: 1Gi limits: cpu: 2 memory: 2Gi svcAnnotations: # optional. See Known issue 243599452. networking.gke.io/load-balancer-type: "Internal" svcLoadBalancerIP: 198.252.0.123- INGRESS_NAME הוא שם הפריסה של ה-ingress. אפשר להשתמש בכל שם שעומד בדרישות הבאות:
- האורך המקסימלי הוא 17 תווים
- השם יכול להכיל רק תווים אלפאנומריים באותיות קטנות, '-' או '.'
- מתחילים בתו אלפאנומרי
- התו האחרון חייב להיות אלפאנומרי
ingressGateways[].nameזמין במאמר בנושא מאפייני הגדרות. - REPLICAS_MIN ו-REPLICAS_MAX הם מספר העותקים המינימלי והמקסימלי של שער הכניסה של Apigee בהתקנה. למידע נוסף ולהגדרות ברירת המחדל, אפשר לעיין ב
ingressGateways[].replicaCountMinובingressGateways[].replicaCountMaxבהפניה למאפייני ההגדרה. - CPU_COUNT_REQ ו-MEMORY_REQ הם בקשות המעבד והזיכרון לכל עותק של שער הכניסה של Apigee בהתקנה.
מידע נוסף והגדרות ברירת מחדל זמינים במאמרים
ingressGateways[].resources.requests.cpuוingressGateways[].resources.requests.memoryבהפניה למאפיין Configuration. - CPU_COUNT_LIMIT ו-MEMORY_LIMIT הן המגבלות המקסימליות של CPU וזיכרון לכל רפליקה של שער הכניסה של Apigee בהתקנה.
מידע נוסף והגדרות ברירת מחדל זמינים במאמרים
ingressGateways[].resources.limits.cpuוingressGateways[].resources.limits.memoryבהפניה למאפיין Configuration. - SVC_ANNOTATIONS_KEY SVC_ANNOTATIONS_VALUE (אופציונלי):
זהו צמד מפתח/ערך שמספק אנוטציות לשירות ברירת המחדל של ה-ingress. הפלטפורמה שלכם בענן משתמשת בהערות כדי לעזור לכם להגדיר את ההתקנה ההיברידית, למשל להגדיר את סוג מאזן העומסים כפנימי או חיצוני. לדוגמה:
ingressGateways: svcAnnotations: networking.gke.io/load-balancer-type: "Internal"ההערות משתנות מפלטפורמה לפלטפורמה. במאמרי העזרה של הפלטפורמה מפורטות ההערות הנדרשות והמומלצות.
מידע נוסף עלingressGateways[].svcAnnotations - SVC_LOAD_BALANCER_IP (אופציונלי) מאפשר להקצות כתובת IP סטטית למאזן העומסים. בפלטפורמות שתומכות בהגדרת כתובת ה-IP של מאזן העומסים, מאזן העומסים ייווצר עם כתובת ה-IP הזו. בפלטפורמות שלא מאפשרות לציין את כתובת ה-IP של מאזן העומסים, המאפיין הזה מושבת.
אם לא הקציתם כתובת IP סטטית למאזן העומסים, אל תכללו את המאפיין הזה בקובץ ההחלפות.
מידע נוסף עלingressGateways[].svcLoadBalancerIP
- INGRESS_NAME הוא שם הפריסה של ה-ingress. אפשר להשתמש בכל שם שעומד בדרישות הבאות:
- מחילים את השינויים כדי להתקין את שער הכניסה של Apigee באמצעות הפקודות הבאות:
$APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml
- חשיפת שער הכניסה של Apigee. פועלים לפי השלבים שמפורטים במאמר בנושא חשיפת שער כניסה של Apigee.
- כדי לבדוק את שער הכניסה החדש, צריך להתקשר לפרוקסי. מומלץ לבדוק את כל הפרוקסיים החשובים שפרסתם כרגע.
- כדי להעביר את התנועה, צריך לעדכן את רשומות ה-DNS כך שיפנו לכתובת ה-IP של שער הכניסה החדש של Apigee.
בהתאם לספק ה-DNS שלכם, יכול להיות שתוכלו להעביר את התעבורה בהדרגה לנקודת הקצה החדשה.
טיפ: אפשר למצוא את כתובת ה-IP החיצונית של שער הכניסה של Apigee באמצעות הפקודה הבאה: kubectl get svc -n apigee -l app=apigee-ingressgateway
הפלט אמור להיראות כך:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE apigee-ingressgateway-prod-hybrid-37a39bd LoadBalancer 192.0.2.123 233.252.0.123 15021:32049/TCP,80:31624/TCP,443:30723/TCP 16h
- כדי לוודא שכל התנועה בזמן הריצה פועלת, צריך לעקוב אחרי לוחות הבקרה. רק אם הכול פועל כצפוי, ממשיכים לשלב הבא. חשוב לוודא שלא עוברת תנועה דרך שער הכניסה הישן (Anthos Service Mesh), כי יכול להיות שעדכון ה-DNS יתבצע לאט בגלל שמירת ה-DNS במטמון.
- כדי להפסיק את אספקת ההגדרות מ-Apigee ל-Anthos Service Mesh, פועלים לפי השלבים במאמר הפסקת אספקת ההגדרות ל-ASM במדריך בנושא ניהול שער הכניסה של Apigee.
- בודקים מחדש את תעבורת הנתונים של proxy ל-API ועוקבים אחריה.
- פועלים לפי ההוראות שבתיעוד של Anthos Service Mesh כדי להסיר את Anthos Service Mesh מהאשכול.
התקנה של זמן הריצה של hybrid 1.9.4
- חשוב לוודא שאתם נמצאים בספריית הבסיס של ההיברידי (הספרייה הראשית שבה נמצא קובץ ההפעלה
apigeectl):cd $APIGEECTL_HOME/..
-
מורידים את חבילת הגרסה למערכת ההפעלה באמצעות הפקודה הבאה. חשוב לבחור את הפלטפורמה שלכם בטבלה הבאה:
Linux
Linux 64 bit:
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.9.4/apigeectl_linux_64.tar.gz
Mac OS
Mac 64 bit:
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.9.4/apigeectl_mac_64.tar.gz
Windows
Windows 64 bit:
curl -LO ^ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.9.4/apigeectl_windows_64.zip
- משנים את השם של ספריית
apigeectl/הנוכחית לשם של ספריית גיבוי. לדוגמה:Linux
mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.8/
Mac OS
mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.8/
Windows
rename %APIGEECTL_HOME% %APIGEECTL_HOME%-v1.8
-
מחלצים את תוכן קובץ ה-gzip שהורד לספריית הבסיס ההיברידית. ספריית הבסיס ההיברידית היא הספרייה שבה נמצאת הספרייה
apigeectl-v1.8ששמה שונה:Linux
tar xvzf filename.tar.gz -C ./
Mac OS
tar xvzf filename.tar.gz -C ./
Windows
tar xvzf filename.zip -C ./
-
כברירת מחדל, התוכן של קובץ ה-tar מורחב לספרייה עם הגרסה והפלטפורמה בשם שלה. לדוגמה:
./apigeectl_1.9.4-xxxxxxx_linux_64. משנים את שם הספרייה ל-apigeectlבאמצעות הפקודה הבאה:Linux
mv apigeectl_1.9.4-xxxxxxx_linux_64 apigeectl
Mac OS
mv apigeectl_1.9.4-xxxxxxx_mac_64 apigeectl
Windows
rename apigeectl_1.9.4-xxxxxxx_windows_64 apigeectl
-
עוברים לספרייה
apigeectl:cd ./apigeectl
הספרייה הזו היא ספריית הבית
apigeectl. זה המקום שבו נמצאת הפקודה להפעלהapigeectl. - בהוראות האלה נעשה שימוש במשתנה הסביבה
$APIGEECTL_HOMEעבור הספרייה במערכת הקבצים שבה מותקן כלי השירותapigeectl. אם צריך, משנים את הספרייה לספרייהapigeectlומגדירים את המשתנה באמצעות הפקודה הבאה:Linux
export APIGEECTL_HOME=$PWD
echo $APIGEECTL_HOME
Mac OS
export APIGEECTL_HOME=$PWD
echo $APIGEECTL_HOME
Windows
set APIGEECTL_HOME=%CD%
echo %APIGEECTL_HOME%
- כדי לוודא את הגרסה של
apigeectl, מריצים את הפקודהversion:./apigeectl version
Version: 1.9.4
- עוברים לספרייה
hybrid-base-directory/hybrid-files. בספרייהhybrid-filesנמצאים קובצי תצורה כמו קובץ ההחלפות, האישורים וחשבונות השירות. לדוגמה:cd $APIGEECTL_HOME/../hybrid-files
- מריצים את הפקודה הבאה כדי לוודא שההקשר הנכון מוגדר ל-
kubectl. ההקשר הנוכחי צריך להיות מוגדר לאשכול שבו משדרגים את Apigee hybrid.kubectl config get-contexts | grep \*
- בספרייה
hybrid-files:-
מעדכנים את הקישורים הסמליים הבאים לכתובת
$APIGEECTL_HOME. הקישורים האלה מאפשרים להריץ את הפקודהapigeectlשהותקנה לאחרונה מתוך הספרייהhybrid-files:ln -nfs
$APIGEECTL_HOME/tools toolsln -nfs$APIGEECTL_HOME/config configln -nfs$APIGEECTL_HOME/templates templatesln -nfs$APIGEECTL_HOME/plugins plugins -
כדי לוודא שהקישורים הסמליים נוצרו בצורה נכונה, מריצים את הפקודה הבאה ומוודאים שנתיבי הקישורים מצביעים על המיקומים הנכונים:
ls -l | grep ^l
-
מעדכנים את הקישורים הסמליים הבאים לכתובת
- מבצעים הפעלה ללא שינוי כדי לבדוק אם יש שגיאות:
${APIGEECTL_HOME}/apigeectl init -f OVERRIDES_FILE --dry-run=clientכאשר OVERRIDES_FILE הוא שם קובץ ההגדרות שלכם, למשל
./overrides/overrides.yaml. - אם אין שגיאות, מפעילים את hybrid 1.9.4:
$APIGEECTL_HOME/apigeectl init -f OVERRIDES_FILE
- בודקים את סטטוס ההפעלה:
$APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
אם הפעולה בוצעה ללא שגיאות, הפלט ייראה כך:
All containers ready.kubectl describe apigeeds -n apigee
בפלט, מחפשים את
State: running. - כדי לבדוק אם יש שגיאות, מריצים הרצה יבשה של הפקודה
applyבאמצעות הדגל--dry-run:$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --dry-run=client
- אם אין שגיאות, מחילים את שינויי ברירת המחדל. בוחרים את ההוראות לסביבות ייצור או לסביבות שאינן סביבות ייצור, בהתאם להתקנה.
ייצור
בסביבות ייצור, צריך לשדרג כל רכיב היברידי בנפרד ולבדוק את הסטטוס של הרכיב המשודרג לפני שממשיכים לרכיב הבא.
- חשוב לוודא שאתם נמצאים בספרייה
hybrid-files. - מחילים את ההחלפות כדי לשדרג את Cassandra:
$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --datastore
- השלמת הבדיקה:
$APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
ממשיכים לשלב הבא רק כשהפודים מוכנים.
- מחילים את ההחלפות כדי לשדרג את רכיבי הטלמטריה ובודקים שהשדרוג הושלם:
$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --telemetry
$APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
- מפעילים את רכיבי Redis:
$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --redis
- מחילים את השינויים כדי לשדרג את הרכיבים ברמת הארגון (MART, Watcher ו-Apigee
Connect) ובודקים שהשדרוג הושלם:
$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --org
$APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
- מחילים את השינויים כדי לשדרג את הסביבות. יש שתי אפשרויות:
- סביבה אחרי סביבה: מחילים את השינויים על סביבה אחת בכל פעם ובודקים שהפעולה הושלמה. חוזרים על השלב הזה לכל סביבה:
$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --env ENV_NAME
$APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
כאשר ENV_NAME הוא שם הסביבה שמשדרגים.
- כל הסביבות בבת אחת: אפשר להחיל את השינויים על כל הסביבות בבת אחת ולבדוק שהפעולה הושלמה:
$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --all-envs
$APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
- סביבה אחרי סביבה: מחילים את השינויים על סביבה אחת בכל פעם ובודקים שהפעולה הושלמה. חוזרים על השלב הזה לכל סביבה:
- מחילים את ההחלפות כדי לשדרג את הרכיבים של
virtualhostsובודקים שהשדרוג הושלם:$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --settings virtualhosts
$APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
Non-prod
ברוב הסביבות שאינן סביבות ייצור, הדגמה או ניסוי, אפשר להחיל את הביטולים על כל הרכיבים בבת אחת. אם הסביבה שלכם שהיא לא סביבת ייצור גדולה ומורכבת או שהיא דומה מאוד לסביבת ייצור, כדאי לפעול לפי ההוראות לשדרוג סביבות ייצור.
- חשוב לוודא שאתם נמצאים בספרייה
hybrid-files. $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE
- בודקים את הסטטוס:
$APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
- חשוב לוודא שאתם נמצאים בספרייה
התקנת 1.9.4-hotfix.1
כדי להתקין את גרסת התיקון המהיר, 1.9.4-hotfix.1, פועלים לפי השלבים הבאים:
- לפני שמבצעים את השלבים האלה, צריך לוודא שמשתמשים ב-Apigee hybrid בגרסה 1.9.4 או בגרסה מאוחרת יותר. אם אתם לא משתמשים בגרסה 1.9.4 או בגרסה מאוחרת יותר, אתם צריכים לשדרג לגרסה 1.9.4 לפני שתמשיכו.
- פותחים את קובץ ה-
overrides.yaml. - בפסקה
istiod, משנים את הגרסה של תג התמונה (אם הוא קיים) לגרסה1.17.7. לדוגמה:istiod: image: url: "gcr.io/apigee-release/hybrid/apigee-asm-istiod" tag: "1.17.7-asm.0-distroless" - בהתאם לאופן שבו בחרתם להתקין את Apigee hybrid, יכול להיות שיש לכם קטע
ingressGatewayאוingressGateways. מאתרים את הקטע שמופיע בקובץ ההחלפות ומשנים את הגרסה של תג התמונה (אם יש כזה) לגרסה1.17.7. לדוגמה, אם יש לכם קטעingressGateway:ingressGateway: image: url: "gcr.io/apigee-release/hybrid/apigee-asm-ingress" tag: "1.17.7-asm.0-distroless"או, אם יש לכם קטע
ingressGateways:ingressGateways: - name: gateway1 image: url: "gcr.io/apigee-release/hybrid/apigee-asm-ingress" tag: "1.17.7-asm.0-distroless" ... - name: gateway2 image: url: "gcr.io/apigee-release/hybrid/apigee-asm-ingress" tag: "1.17.7-asm.0-distroless" ... - שומרים את הקובץ.
- מריצים את הפקודה הבאה כדי לאתחל את הרכיב
istiod:$APIGEECTL_HOME/apigeectl init -f OVERRIDES_FILE
$APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
- מריצים את הפקודה הבאה כדי להחיל שינויים על רכיבי ה-ingress של Apigee. אם יש לכם יותר מארגון אחד, צריך לחזור על הפקודה הזו לכל אחד מהם:
$APIGEECTL_HOME/apigeectl apply --org -f OVERRIDES_FILE
$APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
- מאמתים את הסטטוס של הפודים:
kubectl get pods -n YOUR_APIGEE_NAMESPACE
שדרוג גרסת Kubernetes
צריך לשדרג את פלטפורמת Kubernetes לגרסאות שנתמכות על ידי hybrid 1.9. אם אתם צריכים עזרה, תוכלו לעיין במסמכי התיעוד של הפלטפורמה.
החזרה למצב הקודם של שדרוג
כדי לחזור לשדרוג קודם:
- מנקים את המשימות שהושלמו במרחב השמות של זמן הריצה ההיברידי, כאשר NAMESPACE הוא מרחב השמות שצוין בקובץ ההחלפות, אם צוין מרחב שמות. אם לא, מרחב השמות שמוגדר כברירת מחדל הוא
apigee:kubectl delete job -n NAMESPACE \ $(kubectl get job -n NAMESPACE \ -o=jsonpath='{.items[?(@.status.succeeded==1)].metadata.name}') - ניקוי משימות שהושלמו במרחב השמות
apigee-system:kubectl delete job -n apigee-system \ $(kubectl get job -n apigee-system \ -o=jsonpath='{.items[?(@.status.succeeded==1)].metadata.name}') - משנים את המשתנה
APIGEECTL_HOMEכך שיצביע על הספרייה שמכילה את הגרסה הקודמת שלapigeectl. לדוגמה:export APIGEECTL_HOME=PATH_TO_PREVIOUS_APIGEECTL_DIRECTORY
- בתיקיית הבסיס של ההתקנה שרוצים לחזור אליה, מריצים את הפקודה
apigeectl apply, בודקים את הסטטוס של ה-pods ואז מריצים את הפקודהapigeectl init. חשוב להשתמש בקובץ ההחלפות המקורי של הגרסה שרוצים לחזור אליה:- בספרייה hybrid-files, מריצים את
apigeectl apply:$APIGEECTL_HOME/apigeectl apply -f ORIGINAL_OVERRIDES_FILEORIGINAL_OVERRIDES_FILE הוא הנתיב היחסי ושם הקובץ של קובץ ההחלפות להתקנה ההיברידית של הגרסה הקודמת, לדוגמה,
./overrides/overrides1.8.yaml. - בודקים את הסטטוס של ה-Pods:
kubectl -n NAMESPACE get pods
כאשר NAMESPACE הוא מרחב השמות של Apigee Hybrid.
- בודקים את הסטטוס של
apigeeds:kubectl describe apigeeds -n apigee
הפלט אמור להיראות כך:
Status: Cassandra Data Replication: Cassandra Pod Ips: 10.8.2.204 Cassandra Ready Replicas: 1 Components: Cassandra: Last Successfully Released Version: Revision: v1-f8aa9a82b9f69613 Version: v1 Replicas: Available: 1 Ready: 1 Total: 1 Updated: 1 State: running Scaling: In Progress: false Operation: Requested Replicas: 0 State: runningממשיכים לשלב הבא רק אם ה-pod
apigeedsפועל. - מריצים את הפקודה הבאה כדי לרשום את הערכים החדשים של מספר העותקים של מעבד ההודעות אחרי השדרוג. אם הערכים האלה לא תואמים לערכים שהגדרתם בעבר, צריך לשנות את הערכים בקובץ הביטולים כך שיתאימו להגדרה הקודמת.
apigeectl apply -f ORIGINAL_OVERRIDES_FILE --dry-run=client --print-yaml --env ENV_NAME 2>/dev/null |grep "runtime:" -A 25 -B 1| grep "autoScaler" -A 2
הפלט אמור להיראות כך:
autoScaler: minReplicas: 2 maxReplicas: 10 - מריצים את
apigeectl init:$APIGEECTL_HOME/apigeectl init -f ORIGINAL_OVERRIDES_FILE
- בספרייה hybrid-files, מריצים את