ההליך הזה מתייחס לשדרוג מ-Apigee Hybrid גרסה 1.12.x ל-Apigee Hybrid גרסה 1.13.4, ומגרסאות קודמות של Hybrid 1.13.x לגרסה 1.13.4.
אפשר להשתמש באותן פרוצדורות לשדרוגים של גרסאות משניות (לדוגמה, מגרסה 1.12 לגרסה 1.13) ולשדרוגים של גרסאות תיקון (לדוגמה, מגרסה 1.13.0 לגרסה 1.13.4).
אם אתם משדרגים מגרסה 1.11 או מגרסה ישנה יותר של Apigee Hybrid, אתם צריכים לשדרג קודם לגרסה 1.12 לפני שתשדרגו לגרסה 1.13.4. אפשר לעיין בהוראות בנושא שדרוג Apigee Hybrid לגרסה 1.12.
שינויים מגרסה Apigee Hybrid v1.12
שימו לב לשינויים הבאים:
-
apigee-operatorבמרחב השמות של Apigee: החל מגרסה 1.13,apigee-operatorפועל באותו מרחב שמות של Kubernetes כמו שאר רכיבי Apigee Hybrid,apigeeכברירת מחדל. אפשר לציין כל שם למרחב השמות. בגרסאות קודמות, היה צריך להפעיל אתapigee-operatorבמרחב שמות משלו,apigee-system. - Anthos (בשרת פיזי או ב-VMware) נקרא עכשיו Google Distributed Cloud (בשרת פיזי או ב-VMware): למידע נוסף, אפשר לעיין בסקירות המוצרים Google Distributed Cloud לשרת פיזי ו-Google Distributed Cloud ל-VMware.
- בדיקות מחמירות יותר של יצירת מופע של מחלקה: החל מגרסה 1.13.3 של Apigee hybrid, JavaCallout policy כוללת עכשיו אבטחה נוספת במהלך יצירת מופע של מחלקה ב-Java. אמצעי האבטחה המשופר מונע פריסה של מדיניות שמנסה לבצע פעולות שדורשות הרשאות שלא מותרות, באופן ישיר או עקיף.
ברוב המקרים, כללי מדיניות קיימים ימשיכו לפעול כצפוי ללא בעיות. עם זאת, יכול להיות שתהיה השפעה על כללי מדיניות שמסתמכים על ספריות של צד שלישי, או על כללי מדיניות עם קוד מותאם אישית שמפעיל באופן עקיף פעולות שדורשות הרשאות גבוהות יותר.
דרישות מוקדמות
לפני שמשדרגים לגרסה 1.13 של Hybrid, צריך לוודא שההתקנה עומדת בדרישות הבאות:
- אם ההתקנה ההיברידית שלכם מריצה גרסה ישנה יותר מגרסה v1.12, אתם צריכים לשדרג לגרסה 1.12 לפני שמשדרגים לגרסה v1.13. מידע נוסף על שדרוג Apigee Hybrid לגרסה 1.12
- Helm גרסה v3.14.2 ומעלה.
-
kubectl: גרסה נתמכת שלkubectlשמתאימה לגרסת פלטפורמת Kubernetes שלכם. אפשר לעיין במאמר פלטפורמות וגרסאות נתמכות:kubectl. - cert-manager: גרסה נתמכת של cert-manager. פלטפורמות וגרסאות נתמכות: cert-manager אם צריך, אפשר לשדרג את cert-manager בקטע הכנה לשדרוג לגרסה 1.13 שבהמשך.
סקירה כללית של שדרוג לגרסה 1.13.4
ההליכים לשדרוג Apigee hybrid מאורגנים בקטעים הבאים:
הכנה לשדרוג לגרסה 1.13
גיבוי ההתקנה ההיברידית
- בהוראות האלה נעשה שימוש במשתנה הסביבה APIGEE_HELM_CHARTS_HOME עבור הספרייה במערכת הקבצים שבה התקנתם את תרשימי Helm. אם צריך, משנים את הספרייה
לספרייה הזו ומגדירים את המשתנה באמצעות הפקודה הבאה:
Linux
export APIGEE_HELM_CHARTS_HOME=$PWD
echo $APIGEE_HELM_CHARTS_HOMEMac OS
export APIGEE_HELM_CHARTS_HOME=$PWD
echo $APIGEE_HELM_CHARTS_HOMEWindows
set APIGEE_HELM_CHARTS_HOME=%CD%
echo %APIGEE_HELM_CHARTS_HOME% - יוצרים עותק גיבוי של ספריית
$APIGEE_HELM_CHARTS_HOME/בגרסה 1.12. אפשר להשתמש בכל תהליך גיבוי. לדוגמה, אפשר ליצור קובץtarשל כל הספרייה באמצעות הפקודה:tar -czvf $APIGEE_HELM_CHARTS_HOME/../apigee-helm-charts-v1.12-backup.tar.gz $APIGEE_HELM_CHARTS_HOME - מגבים את מסד הנתונים של Cassandra לפי ההוראות במאמר בנושא גיבוי ושחזור של Cassandra.
- אם אתם משתמשים בקובצי אישורים של שירות (
.json) בשינויים שלכם כדי לאמת חשבונות שירות, ודאו שקובצי האישורים של חשבונות השירות נמצאים בספריית תרשימי ה-Helm הנכונה. תרשימי Helm לא יכולים לקרוא קבצים מחוץ לספרייה של כל תרשים.לא צריך לבצע את השלב הזה אם משתמשים בסודות של Kubernetes או ב-Workload Identity כדי לאמת חשבונות שירות.
בטבלה הבאה מוצג היעד של כל קובץ של חשבון שירות, בהתאם לסוג ההתקנה:
Prod
חשבון שירות שם קובץ ברירת מחדל ספריית תרשימי Helm apigee-cassandraPROJECT_ID-apigee-cassandra.json$APIGEE_HELM_CHARTS_HOME/apigee-datastore/apigee-loggerPROJECT_ID-apigee-logger.json$APIGEE_HELM_CHARTS_HOME/apigee-telemetry/apigee-martPROJECT_ID-apigee-mart.json$APIGEE_HELM_CHARTS_HOME/apigee-org/apigee-metricsPROJECT_ID-apigee-metrics.json$APIGEE_HELM_CHARTS_HOME/apigee-telemetry/apigee-runtimePROJECT_ID-apigee-runtime.json$APIGEE_HELM_CHARTS_HOME/apigee-envapigee-synchronizerPROJECT_ID-apigee-synchronizer.json$APIGEE_HELM_CHARTS_HOME/apigee-env/apigee-udcaPROJECT_ID-apigee-udca.json$APIGEE_HELM_CHARTS_HOME/apigee-org/apigee-watcherPROJECT_ID-apigee-watcher.json$APIGEE_HELM_CHARTS_HOME/apigee-org/Non-prod
יוצרים עותק של קובץ חשבון השירות
apigee-non-prodבכל אחת מהספריות הבאות:חשבון שירות שם קובץ ברירת מחדל ספריות של תרשימי Helm apigee-non-prodPROJECT_ID-apigee-non-prod.json$APIGEE_HELM_CHARTS_HOME/apigee-datastore/
$APIGEE_HELM_CHARTS_HOME/apigee-telemetry/
$APIGEE_HELM_CHARTS_HOME/apigee-org/
$APIGEE_HELM_CHARTS_HOME/apigee-env/ -
מוודאים שקובצי המפתח ואישור ה-TLS (
.crt,.keyו/או.pem) נמצאים בספרייה$APIGEE_HELM_CHARTS_HOME/apigee-virtualhost/.
שדרוג גרסת Kubernetes
בודקים את גרסת פלטפורמת Kubernetes, ואם צריך, משדרגים את פלטפורמת Kubernetes לגרסה שנתמכת על ידי hybrid 1.12 ו-hybrid 1.13. אם אתם צריכים עזרה, תוכלו לעיין במסמכי התיעוד של הפלטפורמה.
התקנת זמן הריצה של Apigee Hybrid 1.13.4
הכנה לשדרוג של תרשימי Helm
- שולפים את תרשימי Apigee Helm.
תרשימים של Apigee Hybrid מתארחים ב-Google Artifact Registry:
oci://us-docker.pkg.dev/apigee-release/apigee-hybrid-helm-chartsכדי להעתיק את כל תרשימי ה-Helm של Apigee hybrid לאחסון המקומי, משתמשים בפקודה
pullהבאה:export CHART_REPO=oci://us-docker.pkg.dev/apigee-release/apigee-hybrid-helm-charts
export CHART_VERSION=1.13.4helm pull $CHART_REPO/apigee-operator --version $CHART_VERSION --untarhelm pull $CHART_REPO/apigee-datastore --version $CHART_VERSION --untarhelm pull $CHART_REPO/apigee-env --version $CHART_VERSION --untarhelm pull $CHART_REPO/apigee-ingress-manager --version $CHART_VERSION --untarhelm pull $CHART_REPO/apigee-org --version $CHART_VERSION --untarhelm pull $CHART_REPO/apigee-redis --version $CHART_VERSION --untarhelm pull $CHART_REPO/apigee-telemetry --version $CHART_VERSION --untarhelm pull $CHART_REPO/apigee-virtualhost --version $CHART_VERSION --untar - משדרגים את cert-manager אם צריך.
אם אתם צריכים לשדרג את הגרסה של cert-manager, אתם יכולים להתקין את הגרסה החדשה באמצעות הפקודה הבאה:
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.15.5/cert-manager.yaml
רשימת הגרסאות הנתמכות מופיעה במאמר פלטפורמות וגרסאות נתמכות: cert-manager.
- אם מרחב השמות של Apigee הוא לא
apigee, עורכים את הקובץapigee-operator/etc/crds/default/kustomization.yamlומחליפים את הערךnamespaceבמרחב השמות של Apigee.apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization namespace: APIGEE_NAMESPACE
אם אתם משתמשים ב-
apigeeכמרחב השמות, אתם לא צריכים לערוך את הקובץ. - מתקינים את ה-CRD המעודכנים של Apigee:
-
כדי להשתמש בתכונה של הרצה יבשה של
kubectl, מריצים את הפקודה הבאה:kubectl apply -k apigee-operator/etc/crds/default/ \ --server-side \ --force-conflicts \ --validate=false \ --dry-run=server
-
אחרי האימות באמצעות הפקודה להרצה יבשה, מריצים את הפקודה הבאה:
kubectl apply -k apigee-operator/etc/crds/default/ \ --server-side \ --force-conflicts \ --validate=false
- מאמתים את ההתקנה באמצעות הפקודה
kubectl get crds:kubectl get crds | grep apigee
הפלט אמור להיראות כך:
apigeedatastores.apigee.cloud.google.com 2024-08-21T14:48:30Z apigeedeployments.apigee.cloud.google.com 2024-08-21T14:48:30Z apigeeenvironments.apigee.cloud.google.com 2024-08-21T14:48:31Z apigeeissues.apigee.cloud.google.com 2024-08-21T14:48:31Z apigeeorganizations.apigee.cloud.google.com 2024-08-21T14:48:32Z apigeeredis.apigee.cloud.google.com 2024-08-21T14:48:33Z apigeerouteconfigs.apigee.cloud.google.com 2024-08-21T14:48:33Z apigeeroutes.apigee.cloud.google.com 2024-08-21T14:48:33Z apigeetelemetries.apigee.cloud.google.com 2024-08-21T14:48:34Z cassandradatareplications.apigee.cloud.google.com 2024-08-21T14:48:35Z
-
-
העברת
apigee-operatorממרחב השמותapigee-systemאל APIGEE_NAMESPACE.- הוספת הערות ל-
clusterIssuerעם מרחב השמות החדשkubectl annotate --overwrite clusterIssuer apigee-ca-issuer meta.helm.sh/release-namespace='APIGEE_NAMESPACE'
- אם משנים את שם הגרסה של
apigee-operator, מוסיפים הערה ל-clusterIssuerעם שם הגרסה החדש.kubectl annotate --overwrite clusterIssuer apigee-ca-issuer meta.helm.sh/release-name='APIGEE_OPERATOR_RELEASE_NAME'
- כדי למנוע את התיאום בין שני הבקרים, צריך לעדכן את העותקים של פריסת Apigee Operator הקיימת במרחב השמות
apigee-systemל-0 (אפס).kubectl scale deployment apigee-controller-manager -n apigee-system --replicas=0
- מוחקים את
apigee-mutating-webhook-configurationואתapigee-validating-webhook-configuration.kubectl delete mutatingwebhookconfiguration apigee-mutating-webhook-configurationkubectl delete validatingwebhookconfiguration apigee-validating-webhook-configuration
- הוספת הערות ל-
-
בודקים את התוויות בצמתי האשכול. כברירת מחדל, Apigee מתזמן את הפודים של הנתונים בצמתים עם התווית
cloud.google.com/gke-nodepool=apigee-data, ואת הפודים של זמן הריצה בצמתים עם התוויתcloud.google.com/gke-nodepool=apigee-runtime. אתם יכולים להתאים אישית את תוויות מאגר הצמתים בקובץoverrides.yaml.מידע נוסף זמין במאמר בנושא הגדרת מאגרי צמתים ייעודיים.
התקנה של תרשימי Helm של Apigee Hybrid
- אם לא, עוברים לספרייה
APIGEE_HELM_CHARTS_HOMEומריצים את הפקודות הבאות מתוך הספרייה. - משדרגים את Apigee Operator/Controller:
הרצת בדיקה:
helm upgrade operator apigee-operator/ \ --install \ --namespace APIGEE_NAMESPACE \ -f OVERRIDES_FILE \ --dry-run=server
שדרוג התרשים:
helm upgrade operator apigee-operator/ \ --install \ --namespace APIGEE_NAMESPACE \ -f OVERRIDES_FILE
אימות ההתקנה של Apigee Operator:
helm ls -n APIGEE_NAMESPACE
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION operator apigee 3 2024-08-21 00:42:44.492009 -0800 PST deployed apigee-operator-1.13.4 1.13.4
כדי לוודא שהיא פועלת, בודקים את הזמינות שלה:
kubectl -n APIGEE_NAMESPACE get deploy apigee-controller-manager
NAME READY UP-TO-DATE AVAILABLE AGE apigee-controller-manager 1/1 1 1 7d20h
- שדרוג מאגר הנתונים של Apigee:
הרצת בדיקה:
helm upgrade datastore apigee-datastore/ \ --install \ --namespace APIGEE_NAMESPACE \ -f OVERRIDES_FILE \ --dry-run=server
שדרוג התרשים:
helm upgrade datastore apigee-datastore/ \ --install \ --namespace APIGEE_NAMESPACE \ -f OVERRIDES_FILE
כדי לוודא ש-
apigeedatastoreפועל, בודקים את המצב שלו:kubectl -n APIGEE_NAMESPACE get apigeedatastore default
NAME STATE AGE default running 2d
- שדרוג הטלמטרייה של Apigee:
הרצת בדיקה:
helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace APIGEE_NAMESPACE \ -f OVERRIDES_FILE \ --dry-run=server
שדרוג התרשים:
helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace APIGEE_NAMESPACE \ -f OVERRIDES_FILE
כדי לוודא שהיא פועלת, בודקים את המצב שלה:
kubectl -n APIGEE_NAMESPACE get apigeetelemetry apigee-telemetry
NAME STATE AGE apigee-telemetry running 2d
- שדרוג של Apigee Redis:
הרצת בדיקה:
helm upgrade redis apigee-redis/ \ --install \ --namespace APIGEE_NAMESPACE \ -f OVERRIDES_FILE \ --dry-run=server
שדרוג התרשים:
helm upgrade redis apigee-redis/ \ --install \ --namespace APIGEE_NAMESPACE \ -f OVERRIDES_FILE
כדי לוודא שהיא פועלת, בודקים את המצב שלה:
kubectl -n APIGEE_NAMESPACE get apigeeredis default
NAME STATE AGE default running 2d
- משדרגים את Apigee ingress manager:
הרצת בדיקה:
helm upgrade ingress-manager apigee-ingress-manager/ \ --install \ --namespace APIGEE_NAMESPACE \ -f OVERRIDES_FILE \ --dry-run=server
שדרוג התרשים:
helm upgrade ingress-manager apigee-ingress-manager/ \ --install \ --namespace APIGEE_NAMESPACE \ -f OVERRIDES_FILE
כדי לוודא שהיא פועלת, בודקים את הזמינות שלה:
kubectl -n APIGEE_NAMESPACE get deployment apigee-ingressgateway-manager
NAME READY UP-TO-DATE AVAILABLE AGE apigee-ingressgateway-manager 2/2 2 2 2d
- משדרגים את הארגון ב-Apigee:
הרצת בדיקה:
helm upgrade ORG_NAME apigee-org/ \ --install \ --namespace APIGEE_NAMESPACE \ -f OVERRIDES_FILE \ --dry-run=server
שדרוג התרשים:
helm upgrade ORG_NAME apigee-org/ \ --install \ --namespace APIGEE_NAMESPACE \ -f OVERRIDES_FILE
כדי לוודא שהיא פועלת, בודקים את המצב של הארגון הרלוונטי:
kubectl -n APIGEE_NAMESPACE get apigeeorg
NAME STATE AGE apigee-org1-xxxxx running 2d
- משדרגים את הסביבה.
צריך להתקין סביבה אחת בכל פעם. מציינים את הסביבה באמצעות
--set env=ENV_NAME.הרצת בדיקה:
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --set env=ENV_NAME \ -f OVERRIDES_FILE \ --dry-run=server
- ENV_RELEASE_NAME הוא שם שמשמש למעקב אחרי התקנות ושדרוגים של תרשים
apigee-env. השם הזה צריך להיות ייחודי ולא יכול להיות זהה לשמות אחרים של מהדורות Helm בהתקנה. בדרך כלל זהה ל-ENV_NAME. עם זאת, אם לסביבה יש את אותו שם כמו לקבוצת הסביבות, צריך להשתמש בשמות שחרור שונים לסביבה ולקבוצת הסביבות, למשלdev-env-releaseו-dev-envgroup-release. מידע נוסף על גרסאות ב-Helm זמין במאמר Three big concepts (שלושה מושגים חשובים) במאמרי העזרה של Helm. - ENV_NAME הוא שם הסביבה שמשדרגים.
- OVERRIDES_FILE הוא קובץ ההחלפות החדש שלכם לגרסה 1.13.4
שדרוג התרשים:
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --set env=ENV_NAME \ -f OVERRIDES_FILE
כדי לוודא שהיא פועלת, בודקים את המצב של סביבת ה-env המתאימה:
kubectl -n APIGEE_NAMESPACE get apigeeenv
NAME STATE AGE GATEWAYTYPE apigee-org1-dev-xxx running 2d
- ENV_RELEASE_NAME הוא שם שמשמש למעקב אחרי התקנות ושדרוגים של תרשים
-
משדרגים את קבוצות הסביבות (
virtualhosts).- צריך לשדרג קבוצת סביבות (virtualhost) אחת בכל פעם. מציינים את קבוצת הסביבות באמצעות
--set envgroup=ENV_GROUP_NAME. חוזרים על הפקודות הבאות לכל קבוצת סביבות שמוזכרת בקובץ overrides.yaml:הרצת בדיקה:
helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace APIGEE_NAMESPACE \ --set envgroup=ENV_GROUP_NAME \ -f OVERRIDES_FILE \ --dry-run=server
ENV_GROUP_RELEASE_NAME הוא השם שבו התקנתם בעבר את תרשים
apigee-virtualhost. בדרך כלל זה הנתיב ENV_GROUP_NAME.שדרוג התרשים:
helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace APIGEE_NAMESPACE \ --set envgroup=ENV_GROUP_NAME \ -f OVERRIDES_FILE
- בודקים את המצב של ApigeeRoute (AR).
התקנת
virtualhostsיוצרת ApigeeRouteConfig (ARC), שיוצר באופן פנימי ApigeeRoute (AR) אחרי שה-watcher של Apigee שולף פרטים שקשורים לקבוצת הסביבות ממישור הבקרה. לכן, צריך לוודא שהמצב של ה-AR התואם הוא running (פועל):kubectl -n APIGEE_NAMESPACE get arc
NAME STATE AGE apigee-org1-dev-egroup 2d
kubectl -n APIGEE_NAMESPACE get ar
NAME STATE AGE apigee-org1-dev-egroup-xxxxxx running 2d
- צריך לשדרג קבוצת סביבות (virtualhost) אחת בכל פעם. מציינים את קבוצת הסביבות באמצעות
- אחרי שמוודאים שכל ההתקנות שודרגו בהצלחה, מוחקים את הגרסה הישנה יותר,
apigee-operator, ממרחב השמותapigee-system.- מסירים את הגרסה הישנה
operator:helm delete operator -n apigee-system
- מוחקים את מרחב השמות
apigee-system:kubectl delete namespace apigee-system
- מסירים את הגרסה הישנה
- משדרגים שוב את
operatorבמרחב השמות של Apigee כדי להתקין מחדש את המשאבים שנמחקו בהיקף האשכול:helm upgrade operator apigee-operator/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
אימות המדיניות אחרי שדרוג לגרסה 1.13.3 ואילך
אפשר להשתמש בהליך הזה כדי לאמת את ההתנהגות של מדיניות JavaCallout אחרי שמשדרגים מגרסה 1.13.2 או מגרסה מוקדמת יותר לגרסה 1.13.3 או לגרסה מאוחרת יותר.
- בודקים אם קובצי ה-Java JAR מבקשים הרשאות מיותרות.
אחרי פריסת המדיניות, בודקים ביומני זמן הריצה אם מופיעה הודעת היומן הבאה:
"Failed to load and initialize class ...". אם ההודעה הזו מופיעה, סימן שקובץ ה-JAR שנפרס ביקש הרשאות מיותרות. כדי לפתור את הבעיה, צריך לבדוק את קוד ה-Java ולעדכן את קובץ ה-JAR. - בודקים ומעדכנים את קוד Java.
בודקים את קוד ה-Java (כולל יחסי תלות) כדי לזהות את הסיבה לפעולות שאולי לא מותרות. אם נמצא, משנים את קוד המקור לפי הצורך.
- בדיקת מדיניות עם הפעלת בדיקת האבטחה.
בסביבה שאינה סביבת ייצור, מפעילים את סימון בדיקת האבטחה ומפרסים מחדש את המדיניות עם קובץ JAR מעודכן. כדי להגדיר את הסימון:
- בקובץ
apigee-env/values.yaml, מגדירים אתconf_security-secure.constructor.onlyלערךtrueבקטעruntime:cwcAppend:. לדוגמה:# Apigee Runtime runtime: cwcAppend: conf_security-secure.constructor.only: true
- כדי להחיל את השינוי, צריך לעדכן את התרשים
apigee-envשל הסביבה. לדוגמה:helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --set env=ENV_NAME \ -f OVERRIDES_FILE
ENV_RELEASE_NAME הוא שם שמשמש למעקב אחרי התקנות ושדרוגים של תרשים
apigee-env. השם הזה צריך להיות ייחודי ולא יכול להיות זהה לשמות אחרים של מהדורות Helm בהתקנה. בדרך כלל זהה ל-ENV_NAME. עם זאת, אם לסביבה יש את אותו שם כמו לקבוצת הסביבות, צריך להשתמש בשמות שחרור שונים לסביבה ולקבוצת הסביבות, למשלdev-env-releaseו-dev-envgroup-release. מידע נוסף על מהדורות ב-Helm זמין במאמר Three big concepts (שלושה מושגים חשובים) במאמרי העזרה של Helm.
אם הודעת היומן
"Failed to load and initialize class ..."עדיין מופיעה, ממשיכים לשנות ולבדוק את קובץ ה-JAR עד שהודעת היומן לא מופיעה יותר. - בקובץ
- הפעלת בדיקת האבטחה בסביבת הייצור.
אחרי שבודקים ומאמתים את קובץ ה-JAR בסביבה שאינה סביבת ייצור, מפעילים את בדיקת האבטחה בסביבת הייצור על ידי הגדרת הדגל
conf_security-secure.constructor.onlyלערךtrueועדכון התרשיםapigee-envבסביבת הייצור כדי להחיל את השינוי.
חזרה לגרסה קודמת
כדי לחזור לגרסה הקודמת, משתמשים בגרסה הישנה יותר של התרשים כדי לחזור אחורה בתהליך השדרוג בסדר הפוך. מתחילים עם apigee-virtualhost, עוברים אחורה עד apigee-operator, ואז משחזרים את ה-CRD.
בגלל השינוי במרחב השמות של apigee-operator, צריך לבצע שלבים נוספים כדי למחוק את ה-hooks של אימות ושינוי הרשאות הכניסה. כך, כשמתקינים מחדש את apigee-operator במרחב השמות apigee-system, הם נוצרים מחדש ומפנים לנקודת הקצה הנכונה של Apigee Operator.
- כדי למנוע התנגשויות כשמבטלים את הפריסה במרחב השמות
apigee-system, צריך לעדכן את העותקים של פריסת Apigee Operator הקיימת ב-Apigee ל-0 (אפס). זאת כדי למנוע משני הבקרים לבצע התאמה של המשאבים בהתאמה אישית.kubectl scale deployment apigee-controller-manager -n APIGEE_NAMESPACE --replicas=0kubectl delete mutatingwebhookconfiguration \ apigee-mutating-webhook-configuration-APIGEE_NAMESPACEkubectl delete validatingwebhookconfiguration \ apigee-validating-webhook-configuration-APIGEE_NAMESPACE - מחזירים את כל התרשימים מ-
apigee-virtualhostל-apigee-datastore. הפקודות הבאות מניחות שאתם משתמשים בתרשימים מהגרסה הקודמת (v1.12.x).מריצים את הפקודה הבאה לכל קבוצת סביבות:
helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace apigee \ --atomic \ --set envgroup=ENV_GROUP_NAME \ -f 1.12_OVERRIDES_FILE
מריצים את הפקודה הבאה לכל סביבה:
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace apigee \ --atomic \ --set env=ENV_NAME \ -f 1.12_OVERRIDES_FILE
מחזירים את שאר התרשימים למצב הקודם, חוץ מהתרשים
apigee-operator.helm upgrade ORG_NAME apigee-org/ \ --install \ --namespace apigee \ --atomic \ -f 1.12_OVERRIDES_FILE
helm upgrade ingress-manager apigee-ingress-manager/ \ --install \ --namespace apigee \ --atomic \ -f 1.12_OVERRIDES_FILE
helm upgrade redis apigee-redis/ \ --install \ --namespace apigee \ --atomic \ -f 1.12_OVERRIDES_FILE
helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace apigee \ --atomic \ -f 1.12_OVERRIDES_FILE
helm upgrade datastore apigee-datastore/ \ --install \ --namespace apigee \ --atomic \ -f 1.12_OVERRIDES_FILE
- יוצרים את מרחב השמות
apigee-system.kubectl create namespace apigee-system
- מבצעים תיקון (patch) של הערת המשאב בחזרה למרחב השמות
apigee-system.kubectl annotate --overwrite clusterIssuer apigee-ca-issuer meta.helm.sh/release-namespace='apigee-system'
- אם שיניתם גם את שם הפריט, צריך לעדכן את ההערה עם
operatorשם הפריט.kubectl annotate --overwrite clusterIssuer apigee-ca-issuer meta.helm.sh/release-name='operator'
- מתקינים את
apigee-operatorבחזרה במרחב השמותapigee-system.helm upgrade operator apigee-operator/ \ --install \ --namespace apigee-system \ --atomic \ -f 1.12_OVERRIDES_FILE
- משחזרים את ה-CRD על ידי התקנה מחדש של ה-CRD הישן.
kubectl apply -k apigee-operator/etc/crds/default/ \ --server-side \ --force-conflicts \ --validate=false
- כדי להשלים את תהליך החזרה לגרסה הקודמת, מנקים את הגרסה
apigee-operatorממרחב השמות APIGEE_NAMESPACE.helm uninstall operator -n APIGEE_NAMESPACE
- חלק מהמשאבים בהיקף האשכול, כמו
clusterIssuer, נמחקים כשמסירים אתoperator. כדי להתקין אותם מחדש, מריצים את הפקודה הבאה:helm upgrade operator apigee-operator/ \ --install \ --namespace apigee-system \ --atomic \ -f 1.12_OVERRIDES_FILE