התקנת רכיבי זמן הריצה של Apigee Hybrid
בשלב הזה תשתמשו ב-Helm כדי להתקין את הרכיבים הבאים של Apigee Hybrid:
- מפעיל Apigee
- מאגר נתונים של Apigee
- טלמטריית Apigee
- Apigee Redis
- מנהל תעבורת הנתונים הנכנסת ב-Apigee
- ארגון Apigee
- הסביבות שלכם ב-Apigee
מתקינים את התרשימים לכל סביבה בנפרד. חשוב להתקין את הרכיבים בסדר הנכון.
הערות לפני ההתקנה
- אם עדיין לא התקנתם את Helm בגרסה 3.14.2 ואילך, פועלים לפי ההוראות במאמר התקנת Helm.
-
ב-Apigee Hybrid נעשה שימוש במעקות בטיחות של Helm כדי לאמת את ההגדרות לפני התקנה או שדרוג של תרשים. יכול להיות שיופיע מידע ספציפי למעקה הבטיחות בפלט של כל אחת מהפקודות בקטע הזה, לדוגמה:
# Source: apigee-operator/templates/apigee-operators-guardrails.yaml apiVersion: v1 kind: Pod metadata: name: apigee-hybrid-helm-guardrail-operator namespace: APIGEE_NAMESPACE annotations: helm.sh/hook: pre-install,pre-upgrade helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded labels: app: apigee-hybrid-helm-guardrailאם אחת מהפקודות של
helm upgradeנכשלת, אפשר להשתמש בפלט של מעקות הבטיחות כדי לאבחן את הסיבה. אבחון בעיות במעקות בטיחות - לפני שמריצים את פקודות השדרוג או ההתקנה של Helm, משתמשים בתכונה "הרצה ללא שמירה" של Helm על ידי הוספת
--dry-run=serverבסוף הפקודה. אפשר לעיין ב-helm install --hכדי לראות רשימה של פקודות, אפשרויות ושימושים נתמכים.
שלבי ההתקנה
בוחרים את הוראות ההתקנה של סוג האימות של חשבון השירות בהתקנה ההיברידית:
סודות של Kubernetes
- אם לא, עוברים לספרייה
APIGEE_HELM_CHARTS_HOME. מריצים את הפקודות הבאות מהספרייה הזו. - התקנת Apigee Operator/Controller:
- הרצת בדיקה:
helm upgrade operator apigee-operator/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
- מתקינים את התרשים:
helm upgrade operator apigee-operator/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
אימות ההתקנה של Apigee Operator:
helm ls -n APIGEE_NAMESPACE
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION operator apigee 3 2025-06-26 00:42:44.492009 -0800 PST deployed apigee-operator-1.15.9 1.15.9
-
כדי לוודא שהיא פועלת, בודקים את הזמינות שלה:
kubectl -n APIGEE_NAMESPACE get deploy apigee-controller-manager
NAME READY UP-TO-DATE AVAILABLE AGE apigee-controller-manager 1/1 1 1 34s
- הרצת בדיקה:
-
התקנת מאגר הנתונים של Apigee:
- הרצת בדיקה:
helm upgrade datastore apigee-datastore/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
-
מתקינים את התרשים:
helm upgrade datastore apigee-datastore/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
לפני שממשיכים לשלב הבא, בודקים את המצב של
apigeedatastoreכדי לוודא שהיא פועלת:kubectl -n APIGEE_NAMESPACE get apigeedatastore default
NAME STATE AGE default running 51s
- הרצת בדיקה:
-
מתקינים את הטלמטריה של Apigee:
- הרצת בדיקה:
helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
-
מתקינים את התרשים:
helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
כדי לוודא שהיא פועלת, בודקים את המצב שלה:
kubectl -n APIGEE_NAMESPACE get apigeetelemetry apigee-telemetry
NAME STATE AGE apigee-telemetry running 55s
- הרצת בדיקה:
-
מתקינים את Apigee Redis:
-
הרצת בדיקה:
helm upgrade redis apigee-redis/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
-
מתקינים את התרשים:
helm upgrade redis apigee-redis/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
כדי לוודא שהיא פועלת, בודקים את המצב שלה:
kubectl -n APIGEE_NAMESPACE get apigeeredis default
NAME STATE AGE default running 79s
-
-
מתקינים את מנהל ה-ingress של Apigee:
-
הרצת בדיקה:
helm upgrade ingress-manager apigee-ingress-manager/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
-
מתקינים את התרשים:
helm upgrade ingress-manager apigee-ingress-manager/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
כדי לוודא שהיא פועלת, בודקים את הזמינות שלה:
kubectl -n APIGEE_NAMESPACE get deployment apigee-ingressgateway-manager
NAME READY UP-TO-DATE AVAILABLE AGE apigee-ingressgateway-manager 2/2 2 2 16s
-
-
מתקינים את הארגון ב-Apigee. אם הגדרתם את משתנה הסביבה $ORG_NAME במעטפת, אתם יכולים להשתמש בו בפקודות הבאות:
-
הרצת בדיקה:
helm upgrade $ORG_NAME apigee-org/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
-
מתקינים את התרשים:
helm upgrade $ORG_NAME apigee-org/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
כדי לוודא שהיא פועלת, בודקים את המצב של הארגון הרלוונטי:
kubectl -n APIGEE_NAMESPACE get apigeeorg
NAME STATE AGE my-project-123abcd running 4m18s
-
-
מתקינים את הסביבה.
צריך להתקין סביבה אחת בכל פעם. מציינים את הסביבה באמצעות
--set env=ENV_NAME. אם הגדרתם את משתנה הסביבה $ENV_NAME במעטפת, אתם יכולים להשתמש בו בפקודות הבאות:-
הרצת בדיקה:
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set env=$ENV_NAME \ -f overrides.yaml \ --dry-run=server
ENV_RELEASE_NAME הוא שם שמשמש למעקב אחרי ההתקנה והשדרוגים של התרשים
apigee-env. השם הזה חייב להיות ייחודי ושונה משמות אחרים של גרסאות Helm בהתקנה. בדרך כלל זהה ל-ENV_NAME. עם זאת, אם לסביבה יש שם זהה לזה של קבוצת הסביבות, צריך להשתמש בשמות שונים לגרסאות של הסביבה ושל קבוצת הסביבות, לדוגמהdev-env-releaseו-dev-envgroup-release. מידע נוסף על גרסאות ב-Helm זמין במאמר Three big concepts במסמכי התיעוד של Helm. -
מתקינים את התרשים:
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set env=$ENV_NAME \ -f overrides.yaml
-
כדי לוודא שהיא פועלת, בודקים את המצב של הסביבה הרלוונטית:
kubectl -n APIGEE_NAMESPACE get apigeeenv
NAME STATE AGE GATEWAYTYPE apigee-my-project-my-env running 3m1s
-
-
מתקינים את קבוצות הסביבה (
virtualhosts).- צריך להתקין קבוצת סביבות (מארח וירטואלי) אחת בכל פעם. מציינים את קבוצת הסביבות באמצעות
--set envgroup=ENV_GROUP. אם הגדרתם את משתנה הסביבה $ENV_GROUP במעטפת, אתם יכולים להשתמש בו בפקודות הבאות. חוזרים על הפקודות הבאות לכל קבוצת סביבות שמוזכרת בקובץoverrides.yaml:הרצת בדיקה:
helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set envgroup=$ENV_GROUP \ -f overrides.yaml \ --dry-run=server
ENV_GROUP_RELEASE_NAME הוא שם שמשמש למעקב אחרי ההתקנה והשדרוגים של התרשים
apigee-virtualhosts. השם הזה חייב להיות ייחודי ושונה משמות אחרים של גרסאות Helm בהתקנה. בדרך כלל זהה ל-ENV_GROUP. עם זאת, אם לקבוצת הסביבות יש שם זהה לשם של סביבה בהתקנה, צריך להשתמש בשמות שונים לגרסאות של קבוצת הסביבות והסביבה, למשלdev-envgroup-releaseו-dev-env-release. מידע נוסף על גרסאות ב-Helm זמין במאמר Three big concepts במאמרי העזרה של Helm. -
מתקינים את התרשים:
helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set envgroup=$ENV_GROUP \ -f overrides.yaml
- בודקים את המצב של ApigeeRoute (AR).
התקנת
virtualhostsיוצרת את ApigeeRouteConfig (ARC), שיוצר באופן פנימי את ApigeeRoute (AR) אחרי שה-Apigee watcher שולף פרטים שקשורים לקבוצת הסביבות ממישור הבקרה. לכן, צריך לבדוק שהמצב של ה-AR התואם הוא "פועל":kubectl -n APIGEE_NAMESPACE get arc
NAME STATE AGE apigee-org1-dev-egroup 2m
kubectl -n APIGEE_NAMESPACE get ar
NAME STATE AGE apigee-ingressgateway-internal-chaining-my-project-123abcd running 19m my-project-myenvgroup-000-321dcba running 2m30s
- צריך להתקין קבוצת סביבות (מארח וירטואלי) אחת בכל פעם. מציינים את קבוצת הסביבות באמצעות
קובצי JSON
- אם לא, עוברים לספרייה
APIGEE_HELM_CHARTS_HOME. מריצים את הפקודות הבאות מהספרייה הזו. - התקנת Apigee Operator/Controller:
- הרצת בדיקה:
helm upgrade operator apigee-operator/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
- מתקינים את התרשים:
helm upgrade operator apigee-operator/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
אימות ההתקנה של Apigee Operator:
helm ls -n APIGEE_NAMESPACE
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION operator apigee 3 2025-06-26 00:42:44.492009 -0800 PST deployed apigee-operator-1.15.9 1.15.9
-
כדי לוודא שהיא פועלת, בודקים את הזמינות שלה:
kubectl -n APIGEE_NAMESPACE get deploy apigee-controller-manager
NAME READY UP-TO-DATE AVAILABLE AGE apigee-controller-manager 1/1 1 1 34s
- הרצת בדיקה:
-
התקנת מאגר הנתונים של Apigee:
- הרצת בדיקה:
helm upgrade datastore apigee-datastore/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
-
מתקינים את התרשים:
helm upgrade datastore apigee-datastore/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
לפני שממשיכים לשלב הבא, בודקים את המצב של
apigeedatastoreכדי לוודא שהיא פועלת:kubectl -n APIGEE_NAMESPACE get apigeedatastore default
NAME STATE AGE default running 51s
- הרצת בדיקה:
-
מתקינים את הטלמטריה של Apigee:
- הרצת בדיקה:
helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
-
מתקינים את התרשים:
helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
כדי לוודא שהיא פועלת, בודקים את המצב שלה:
kubectl -n APIGEE_NAMESPACE get apigeetelemetry apigee-telemetry
NAME STATE AGE apigee-telemetry running 55s
- הרצת בדיקה:
-
מתקינים את Apigee Redis:
-
הרצת בדיקה:
helm upgrade redis apigee-redis/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
-
מתקינים את התרשים:
helm upgrade redis apigee-redis/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
כדי לוודא שהיא פועלת, בודקים את המצב שלה:
kubectl -n APIGEE_NAMESPACE get apigeeredis default
NAME STATE AGE default running 79s
-
-
מתקינים את מנהל ה-ingress של Apigee:
-
הרצת בדיקה:
helm upgrade ingress-manager apigee-ingress-manager/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
-
מתקינים את התרשים:
helm upgrade ingress-manager apigee-ingress-manager/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
כדי לוודא שהיא פועלת, בודקים את הזמינות שלה:
kubectl -n APIGEE_NAMESPACE get deployment apigee-ingressgateway-manager
NAME READY UP-TO-DATE AVAILABLE AGE apigee-ingressgateway-manager 2/2 2 2 16s
-
-
מתקינים את הארגון ב-Apigee. אם הגדרתם את משתנה הסביבה $ORG_NAME במעטפת, אתם יכולים להשתמש בו בפקודות הבאות:
-
הרצת בדיקה:
helm upgrade $ORG_NAME apigee-org/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
-
מתקינים את התרשים:
helm upgrade $ORG_NAME apigee-org/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
כדי לוודא שהיא פועלת, בודקים את המצב של הארגון הרלוונטי:
kubectl -n APIGEE_NAMESPACE get apigeeorg
NAME STATE AGE my-project-123abcd running 4m18s
-
-
מתקינים את הסביבה.
צריך להתקין סביבה אחת בכל פעם. מציינים את הסביבה באמצעות
--set env=ENV_NAME. אם הגדרתם את משתנה הסביבה $ENV_NAME במעטפת, אתם יכולים להשתמש בו בפקודות הבאות:-
הרצת בדיקה:
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set env=$ENV_NAME \ -f overrides.yaml \ --dry-run=server
ENV_RELEASE_NAME הוא שם שמשמש למעקב אחרי ההתקנה והשדרוגים של התרשים
apigee-env. השם הזה חייב להיות ייחודי ושונה משמות אחרים של גרסאות Helm בהתקנה. בדרך כלל זהה ל-ENV_NAME. עם זאת, אם לסביבה יש שם זהה לזה של קבוצת הסביבות, צריך להשתמש בשמות שונים לגרסאות של הסביבה ושל קבוצת הסביבות, לדוגמהdev-env-releaseו-dev-envgroup-release. מידע נוסף על גרסאות ב-Helm זמין במאמר Three big concepts במסמכי התיעוד של Helm. -
מתקינים את התרשים:
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set env=$ENV_NAME \ -f overrides.yaml
-
כדי לוודא שהיא פועלת, בודקים את המצב של הסביבה הרלוונטית:
kubectl -n APIGEE_NAMESPACE get apigeeenv
NAME STATE AGE GATEWAYTYPE apigee-my-project-my-env running 3m1s
-
-
מתקינים את קבוצות הסביבה (
virtualhosts).- צריך להתקין קבוצת סביבות (מארח וירטואלי) אחת בכל פעם. מציינים את קבוצת הסביבות באמצעות
--set envgroup=ENV_GROUP. אם הגדרתם את משתנה הסביבה $ENV_GROUP במעטפת, אתם יכולים להשתמש בו בפקודות הבאות. חוזרים על הפקודות הבאות לכל קבוצת סביבות שמוזכרת בקובץoverrides.yaml:הרצת בדיקה:
helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set envgroup=$ENV_GROUP \ -f overrides.yaml \ --dry-run=server
ENV_GROUP_RELEASE_NAME הוא שם שמשמש למעקב אחרי ההתקנה והשדרוגים של התרשים
apigee-virtualhosts. השם הזה חייב להיות ייחודי ושונה משמות אחרים של גרסאות Helm בהתקנה. בדרך כלל זהה ל-ENV_GROUP. עם זאת, אם לקבוצת הסביבות יש שם זהה לשם של סביבה בהתקנה, צריך להשתמש בשמות שונים לגרסאות של קבוצת הסביבות והסביבה, למשלdev-envgroup-releaseו-dev-env-release. מידע נוסף על גרסאות ב-Helm זמין במאמר Three big concepts במסמכי התיעוד של Helm. -
מתקינים את התרשים:
helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set envgroup=$ENV_GROUP \ -f overrides.yaml
- בודקים את המצב של ApigeeRoute (AR).
התקנת
virtualhostsיוצרת את ApigeeRouteConfig (ARC), שיוצר באופן פנימי את ApigeeRoute (AR) אחרי שה-Apigee watcher שולף פרטים שקשורים לקבוצת הסביבות ממישור הבקרה. לכן, צריך לבדוק שהמצב של ה-AR התואם הוא "פועל":kubectl -n APIGEE_NAMESPACE get arc
NAME STATE AGE apigee-org1-dev-egroup 2m
kubectl -n APIGEE_NAMESPACE get ar
NAME STATE AGE apigee-ingressgateway-internal-chaining-my-project-123abcd running 19m my-project-myenvgroup-000-321dcba running 2m30s
- צריך להתקין קבוצת סביבות (מארח וירטואלי) אחת בכל פעם. מציינים את קבוצת הסביבות באמצעות
Vault
- אם לא, עוברים לספרייה
APIGEE_HELM_CHARTS_HOME. מריצים את הפקודות הבאות מהספרייה הזו. - התקנת Apigee Operator/Controller:
- הרצת בדיקה:
helm upgrade operator apigee-operator/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
- מתקינים את התרשים:
helm upgrade operator apigee-operator/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
אימות ההתקנה של Apigee Operator:
helm ls -n APIGEE_NAMESPACE
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION operator apigee 3 2025-06-26 00:42:44.492009 -0800 PST deployed apigee-operator-1.15.9 1.15.9
-
כדי לוודא שהיא פועלת, בודקים את הזמינות שלה:
kubectl -n APIGEE_NAMESPACE get deploy apigee-controller-manager
NAME READY UP-TO-DATE AVAILABLE AGE apigee-controller-manager 1/1 1 1 34s
- הרצת בדיקה:
-
התקנת מאגר הנתונים של Apigee:
- הרצת בדיקה:
helm upgrade datastore apigee-datastore/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
-
מתקינים את התרשים:
helm upgrade datastore apigee-datastore/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
לפני שממשיכים לשלב הבא, בודקים את המצב של
apigeedatastoreכדי לוודא שהיא פועלת:kubectl -n APIGEE_NAMESPACE get apigeedatastore default
NAME STATE AGE default running 51s
- הרצת בדיקה:
-
מתקינים את הטלמטריה של Apigee:
- הרצת בדיקה:
helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
-
מתקינים את התרשים:
helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
כדי לוודא שהיא פועלת, בודקים את המצב שלה:
kubectl -n APIGEE_NAMESPACE get apigeetelemetry apigee-telemetry
NAME STATE AGE apigee-telemetry running 55s
- הרצת בדיקה:
-
מתקינים את Apigee Redis:
-
הרצת בדיקה:
helm upgrade redis apigee-redis/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
-
מתקינים את התרשים:
helm upgrade redis apigee-redis/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
כדי לוודא שהיא פועלת, בודקים את המצב שלה:
kubectl -n APIGEE_NAMESPACE get apigeeredis default
NAME STATE AGE default running 79s
-
-
מתקינים את מנהל ה-ingress של Apigee:
-
הרצת בדיקה:
helm upgrade ingress-manager apigee-ingress-manager/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
-
מתקינים את התרשים:
helm upgrade ingress-manager apigee-ingress-manager/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
כדי לוודא שהיא פועלת, בודקים את הזמינות שלה:
kubectl -n APIGEE_NAMESPACE get deployment apigee-ingressgateway-manager
NAME READY UP-TO-DATE AVAILABLE AGE apigee-ingressgateway-manager 2/2 2 2 16s
-
-
מתקינים את הארגון ב-Apigee. אם הגדרתם את משתנה הסביבה $ORG_NAME במעטפת, אתם יכולים להשתמש בו בפקודות הבאות:
-
הרצת בדיקה:
helm upgrade $ORG_NAME apigee-org/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
-
מתקינים את התרשים:
helm upgrade $ORG_NAME apigee-org/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
כדי לוודא שהיא פועלת, בודקים את המצב של הארגון הרלוונטי:
kubectl -n APIGEE_NAMESPACE get apigeeorg
NAME STATE AGE my-project-123abcd running 4m18s
-
-
מתקינים את הסביבה.
צריך להתקין סביבה אחת בכל פעם. מציינים את הסביבה באמצעות
--set env=ENV_NAME. אם הגדרתם את משתנה הסביבה $ENV_NAME במעטפת, אתם יכולים להשתמש בו בפקודות הבאות:-
הרצת בדיקה:
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set env=$ENV_NAME \ -f overrides.yaml \ --dry-run=server
ENV_RELEASE_NAME הוא שם שמשמש למעקב אחרי ההתקנה והשדרוגים של התרשים
apigee-env. השם הזה חייב להיות ייחודי ושונה משמות אחרים של גרסאות Helm בהתקנה. בדרך כלל זהה ל-ENV_NAME. עם זאת, אם לסביבה יש שם זהה לזה של קבוצת הסביבות, צריך להשתמש בשמות שונים לגרסאות של הסביבה ושל קבוצת הסביבות, לדוגמהdev-env-releaseו-dev-envgroup-release. מידע נוסף על גרסאות ב-Helm זמין במאמר Three big concepts במסמכי התיעוד של Helm. -
מתקינים את התרשים:
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set env=$ENV_NAME \ -f overrides.yaml
-
כדי לוודא שהיא פועלת, בודקים את המצב של הסביבה הרלוונטית:
kubectl -n APIGEE_NAMESPACE get apigeeenv
NAME STATE AGE GATEWAYTYPE apigee-my-project-my-env running 3m1s
-
-
מתקינים את קבוצות הסביבה (
virtualhosts).- צריך להתקין קבוצת סביבות (מארח וירטואלי) אחת בכל פעם. מציינים את קבוצת הסביבות באמצעות
--set envgroup=ENV_GROUP. אם הגדרתם את משתנה הסביבה $ENV_GROUP במעטפת, אתם יכולים להשתמש בו בפקודות הבאות. חוזרים על הפקודות הבאות לכל קבוצת סביבות שמוזכרת בקובץoverrides.yaml:הרצת בדיקה:
helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set envgroup=$ENV_GROUP \ -f overrides.yaml \ --dry-run=server
ENV_GROUP_RELEASE_NAME הוא שם שמשמש למעקב אחרי ההתקנה והשדרוגים של התרשים
apigee-virtualhosts. השם הזה חייב להיות ייחודי ושונה משמות אחרים של גרסאות Helm בהתקנה. בדרך כלל זהה ל-ENV_GROUP. עם זאת, אם לקבוצת הסביבות יש שם זהה לשם של סביבה בהתקנה, צריך להשתמש בשמות שונים לגרסאות של קבוצת הסביבות והסביבה, למשלdev-envgroup-releaseו-dev-env-release. מידע נוסף על גרסאות ב-Helm זמין במאמר Three big concepts במסמכי התיעוד של Helm. -
מתקינים את התרשים:
helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set envgroup=$ENV_GROUP \ -f overrides.yaml
- בודקים את המצב של ApigeeRoute (AR).
התקנת
virtualhostsיוצרת את ApigeeRouteConfig (ARC), שיוצר באופן פנימי את ApigeeRoute (AR) אחרי שה-Apigee watcher שולף פרטים שקשורים לקבוצת הסביבות ממישור הבקרה. לכן, צריך לבדוק שהמצב של ה-AR התואם הוא "פועל":kubectl -n APIGEE_NAMESPACE get arc
NAME STATE AGE apigee-org1-dev-egroup 2m
kubectl -n APIGEE_NAMESPACE get ar
NAME STATE AGE apigee-ingressgateway-internal-chaining-my-project-123abcd running 19m my-project-myenvgroup-000-321dcba running 2m30s
- צריך להתקין קבוצת סביבות (מארח וירטואלי) אחת בכל פעם. מציינים את קבוצת הסביבות באמצעות
WIF ל-GKE
- אם לא, עוברים לספרייה
APIGEE_HELM_CHARTS_HOME. מריצים את הפקודות הבאות מהספרייה הזו. - התקנת Apigee Operator/Controller:
- הרצת בדיקה:
helm upgrade operator apigee-operator/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
- מתקינים את התרשים:
helm upgrade operator apigee-operator/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
אימות ההתקנה של Apigee Operator:
helm ls -n APIGEE_NAMESPACE
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION operator apigee 3 2025-06-26 00:42:44.492009 -0800 PST deployed apigee-operator-1.15.9 1.15.9
-
כדי לוודא שהיא פועלת, בודקים את הזמינות שלה:
kubectl -n APIGEE_NAMESPACE get deploy apigee-controller-manager
NAME READY UP-TO-DATE AVAILABLE AGE apigee-controller-manager 1/1 1 1 34s
- הרצת בדיקה:
-
התקנת מאגר הנתונים של Apigee:
- הרצת בדיקה:
helm upgrade datastore apigee-datastore/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
-
מגדירים את הקישורים של חשבון השירות ל-Cassandra בשביל איחוד זהויות של עומסי עבודה ל-GKE:
הפלט מהפקודה
helm upgradeאמור להכיל פקודות בקטע NOTES. מבצעים את הפקודות האלה כדי להגדיר את הקישורים של חשבון השירות. אמורים להיות שתי פקודות בפורמט הבא:ייצור
gcloud iam service-accounts add-iam-policy-binding CASSANDRA_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-cassandra-default]" \ --project PROJECT_ID
לא בסביבת ייצור
gcloud iam service-accounts add-iam-policy-binding NON_PROD_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-cassandra-default]" \ --project PROJECT_ID
וגם:
ייצור
kubectl annotate serviceaccount apigee-cassandra-default \ iam.gke.io/gcp-service-account=CASSANDRA_SERVICE_ACCOUNT_EMAIL \ --namespace APIGEE_NAMESPACE
לא בסביבת ייצור
kubectl annotate serviceaccount apigee-cassandra-default \ iam.gke.io/gcp-service-account=NON_PROD_SERVICE_ACCOUNT_EMAIL \ --namespace APIGEE_NAMESPACE
לדוגמה:
ייצור
NOTES: For Cassandra backup GKE Workload Identity, please make sure to add the following membership to the IAM policy binding using the respective kubernetes SA (KSA). gcloud iam service-accounts add-iam-policy-binding apigee-cassandra@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-cassandra-default]" \ --project my-project kubectl annotate serviceaccount apigee-cassandra-default \ iam.gke.io/gcp-service-account=apigee-cassandra@my-project.iam.gserviceaccount.com \ --namespace apigeeלא בסביבת ייצור
NOTES: For Cassandra backup GKE Workload Identity, please make sure to add the following membership to the IAM policy binding using the respective kubernetes SA (KSA). gcloud iam service-accounts add-iam-policy-binding apigee-non-prod@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-cassandra-default]" \ --project my-project kubectl annotate serviceaccount apigee-cassandra-default \ iam.gke.io/gcp-service-account=apigee-non-prod@my-project.iam.gserviceaccount.com \ --namespace apigeeאופציונלי: אם אתם לא רוצים להגדיר גיבוי של Cassandra בשלב הזה, אתם יכולים לערוך את קובץ השינויים כדי להסיר או לסמן כהערה את הבית
cassandra.backupלפני הרצת הפקודהhelm upgradeבלי הדגל--dry-run. מידע נוסף על הגדרת הגיבוי של Cassandra זמין במאמר גיבוי ושחזור של נתוני Cassandra. -
מתקינים את התרשים:
helm upgrade datastore apigee-datastore/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
לפני שממשיכים לשלב הבא, בודקים את המצב של
apigeedatastoreכדי לוודא שהיא פועלת:kubectl -n APIGEE_NAMESPACE get apigeedatastore default
NAME STATE AGE default running 51s
- הרצת בדיקה:
-
מתקינים את הטלמטריה של Apigee:
- הרצת בדיקה:
helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
-
מגדירים את הקישורים של חשבון השירות ל-Logger ול-Metrics בשביל איחוד זהויות של עומסי עבודה ל-GKE:
הפלט מהפקודה
helm upgradeאמור להכיל פקודות בקטע NOTES. מבצעים את הפקודות האלה כדי להגדיר את הקישורים של חשבון השירות. אמורות להיות שתי פקודות בפורמט הבא:Logger KSA:
apigee-logger-apigee-telemetrygcloud iam service-accounts add-iam-policy-binding LOGGER_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-logger-apigee-telemetry]" \ --project PROJECT_ID
מדדי KSA:
apigee-metrics-saייצור
gcloud iam service-accounts add-iam-policy-binding METRICS_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-metrics-sa]" \ --project PROJECT_ID
לא בסביבת ייצור
gcloud iam service-accounts add-iam-policy-binding NON_PROD_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-metrics-sa]" \ --project PROJECT_ID
לדוגמה:
ייצור
NOTES: For GKE Workload Identity, please make sure to add the following membership to the IAM policy binding using the respective kubernetes SA (KSA). Logger KSA: apigee-logger-apigee-telemetry gcloud iam service-accounts add-iam-policy-binding apigee-logger@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-logger-apigee-telemetry]" \ --project my-project Metrics KSA: apigee-metrics-sa gcloud iam service-accounts add-iam-policy-binding apigee-metrics@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-metrics-sa]" \ --project my-projectלא בסביבת ייצור
NOTES: For GKE Workload Identity, please make sure to add the following membership to the IAM policy binding using the respective kubernetes SA (KSA). Logger KSA: apigee-logger-apigee-telemetry gcloud iam service-accounts add-iam-policy-binding apigee-non-prod@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-logger-apigee-telemetry]" \ --project my-project Metrics KSA: apigee-metrics-sa gcloud iam service-accounts add-iam-policy-binding apigee-non-prod@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-metrics-sa]" \ --project my-project -
מתקינים את התרשים:
helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
כדי לוודא שהיא פועלת, בודקים את המצב שלה:
kubectl -n APIGEE_NAMESPACE get apigeetelemetry apigee-telemetry
NAME STATE AGE apigee-telemetry running 55s
- הרצת בדיקה:
-
מתקינים את Apigee Redis:
-
הרצת בדיקה:
helm upgrade redis apigee-redis/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
-
מתקינים את התרשים:
helm upgrade redis apigee-redis/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
כדי לוודא שהיא פועלת, בודקים את המצב שלה:
kubectl -n APIGEE_NAMESPACE get apigeeredis default
NAME STATE AGE default running 79s
-
-
מתקינים את מנהל ה-ingress של Apigee:
-
הרצת בדיקה:
helm upgrade ingress-manager apigee-ingress-manager/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
-
מתקינים את התרשים:
helm upgrade ingress-manager apigee-ingress-manager/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
כדי לוודא שהיא פועלת, בודקים את הזמינות שלה:
kubectl -n APIGEE_NAMESPACE get deployment apigee-ingressgateway-manager
NAME READY UP-TO-DATE AVAILABLE AGE apigee-ingressgateway-manager 2/2 2 2 16s
-
-
מתקינים את הארגון ב-Apigee. אם הגדרתם את משתנה הסביבה $ORG_NAME במעטפת, אתם יכולים להשתמש בו בפקודות הבאות:
-
הרצת בדיקה:
helm upgrade $ORG_NAME apigee-org/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
-
מגדירים את הקישורים של חשבון השירות לרכיבים ברמת הארגון בשביל איחוד זהויות של עומסי עבודה ל-GKE, MART, Apigee Connect, UDCA ו-Watcher.
הפלט מהפקודה
helm upgradeאמור להכיל פקודות בקטע NOTES. מבצעים את הפקודות האלה כדי להגדיר את הקישורים של חשבון השירות. צריכות להיות ארבע פקודות.MART KSA:
apigee-mart-PROJECT_ID-ORG_HASH_ID-saייצור
gcloud iam service-accounts add-iam-policy-binding MART_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-mart-PROJECT_ID-ORG_HASH_ID-sa]" \ --project PROJECT_ID
לא בסביבת ייצור
gcloud iam service-accounts add-iam-policy-binding NON_PROD_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-mart-PROJECT_ID-ORG_HASH_ID-sa]" \ --project PROJECT_ID
Connect Agent KSA:
apigee-connect-agent-PROJECT_ID-ORG_HASH_ID-saייצור
gcloud iam service-accounts add-iam-policy-binding MART_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-connect-agent-PROJECT_ID-ORG_HASH_ID-sa]" \ --project PROJECT_ID
לא בסביבת ייצור
gcloud iam service-accounts add-iam-policy-binding NON_PROD_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-connect-agent-PROJECT_ID-ORG_HASH_ID-sa]" \ --project PROJECT_ID
Mint Task Scheduler KSA: (אם אתם משתמשים במונטיזציה ל-Apigee Hybrid)
apigee-mint-task-scheduler-PROJECT_ID-ORG_HASH_ID-saייצור
gcloud iam service-accounts add-iam-policy-binding MINT_TASK_SCHEDULER_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-mint-task-scheduler-PROJECT_ID-ORG_HASH_ID-sa]" \ --project PROJECT_ID
לא בסביבת ייצור
gcloud iam service-accounts add-iam-policy-binding NON_PROD_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-mint-task-scheduler-PROJECT_ID-ORG_HASH_ID-sa]" \ --project PROJECT_ID
UDCA KSA:
apigee-udca-PROJECT_ID-ORG_HASH_ID-saייצור
gcloud iam service-accounts add-iam-policy-binding UDCA_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-udca-PROJECT_ID-ORG_HASH_ID-sa]" \ --project PROJECT_ID
לא בסביבת ייצור
gcloud iam service-accounts add-iam-policy-binding NON_PROD_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-udca-PROJECT_ID-ORG_HASH_ID-sa]" \ --project PROJECT_ID
Watcher KSA:
apigee-watcher-PROJECT_ID-ORG_HASH_ID-saייצור
gcloud iam service-accounts add-iam-policy-binding WATCHER_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-watcher-PROJECT_ID-ORG_HASH_ID-sa]" \ --project PROJECT_ID
לא בסביבת ייצור
gcloud iam service-accounts add-iam-policy-binding NON_PROD_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-watcher-PROJECT_ID-ORG_HASH_ID-sa]" \ --project PROJECT_ID
לדוגמה:
ייצור
NOTES: For Apigee Organization GKE Workload Identity, my-project, please make sure to add the following membership to the IAM policy binding using the respective kubernetes SA (KSA). MART KSA: apigee-mart-my-project-1a2b3c4-sa gcloud iam service-accounts add-iam-policy-binding apigee-mart@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-mart-my-project-1a2b3c4-sa]" \ --project my-project Connect Agent KSA: apigee-connect-agent-my-project-1a2b3c4-sa gcloud iam service-accounts add-iam-policy-binding apigee-mart@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-connect-agent-my-project-1a2b3c4-sa]" \ --project my-project Mint task scheduler KSA: apigee-mint-task-scheduler-my-project-1a2b3c4-sa gcloud iam service-accounts add-iam-policy-binding apigee-mint-task-scheduler@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-mint-task-scheduler-my-project-1a2b3c4-sa]" \ --project my-project UDCA KSA: apigee-udca-my-project-1a2b3c4-sa gcloud iam service-accounts add-iam-policy-binding apigee-udca@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-udca-my-project-1a2b3c4-sa]" \ --project my-project Watcher KSA: apigee-watcher-my-project-1a2b3c4-sa gcloud iam service-accounts add-iam-policy-binding apigee-watcher@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-watcher-my-project-1a2b3c4-sa]" \ --project my-projectלא בסביבת ייצור
NOTES: For Apigee Organization GKE Workload Identity, my-project, please make sure to add the following membership to the IAM policy binding using the respective kubernetes SA (KSA). MART KSA: apigee-mart-my-project-1a2b3c4-sa gcloud iam service-accounts add-iam-policy-binding apigee-non-prod@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-mart-my-project-1a2b3c4-sa]" \ --project my-project Connect Agent KSA: apigee-connect-agent-my-project-1a2b3c4-sa gcloud iam service-accounts add-iam-policy-binding apigee-non-prod@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-connect-agent-my-project-1a2b3c4-sa]" \ --project my-project UDCA KSA: apigee-udca-my-project-1a2b3c4-sa gcloud iam service-accounts add-iam-policy-binding apigee-non-prod@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-udca-my-project-1a2b3c4-sa]" \ --project my-project Watcher KSA: apigee-watcher-my-project-1a2b3c4-sa gcloud iam service-accounts add-iam-policy-binding apigee-non-prod@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-watcher-my-project-1a2b3c4-sa]" \ --project my-project -
מתקינים את התרשים:
helm upgrade $ORG_NAME apigee-org/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
כדי לוודא שהיא פועלת, בודקים את המצב של הארגון הרלוונטי:
kubectl -n APIGEE_NAMESPACE get apigeeorg
NAME STATE AGE my-project-123abcd running 4m18s
-
-
מתקינים את הסביבה.
צריך להתקין סביבה אחת בכל פעם. מציינים את הסביבה באמצעות
--set env=ENV_NAME. אם הגדרתם את משתנה הסביבה $ENV_NAME במעטפת, אתם יכולים להשתמש בו בפקודות הבאות:-
הרצת בדיקה:
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set env=$ENV_NAME \ -f overrides.yaml \ --dry-run=server
ENV_RELEASE_NAME הוא שם שמשמש למעקב אחרי ההתקנה והשדרוגים של התרשים
apigee-env. השם הזה חייב להיות ייחודי ושונה משמות אחרים של גרסאות Helm בהתקנה. בדרך כלל זהה ל-ENV_NAME. עם זאת, אם לסביבה יש שם זהה לזה של קבוצת הסביבות, צריך להשתמש בשמות שונים לגרסאות של הסביבה ושל קבוצת הסביבות, לדוגמהdev-env-releaseו-dev-envgroup-release. מידע נוסף על גרסאות ב-Helm זמין במאמר Three big concepts במסמכי התיעוד של Helm. -
מגדירים את הקישורים של חשבון השירות לרכיבים ברמת הסביבה של איחוד זהויות של עומסי עבודה ל-GKE, של סביבת זמן הריצה, של Synchronizer ושל UDCA.
הפלט מהפקודה
helm upgradeאמור להכיל פקודות בקטע NOTES. מבצעים את הפקודות האלה כדי להגדיר את הקישורים של חשבון השירות. צריכות להיות ארבע פקודות.זמן ריצה של KSA:
apigee-runtime-PROJECT_ID-ENV_NAME-ENV_HASH_ID-saייצור
gcloud iam service-accounts add-iam-policy-binding RUNTIME_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-runtime-PROJECT_ID-ENV_NAME-ENV_HASH_ID-sa]" \ --project PROJECT_ID
לא בסביבת ייצור
gcloud iam service-accounts add-iam-policy-binding NON_PROD_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-runtime-PROJECT_ID-ENV_NAME-ENV_HASH_ID-sa]" \ --project PROJECT_ID
Synchronizer KSA:
apigee-synchronizer-PROJECT_ID-ENV_NAME-ENV_HASH_ID-saייצור
gcloud iam service-accounts add-iam-policy-binding SYNCHRONIZER_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-synchronizer-PROJECT_ID-ENV_NAME-ENV_HASH_ID-sa]" \ --project PROJECT_ID
לא בסביבת ייצור
gcloud iam service-accounts add-iam-policy-binding NON_PROD_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-synchronizer-PROJECT_ID-ENV_NAME-ENV_HASH_ID-sa]" \ --project PROJECT_ID
UDCA KSA:
apigee-udca-PROJECT_ID-ORG_HASH_ID-ENV_NAME-ENV_HASH_ID-saייצור
gcloud iam service-accounts add-iam-policy-binding UDCA_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-udca-PROJECT_ID-ENV_NAME-ENV_HASH_ID-sa]" \ --project PROJECT_ID
לא בסביבת ייצור
gcloud iam service-accounts add-iam-policy-binding NON_PROD_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-udca-PROJECT_ID-ENV_NAME-ENV_HASH_ID-sa]" \ --project PROJECT_ID
לדוגמה:
NOTES: For Apigee Environment GKE Workload Identity, my-env, please make sure to add the following membership to the IAM policy binding using the respective kubernetes SA (KSA). Runtime KSA: apigee-runtime-my-project-my-env-b2c3d4e-sa gcloud iam service-accounts add-iam-policy-binding apigee-runtime@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-runtime-my-project-my-env-b2c3d4e-sa]" \ --project my-project Synchronizer KSA: apigee-synchronizer-my-project-my-env-b2c3d4e-sa gcloud iam service-accounts add-iam-policy-binding apigee-synchronizer@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-synchronizer-my-project-my-env-b2c3d4e-sa]" \ --project my-project UDCA KSA: apigee-udca-my-project-my-env-b2c3d4e-sa: gcloud iam service-accounts add-iam-policy-binding apigee-udca@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-udca-my-project-my-env-b2c3d4e-sa]" \ --project my-project -
מתקינים את התרשים:
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set env=$ENV_NAME \ -f overrides.yaml
-
כדי לוודא שהיא פועלת, בודקים את המצב של הסביבה הרלוונטית:
kubectl -n APIGEE_NAMESPACE get apigeeenv
NAME STATE AGE GATEWAYTYPE apigee-my-project-my-env running 3m1s
-
-
מתקינים את קבוצות הסביבה (
virtualhosts).- צריך להתקין קבוצת סביבות (מארח וירטואלי) אחת בכל פעם. מציינים את קבוצת הסביבות באמצעות
--set envgroup=ENV_GROUP. אם הגדרתם את משתנה הסביבה $ENV_GROUP במעטפת, אתם יכולים להשתמש בו בפקודות הבאות. חוזרים על הפקודות הבאות לכל קבוצת סביבות שמוזכרת בקובץoverrides.yaml:הרצת בדיקה:
helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set envgroup=$ENV_GROUP \ -f overrides.yaml \ --dry-run=server
ENV_GROUP_RELEASE_NAME הוא שם שמשמש למעקב אחרי ההתקנה והשדרוגים של התרשים
apigee-virtualhosts. השם הזה חייב להיות ייחודי ושונה משמות אחרים של גרסאות Helm בהתקנה. בדרך כלל זהה ל-ENV_GROUP. עם זאת, אם לקבוצת הסביבות יש שם זהה לשם של סביבה בהתקנה, צריך להשתמש בשמות שונים לגרסאות של קבוצת הסביבות והסביבה, למשלdev-envgroup-releaseו-dev-env-release. מידע נוסף על גרסאות ב-Helm זמין במאמר Three big concepts במסמכי התיעוד של Helm. -
מתקינים את התרשים:
helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set envgroup=$ENV_GROUP \ -f overrides.yaml
- בודקים את המצב של ApigeeRoute (AR).
התקנת
virtualhostsיוצרת את ApigeeRouteConfig (ARC), שיוצר באופן פנימי את ApigeeRoute (AR) אחרי שה-Apigee watcher שולף פרטים שקשורים לקבוצת הסביבות ממישור הבקרה. לכן, צריך לבדוק שהמצב של ה-AR התואם הוא "פועל":kubectl -n APIGEE_NAMESPACE get arc
NAME STATE AGE apigee-org1-dev-egroup 2m
kubectl -n APIGEE_NAMESPACE get ar
NAME STATE AGE apigee-ingressgateway-internal-chaining-my-project-123abcd running 19m my-project-myenvgroup-000-321dcba running 2m30s
- צריך להתקין קבוצת סביבות (מארח וירטואלי) אחת בכל פעם. מציינים את קבוצת הסביבות באמצעות
- (אופציונלי) אפשר לראות את הסטטוס של חשבונות השירות של Kubernetes בדף Kubernetes: Workloads Overview ב- Google Cloud console.
WIF בפלטפורמות אחרות
- אם לא, עוברים לספרייה
APIGEE_HELM_CHARTS_HOME. מריצים את הפקודות הבאות מהספרייה הזו. - התקנת Apigee Operator/Controller:
- הרצת בדיקה:
helm upgrade operator apigee-operator/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
- מתקינים את התרשים:
helm upgrade operator apigee-operator/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
אימות ההתקנה של Apigee Operator:
helm ls -n APIGEE_NAMESPACE
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION operator apigee 3 2025-06-26 00:42:44.492009 -0800 PST deployed apigee-operator-1.15.9 1.15.9
-
כדי לוודא שהיא פועלת, בודקים את הזמינות שלה:
kubectl -n APIGEE_NAMESPACE get deploy apigee-controller-manager
NAME READY UP-TO-DATE AVAILABLE AGE apigee-controller-manager 1/1 1 1 34s
- הרצת בדיקה:
-
התקנת מאגר הנתונים של Apigee:
- הרצת בדיקה:
helm upgrade datastore apigee-datastore/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
-
מתקינים את התרשים:
helm upgrade datastore apigee-datastore/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
אם הפעלתם את הגיבוי או השחזור של Cassandra, תנו לחשבונות השירות של Cassandra Kubernetes גישה כדי להתחזות לחשבון השירות המשויך ב-
apigee-cassandraIAM.-
מציגים את כתובות האימייל של חשבון השירות ב-IAM בשביל Cassandra:
ייצור
gcloud iam service-accounts list --project PROJECT_ID | grep "apigee-cassandra"
לא בסביבת ייצור
gcloud iam service-accounts list --project PROJECT_ID | grep "apigee-non-prod"
הפלט אמור להיראות כך:
ייצור
apigee-cassandra apigee-cassandra@my-project.iam.gserviceaccount.com Falseלא בסביבת ייצור
apigee-non-prod apigee-non-prod@my-project.iam.gserviceaccount.com False -
מציגים את רשימת חשבונות השירות של Cassandra Kubernetes:
kubectl get serviceaccount -n APIGEE_NAMESPACE | grep "apigee-cassandra"
הפלט אמור להיראות כך:
apigee-cassandra-backup-sa 0 7m37s apigee-cassandra-default 0 7m12s apigee-cassandra-guardrails-sa 0 6m43s apigee-cassandra-restore-sa 0 7m37s apigee-cassandra-schema-setup-my-project-1a2b2c4 0 7m30s apigee-cassandra-schema-val-my-project-1a2b2c4 0 7m29s apigee-cassandra-user-setup-my-project-1a2b2c4 0 7m22s -
אם יצרתם את חשבונות השירות
apigee-cassandra-backup-saאוapigee-cassandra-restore-saב-Kubernetes, אתם צריכים לתת לכל אחד מהם גישה כדי להתחזות לחשבון השירותapigee-cassandraב-IAM באמצעות הפקודה הבאה:ייצור
תבנית
gcloud iam service-accounts add-iam-policy-binding \ CASSANDRA_IAM_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUserדוגמה
gcloud iam service-accounts add-iam-policy-binding \ apigee-cassandra@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-cassandra-backup-sa" \ --role=roles/iam.workloadIdentityUserלא בסביבת ייצור
תבנית
gcloud iam service-accounts add-iam-policy-binding \ NON_PROD_IAM_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUserדוגמה
gcloud iam service-accounts add-iam-policy-binding \ apigee-non-prod@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-cassandra-backup-sa" \ --role=roles/iam.workloadIdentityUserכאשר:
-
CASSANDRA_IAM_SA_EMAIL: כתובת האימייל של חשבון השירות של Cassandra ב-IAM. -
PROJECT_NUMBER: מספר הפרויקט שבו יצרתם את מאגר הזהויות של עומסי העבודה. -
POOL_ID: מזהה מאגר הזהויות של עומסי העבודה. -
MAPPED_SUBJECT: ה-Kubernetes ServiceAccount מההצהרה באסימון המזהה. ברוב ההתקנות המשולבות, הפורמט יהיה:system:serviceaccount:APIGEE_NAMESPACE:K8S_SA_NAME.- ב-
apigee-cassandra-backup-sa, זה יהיה דומה ל-system:serviceaccount:apigee:apigee-cassandra-backup-sa. - ב-
apigee-cassandra-restore-sa, זה ייראה בערך כך:system:serviceaccount:apigee:apigee-cassandra-restore-sa.
- ב-
-
-
מציגים את כתובות האימייל של חשבון השירות ב-IAM בשביל Cassandra:
-
לפני שממשיכים לשלב הבא, בודקים את המצב של
apigeedatastoreכדי לוודא שהיא פועלת:kubectl -n APIGEE_NAMESPACE get apigeedatastore default
NAME STATE AGE default running 51s
- הרצת בדיקה:
-
מתקינים את הטלמטריה של Apigee:
- הרצת בדיקה:
helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
-
מתקינים את התרשים:
helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
כדי לוודא שהיא פועלת, בודקים את המצב שלה:
kubectl -n APIGEE_NAMESPACE get apigeetelemetry apigee-telemetry
NAME STATE AGE apigee-telemetry running 55s
-
נותנים לחשבונות השירות של הטלמטריה ב-Kubernetes גישה כדי להתחזות לחשבון השירות המשויך ב-
apigee-metricsIAM.-
מציינים את כתובת האימייל של חשבון השירות ב-IAM למדדים:
ייצור
gcloud iam service-accounts list --project PROJECT_ID | grep "apigee-metrics"
הפלט אמור להיראות כך:
apigee-metrics apigee-metrics@my-project.iam.gserviceaccount.com False
לא בסביבת ייצור
gcloud iam service-accounts list --project PROJECT_ID | grep "apigee-non-prod"
הפלט אמור להיראות כך:
apigee-non-prod apigee-non-prod@my-project.iam.gserviceaccount.com False
-
מציגים את רשימת חשבונות השירות של הטלמטריה ב-Kubernetes:
kubectl get serviceaccount -n APIGEE_NAMESPACE | grep "telemetry"
הפלט אמור להיראות כך:
apigee-metrics-apigee-telemetry 0 42m apigee-open-telemetry-collector-apigee-telemetry 0 37m
-
נותנים לכל אחד מחשבונות השירות של הטלמטריה ב-Kubernetes גישה להתחזות לחשבון השירות
apigee-metricsב-IAM, באמצעות הפקודה הבאה:ייצור
Apigee Metrics KSA:
apigee-metrics-apigee-telemetryלחשבון שירות של Google IAMapigee-metricsקוד
gcloud iam service-accounts add-iam-policy-binding \ METRICS_IAM_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUserדוגמה
gcloud iam service-accounts add-iam-policy-binding \ apigee-metrics@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-metrics-apigee-telemetry" \ --role=roles/iam.workloadIdentityUserApigee OpenTelemetry Collector KSA:
apigee-open-telemetry-collector-apigee-telemetryלחשבון שירות Google IAMapigee-metricsקוד
gcloud iam service-accounts add-iam-policy-binding \ METRICS_IAM_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUserדוגמה
gcloud iam service-accounts add-iam-policy-binding \ apigee-metrics@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-open-telemetry-collector-apigee-telemetry" \ --role=roles/iam.workloadIdentityUserלא בסביבת ייצור
Apigee Metrics KSA:
apigee-metrics-apigee-telemetrytoapigee-non-prodGoogle IAM service accountקוד
gcloud iam service-accounts add-iam-policy-binding \ NON_PROD_IAM_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUserדוגמה
gcloud iam service-accounts add-iam-policy-binding \ apigee-non-prod@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-metrics-apigee-telemetry" \ --role=roles/iam.workloadIdentityUserApigee OpenTelemetry Collector KSA:
apigee-open-telemetry-collector-apigee-telemetryלחשבון שירות Google IAMapigee-non-prodקוד
gcloud iam service-accounts add-iam-policy-binding \ NON_PROD_IAM_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUserדוגמה
gcloud iam service-accounts add-iam-policy-binding \ apigee-non-prod@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-open-telemetry-collector-apigee-telemetry" \ --role=roles/iam.workloadIdentityUser
-
מציינים את כתובת האימייל של חשבון השירות ב-IAM למדדים:
- הרצת בדיקה:
-
מתקינים את Apigee Redis:
-
הרצת בדיקה:
helm upgrade redis apigee-redis/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
-
מתקינים את התרשים:
helm upgrade redis apigee-redis/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
כדי לוודא שהיא פועלת, בודקים את המצב שלה:
kubectl -n APIGEE_NAMESPACE get apigeeredis default
NAME STATE AGE default running 79s
-
-
מתקינים את מנהל ה-ingress של Apigee:
-
הרצת בדיקה:
helm upgrade ingress-manager apigee-ingress-manager/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
-
מתקינים את התרשים:
helm upgrade ingress-manager apigee-ingress-manager/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
כדי לוודא שהיא פועלת, בודקים את הזמינות שלה:
kubectl -n APIGEE_NAMESPACE get deployment apigee-ingressgateway-manager
NAME READY UP-TO-DATE AVAILABLE AGE apigee-ingressgateway-manager 2/2 2 2 16s
-
-
מתקינים את הארגון ב-Apigee. אם הגדרתם את משתנה הסביבה $ORG_NAME במעטפת, אתם יכולים להשתמש בו בפקודות הבאות:
-
הרצת בדיקה:
helm upgrade $ORG_NAME apigee-org/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
-
מתקינים את התרשים:
helm upgrade $ORG_NAME apigee-org/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
כדי לוודא שהיא פועלת, בודקים את המצב של הארגון הרלוונטי:
kubectl -n APIGEE_NAMESPACE get apigeeorg
NAME STATE AGE my-project-123abcd running 4m18s
-
נותנים לחשבונות השירות של Kubernetes ברמת הארגון גישה להתחזות לחשבונות השירות המשויכים של IAM.
-
מציגים את כתובות האימייל של חשבונות השירות ב-IAM שמשמשים את הרכיבים
apigee-mart,apigee-udcaו-apigee-watcher:ייצור
gcloud iam service-accounts list --project PROJECT_ID | grep "apigee-mart\|apigee-udca\|apigee-watcher"
הפלט אמור להיראות כך:
apigee-mart apigee-mart@my-project.iam.gserviceaccount.com False apigee-udca apigee-udca@my-project.iam.gserviceaccount.com False apigee-watcher apigee-watcher@my-project.iam.gserviceaccount.com False
אם אתם משתמשים במונטיזציה ב-Apigee Hybrid, אתם צריכים גם את כתובת האימייל של חשבון השירות
apigee-mint-task-scheduler.gcloud iam service-accounts list --project PROJECT_ID | grep "apigee-mint-task-scheduler"
הפלט אמור להיראות כך:
apigee-mint-task-scheduler apigee-mint-task-scheduler@my-project.iam.gserviceaccount.com False
לא בסביבת ייצור
gcloud iam service-accounts list --project PROJECT_ID | grep "apigee-non-prod"
הפלט אמור להיראות כך:
apigee-non-prod apigee-non-prod@my-project.iam.gserviceaccount.com False -
מציגים את רשימת חשבונות השירות של Kubernetes ברמת הארגון:
kubectl get serviceaccount -n APIGEE_NAMESPACE | grep "apigee-connect-agent\|apigee-mart\|apigee-udca\|apigee-watcher"
הפלט אמור להיראות כך:
apigee-connect-agent-my-project-123abcd 0 1h4m apigee-mart-my-project-123abcd 0 1h4m apigee-mint-task-scheduler-my-project-123abcd 0 1h3m apigee-udca-my-project-123abcd 0 1h2m apigee-watcher-my-project-123abcd 0 1h1m -
כדי לתת לחשבונות השירות של Kubernetes ברמת הארגון גישה להתחזות לחשבונות השירות המשויכים של IAM, משתמשים בפקודות הבאות:
ייצור
Connect agent KSA: חשבון שירות של Kubernetes (
apigee-connect-agent-ORG_NAME-ORG_HASH_ID) לחשבון שירות של IAM (apigee-mart).קוד
gcloud iam service-accounts add-iam-policy-binding \ APIGEE_MART_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUserדוגמה
gcloud iam service-accounts add-iam-policy-binding \ apigee-mart@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-connect-agent-my-org-123abcd" \ --role=roles/iam.workloadIdentityUserMART KSA: חשבון שירות של Kubernetes ב-
apigee-mart-ORG_NAME-ORG_HASH_IDלחשבון שירות של IAM ב-apigee-mart. MART ו-Connect agent משתמשים באותו חשבון שירות של IAM.קוד
gcloud iam service-accounts add-iam-policy-binding \ APIGEE_MART_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUserדוגמה
gcloud iam service-accounts add-iam-policy-binding \ apigee-mart@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-mart-my-org-123abcd" \ --role=roles/iam.workloadIdentityUserMint task scheduler KSA: (אם משתמשים במונטיזציה ל-Apigee Hybrid)
חשבון שירות של Kubernetes ב-
apigee-mint-task-scheduler-ORG_NAME-ORG_HASH_IDלחשבון שירות של IAM ב-apigee-mint-task-scheduler.קוד
gcloud iam service-accounts add-iam-policy-binding \ APIGEE_MINT_TASK_SCHEDULER_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUserדוגמה
gcloud iam service-accounts add-iam-policy-binding \ apigee-mint-task-scheduler@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-mint-task-scheduler-my-org-123abcd" \ --role=roles/iam.workloadIdentityUserOrg-scoped UDCA KSA: חשבון שירות של Kubernetes
apigee-udca-ORG_NAME-ORG_HASH_IDלחשבון שירות של IAMapigee-udca.קוד
gcloud iam service-accounts add-iam-policy-binding \ APIGEE_UDCA_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUserדוגמה
gcloud iam service-accounts add-iam-policy-binding \ apigee-udca-task-scheduler@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-udca-my-org-123abcd" \ --role=roles/iam.workloadIdentityUserWatcher KSA: חשבון שירות של Kubernetes ב-
apigee-watcher-ORG_NAME-ORG_HASH_IDלחשבון שירות של IAM ב-apigee-watcher.קוד
gcloud iam service-accounts add-iam-policy-binding \ APIGEE_WATCHER_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUserדוגמה
gcloud iam service-accounts add-iam-policy-binding \ apigee-watcher@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-watcher-my-org-123abcd" \ --role=roles/iam.workloadIdentityUserלא בסביבת ייצור
Connect agent KSA: חשבון שירות של Kubernetes (
apigee-connect-agent-ORG_NAME-ORG_HASH_ID) לחשבון שירות של IAM (apigee-non-prod).קוד
gcloud iam service-accounts add-iam-policy-binding \ NON_PROD_IAM_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUserדוגמה
gcloud iam service-accounts add-iam-policy-binding \ apigee-non-prod@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-connect-agent-my-org-123abcd" \ --role=roles/iam.workloadIdentityUserMART KSA: חשבון שירות של Kubernetes ב-
apigee-mart-ORG_NAME-ORG_HASH_IDלחשבון שירות של IAM ב-apigee-non-prod.קוד
gcloud iam service-accounts add-iam-policy-binding \ NON_PROD_IAM_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUserדוגמה
gcloud iam service-accounts add-iam-policy-binding \ apigee-non-prod@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-mart-my-org-123abcd" \ --role=roles/iam.workloadIdentityUserMint task scheduler KSA: (אם משתמשים במונטיזציה ל-Apigee Hybrid)
חשבון שירות אחד (
apigee-mint-task-scheduler-ORG_NAME-UUIORG_HASH_IDD) ב-Kubernetes לחשבון שירות אחד (apigee-non-prod) ב-IAM.קוד
gcloud iam service-accounts add-iam-policy-binding \ NON_PROD_IAM_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUserדוגמה
gcloud iam service-accounts add-iam-policy-binding \ apigee-non-prod@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-mint-task-scheduler-my-org-123abcd" \ --role=roles/iam.workloadIdentityUserOrg-scoped UDCA KSA: חשבון שירות של Kubernetes
apigee-udca-ORG_NAME-ORG_HASH_IDלחשבון שירות של IAMapigee-non-prod.קוד
gcloud iam service-accounts add-iam-policy-binding \ NON_PROD_IAM_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUserדוגמה
gcloud iam service-accounts add-iam-policy-binding \ apigee-non-prod@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-udca-my-org-123abcd" \ --role=roles/iam.workloadIdentityUserWatcher KSA: חשבון שירות של Kubernetes ב-
apigee-watcher-ORG_NAME-ORG_HASH_IDלחשבון שירות של IAM ב-apigee-non-prod.קוד
gcloud iam service-accounts add-iam-policy-binding \ NON_PROD_IAM_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUserדוגמה
gcloud iam service-accounts add-iam-policy-binding \ apigee-non-prod@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-watcher-my-org-123abcd" \ --role=roles/iam.workloadIdentityUser
-
מציגים את כתובות האימייל של חשבונות השירות ב-IAM שמשמשים את הרכיבים
-
-
מתקינים את הסביבה.
צריך להתקין סביבה אחת בכל פעם. מציינים את הסביבה באמצעות
--set env=ENV_NAME. אם הגדרתם את משתנה הסביבה $ENV_NAME במעטפת, אתם יכולים להשתמש בו בפקודות הבאות:-
הרצת בדיקה:
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set env=$ENV_NAME \ -f overrides.yaml \ --dry-run=server
ENV_RELEASE_NAME הוא שם שמשמש למעקב אחרי ההתקנה והשדרוגים של התרשים
apigee-env. השם הזה חייב להיות ייחודי ושונה משמות אחרים של גרסאות Helm בהתקנה. בדרך כלל זהה ל-ENV_NAME. עם זאת, אם לסביבה יש שם זהה לזה של קבוצת הסביבות, צריך להשתמש בשמות שונים לגרסאות של הסביבה ושל קבוצת הסביבות, לדוגמהdev-env-releaseו-dev-envgroup-release. מידע נוסף על גרסאות ב-Helm זמין במאמר Three big concepts במסמכי התיעוד של Helm. -
מתקינים את התרשים:
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set env=$ENV_NAME \ -f overrides.yaml
-
כדי לוודא שהיא פועלת, בודקים את המצב של הסביבה הרלוונטית:
kubectl -n APIGEE_NAMESPACE get apigeeenv
NAME STATE AGE GATEWAYTYPE apigee-my-project-my-env running 3m1s
-
נותנים לחשבונות השירות של Kubernetes ברמת הסביבה גישה להתחזות לחשבונות השירות המשויכים של IAM.
-
מציגים את כתובת האימייל של חשבונות השירות ב-IAM שמשמשים את הרכיבים
apigee-runtime,apigee-synchronizerו-apigee-udca:ייצור
gcloud iam service-accounts list --project PROJECT_ID | grep "apigee-runtime\|apigee-synchronizer\|apigee-udca"
לא בסביבת ייצור
gcloud iam service-accounts list --project PROJECT_ID | grep "apigee-non-prod"
gcloud iam service-accounts list --project PROJECT_ID | grep "apigee-mart\|apigee-udca\|apigee-watcher"
הפלט אמור להיראות כך:
ייצור
apigee-runtime apigee-runtime@my-project.iam.gserviceaccount.com False apigee-synchronizer apigee-synchronizer@my-project.iam.gserviceaccount.com False apigee-udca apigee-udca@my-project.iam.gserviceaccount.com Falseלא בסביבת ייצור
apigee-non-prod apigee-non-prod@my-project.iam.gserviceaccount.com False -
מציגים את רשימת חשבונות השירות של Kubernetes ברמת הסביבה:
kubectl get serviceaccount -n APIGEE_NAMESPACE | grep "apigee-runtime\|apigee-synchronizer\|apigee-udca"
הפלט אמור להיראות כך:
apigee-runtime-my-project--my-env-cdef123 0 19m apigee-synchronizer-my-project-my-env-cdef123 0 17m apigee-udca-my-project-123abcd 0 1h29m apigee-udca-my-project-my-env-cdef123 0 22m -
כדי לתת לחשבונות השירות של Kubernetes ברמת הסביבה גישה להתחזות לחשבונות השירות המשויכים של IAM, משתמשים בפקודה הבאה:
ייצור
KSA של זמן ריצה:
apigee-runtime-PROJECT_ID-ENV_NAME-ENV_HASH_ID-saKSA ל-apigee-runtimeGoogle IAM SAקוד
gcloud iam service-accounts add-iam-policy-binding \ RUNTIME_IAM_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUserדוגמה
gcloud iam service-accounts add-iam-policy-binding \ apigee-runtime@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-runtime-my-project-my-env-cdef123" \ --role=roles/iam.workloadIdentityUserSynchronizer KSA:
apigee-synchronizer-PROJECT_ID-ENV_NAME-ENV_HASH_ID-saKSA ל-apigee-synchronizerGoogle IAM SAקוד
gcloud iam service-accounts add-iam-policy-binding \ SYNCHRONIZER_IAM_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUserדוגמה
gcloud iam service-accounts add-iam-policy-binding \ apigee-synchronizer@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-synchronizer-my-project-my-env-cdef123" \ --role=roles/iam.workloadIdentityUserUDCA KSA:
apigee-udca-PROJECT_ID-ENV_NAME-ENV_HASH_ID-saKSA אלapigee-udcaGoogle IAM SAקוד
gcloud iam service-accounts add-iam-policy-binding \ UDCA_IAM_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUserדוגמה
gcloud iam service-accounts add-iam-policy-binding \ apigee-udca@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-udca-my-project-my-env-cdef123" \ --role=roles/iam.workloadIdentityUserלא בסביבת ייצור
KSA של זמן ריצה:
apigee-runtime-PROJECT_ID-ENV_NAME-ENV_HASH_ID-saKSA אלapigee-non-prodGoogle IAM SAקוד
gcloud iam service-accounts add-iam-policy-binding \ NON_PROD_IAM_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUserדוגמה
gcloud iam service-accounts add-iam-policy-binding \ apigee-non-prod@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-runtime-my-project-my-env-cdef123" \ --role=roles/iam.workloadIdentityUserלא בסביבת ייצור
Synchronizer KSA:
apigee-synchronizer-PROJECT_ID-ENV_NAME-ENV_HASH_ID-saKSA ל-apigee-non-prodGoogle IAM SAקוד
gcloud iam service-accounts add-iam-policy-binding \ NON_PROD_IAM_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUserדוגמה
gcloud iam service-accounts add-iam-policy-binding \ apigee-non-prod@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-synchronizer-my-project-my-env-cdef123" \ --role=roles/iam.workloadIdentityUserלא בסביבת ייצור
UDCA KSA:
apigee-udca-PROJECT_ID-ENV_NAME-ENV_HASH_ID-saKSA אלapigee-non-prodGoogle IAM SAקוד
gcloud iam service-accounts add-iam-policy-binding \ NON_PROD_IAM_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUserדוגמה
gcloud iam service-accounts add-iam-policy-binding \ apigee-non-prod@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-udca-my-project-my-env-cdef123" \ --role=roles/iam.workloadIdentityUser
-
מציגים את כתובת האימייל של חשבונות השירות ב-IAM שמשמשים את הרכיבים
-
-
מתקינים את קבוצות הסביבה (
virtualhosts).- צריך להתקין קבוצת סביבות (מארח וירטואלי) אחת בכל פעם. מציינים את קבוצת הסביבות באמצעות
--set envgroup=ENV_GROUP. אם הגדרתם את משתנה הסביבה $ENV_GROUP במעטפת, אתם יכולים להשתמש בו בפקודות הבאות. חוזרים על הפקודות הבאות לכל קבוצת סביבות שמוזכרת בקובץoverrides.yaml:הרצת בדיקה:
helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set envgroup=$ENV_GROUP \ -f overrides.yaml \ --dry-run=server
ENV_GROUP_RELEASE_NAME הוא שם שמשמש למעקב אחרי ההתקנה והשדרוגים של התרשים
apigee-virtualhosts. השם הזה חייב להיות ייחודי ושונה משמות אחרים של גרסאות Helm בהתקנה. בדרך כלל זהה ל-ENV_GROUP. עם זאת, אם לקבוצת הסביבות יש שם זהה לשם של סביבה בהתקנה, צריך להשתמש בשמות שונים לגרסאות של קבוצת הסביבות והסביבה, למשלdev-envgroup-releaseו-dev-env-release. מידע נוסף על גרסאות ב-Helm זמין במאמר Three big concepts במאמרי העזרה של Helm. -
מתקינים את התרשים:
helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set envgroup=$ENV_GROUP \ -f overrides.yaml
- בודקים את המצב של ApigeeRoute (AR).
התקנת
virtualhostsיוצרת את ApigeeRouteConfig (ARC), שיוצר באופן פנימי את ApigeeRoute (AR) אחרי שה-Apigee watcher שולף פרטים שקשורים לקבוצת הסביבות ממישור הבקרה. לכן, צריך לבדוק שהמצב של ה-AR התואם הוא "פועל":kubectl -n APIGEE_NAMESPACE get arc
NAME STATE AGE apigee-org1-dev-egroup 2m
kubectl -n APIGEE_NAMESPACE get ar
NAME STATE AGE apigee-ingressgateway-internal-chaining-my-project-123abcd running 19m my-project-myenvgroup-000-321dcba running 2m30s
- צריך להתקין קבוצת סביבות (מארח וירטואלי) אחת בכל פעם. מציינים את קבוצת הסביבות באמצעות
השלב הבא
בשלב הבא תגדירו את שער הכניסה של Apigee ותפרסו שרת proxy כדי לבדוק את ההתקנה.
(הבא) שלב 1: חשיפת ה-ingress של Apigee 2