התקנה של רכיבי זמן הריצה של Apigee Hybrid
בשלב הזה, תשתמשו ב-Helm כדי להתקין את רכיבי Apigee hybrid הבאים:
- מפעיל Apigee
- מאגר נתונים של Apigee
- טלמטריית Apigee
- Apigee Redis
- מנהל הכניסה (ingress) של Apigee
- ארגון Apigee
- הסביבות שלכם ב-Apigee
תתקינו את התרשימים לכל סביבה בנפרד. הסדר שבו מתקינים את הרכיבים חשוב.
הערות לפני ההתקנה
- אם עדיין לא התקנתם את Helm בגרסה 3.14.2 ומעלה, פועלים לפי ההוראות שבמאמר התקנת Helm.
-
Apigee hybrid משתמש ב-Helm guardrails כדי לאמת את ההגדרה לפני התקנה או שדרוג של תרשים. יכול להיות שיוצג לכם מידע ספציפי לגבי אמצעי הבקרה בפלט של כל אחת מהפקודות שבקטע הזה, לדוגמה:
# Source: apigee-operator/templates/apigee-operators-guardrails.yaml apiVersion: v1 kind: Pod metadata: name: apigee-hybrid-helm-guardrail-operator namespace: apigee-system 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, מוסיפים את האפשרות
--dry-runבסוף הפקודה כדי להשתמש בתכונה Helm dry-run. אפשר לעיין בhelm install --hכדי לראות רשימה של פקודות נתמכות, אפשרויות ושימוש. - אם אתם מתקינים את התרשימים באשכול שהעברתם מניהול
apigeectlלניהול Helm באמצעות כלי ההעברה של Apigee Helm, אל תכללו את הדגל--atomicבכל הפקודות הבאות.
שלבי ההתקנה
מוודאים שיש לכם גרסה מתאימה של helm.
helm versionהגרסה של Helm שנדרשת להתקנה הזו היא v3.14.2+. אם הגרסה שמוצגת לא מתאימה, מריצים את הפקודות שלמטה כדי לשדרג את Helm. הסקריפט
get_helm.shיאחזר את הגרסה האחרונה ויתקין אותה.curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 chmod 700 get_helm.sh ./get_helm.sh
לאחר מכן, בודקים שוב את גרסת Helm.
helm version- מנווטים לספרייה
APIGEE_HELM_CHARTS_HOME. מריצים את הפקודות הבאות מהספרייה הזו. - מתקינים את Apigee Operator/Controller:
הרצת בדיקה:
helm upgrade operator apigee-operator/ \ --install \ --create-namespace \ --namespace apigee-system \ --atomic \ -f overrides.yaml \ --dry-run
מתקינים את התרשים:
helm upgrade operator apigee-operator/ \ --install \ --create-namespace \ --namespace apigee-system \ --atomic \ -f overrides.yaml
אימות ההתקנה של Apigee Operator:
helm ls -n apigee-system
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION operator apigee-system 3 2023-06-26 00:42:44.492009 -0800 PST deployed apigee-operator-1.12.4 1.12.4
כדי לוודא שהיא פועלת, בודקים את הזמינות שלה:
kubectl -n apigee-system 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 \ --atomic \ -f overrides.yaml \ --dry-run
מתקינים את התרשים:
helm upgrade datastore apigee-datastore/ \ --install \ --namespace apigee \ --atomic \ -f overrides.yaml
כדי לוודא ש-
apigeedatastoreפועל, בודקים את הסטטוס שלו לפני שממשיכים לשלב הבא:kubectl -n apigee get apigeedatastore default
NAME STATE AGE default running 2d
-
התקנת טלמטריה של Apigee:
הרצת בדיקה:
helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace apigee \ --atomic \ -f overrides.yaml \ --dry-run
מתקינים את התרשים:
helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace apigee \ --atomic \ -f overrides.yaml
כדי לוודא שהיא פועלת, בודקים את המצב שלה:
kubectl -n apigee get apigeetelemetry apigee-telemetry
NAME STATE AGE apigee-telemetry running 2d
-
מתקינים את Apigee Redis:
הרצת בדיקה:
helm upgrade redis apigee-redis/ \ --install \ --namespace apigee \ --atomic \ -f overrides.yaml \ --dry-run
מתקינים את התרשים:
helm upgrade redis apigee-redis/ \ --install \ --namespace apigee \ --atomic \ -f overrides.yaml
כדי לוודא שהיא פועלת, בודקים את המצב שלה:
kubectl -n apigee get apigeeredis default
NAME STATE AGE default running 2d
-
מתקינים את Apigee ingress manager:
הרצת בדיקה:
helm upgrade ingress-manager apigee-ingress-manager/ \ --install \ --namespace apigee \ --atomic \ -f overrides.yaml \ --dry-run
מתקינים את התרשים:
helm upgrade ingress-manager apigee-ingress-manager/ \ --install \ --namespace apigee \ --atomic \ -f overrides.yaml
כדי לוודא שהיא פועלת, בודקים את הזמינות שלה:
kubectl -n apigee get deployment apigee-ingressgateway-manager
NAME READY UP-TO-DATE AVAILABLE AGE apigee-ingressgateway-manager 2/2 2 2 2d
-
מתקינים את הארגון ב-Apigee. אם הגדרתם את משתנה הסביבה $ORG_NAME במעטפת, אתם יכולים להשתמש בו בפקודות הבאות:
הרצת בדיקה:
helm upgrade $ORG_NAME apigee-org/ \ --install \ --namespace apigee \ --atomic \ -f overrides.yaml \ --dry-run
מתקינים את התרשים:
helm upgrade $ORG_NAME apigee-org/ \ --install \ --namespace apigee \ --atomic \ -f overrides.yaml
כדי לוודא שהיא פועלת, בודקים את המצב של הארגון הרלוונטי:
kubectl -n apigee get apigeeorg
NAME STATE AGE apigee-org1-xxxxx running 2d
-
מתקינים את הסביבה.
צריך להתקין סביבה אחת בכל פעם. מציינים את הסביבה באמצעות
--set env=ENV_NAME. אם הגדרתם את משתנה הסביבה $ENV_NAME במעטפת, אתם יכולים להשתמש בו בפקודות הבאות:הרצת בדיקה:
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace apigee \ --atomic \ --set env=$ENV_NAME \ -f overrides.yaml \ --dry-run
ENV_RELEASE_NAME הוא שם שמשמש למעקב אחרי התקנות ושדרוגים של התרשים
apigee-env. השם הזה צריך להיות ייחודי ולא יכול להיות זהה לשמות אחרים של Helm release בהתקנה. בדרך כלל זהה ל-ENV_NAME. עם זאת, אם לסביבה שלכם יש את אותו שם כמו לקבוצת הסביבות, אתם צריכים להשתמש בשמות שחרור שונים לסביבה ולקבוצת הסביבות, למשלdev-env-releaseו-dev-envgroup-release. מידע נוסף על מהדורות ב-Helm זמין במאמר Three big concepts (שלושה מושגים חשובים) במאמרי העזרה של Helm.מתקינים את התרשים:
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace apigee \ --atomic \ --set env=$ENV_NAME \ -f overrides.yaml
כדי לוודא שהיא פועלת, בודקים את המצב של סביבת ה-env המתאימה:
kubectl -n apigee get apigeeenv
NAME STATE AGE GATEWAYTYPE apigee-org1-dev-xxx running 2d
-
מתקינים את קבוצות הסביבות (
virtualhosts).- צריך להתקין קבוצת סביבות אחת (virtualhost) בכל פעם. מציינים את קבוצת הסביבות באמצעות
--set envgroup=ENV_GROUP. אם הגדרתם את משתנה הסביבה $ENV_GROUP בשורת הפקודה, תוכלו להשתמש בו בפקודות הבאות. חוזרים על הפקודות הבאות לכל קבוצת סביבות שמוזכרת בקובץoverrides.yaml:הרצת בדיקה:
helm upgrade $ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace apigee \ --atomic \ --set envgroup=$ENV_GROUP \ -f overrides.yaml \ --dry-run
ENV_GROUP_RELEASE_NAME הוא שם שמשמש למעקב אחרי התקנות ושדרוגים של התרשים
apigee-virtualhosts. השם הזה צריך להיות ייחודי ושונה משמות אחרים של מהדורות Helm בהתקנה. בדרך כלל זהה ל-ENV_GROUP. עם זאת, אם לקבוצת הסביבות יש שם זהה לשם של סביבה בהתקנה, צריך להשתמש בשמות שחרור שונים לקבוצת הסביבות ולסביבה, למשלdev-envgroup-releaseו-dev-env-release. מידע נוסף על מהדורות ב-Helm זמין בקטע שלושה מושגים חשובים במאמרי העזרה של Helm.מתקינים את התרשים:
helm upgrade $ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace apigee \ --atomic \ --set envgroup=$ENV_GROUP \ -f overrides.yaml
- בודקים את המצב של ApigeeRoute (AR).
התקנת
virtualhostsיוצרת ApigeeRouteConfig (ARC) שיוצר באופן פנימי ApigeeRoute (AR) אחרי שה-watcher של Apigee מושך פרטים שקשורים לקבוצת הסביבות ממישור הבקרה. לכן, צריך לבדוק שהמצב של ה-AR המתאים הוא 'פועל':kubectl -n apigee get arc
NAME STATE AGE apigee-org1-dev-egroup 2d
kubectl -n apigee get ar
NAME STATE AGE apigee-org1-dev-egroup-xxxxxx running 2d
- צריך להתקין קבוצת סביבות אחת (virtualhost) בכל פעם. מציינים את קבוצת הסביבות באמצעות
השלב הבא
התקנות באמצעות Workload Identity
אם אתם מתקינים את Apigee Hybrid ב-GKE ומגדירים Workload Identity לאימות חשבונות שירות, בשלב הבא תצטרכו להגדיר את השיוכים בין חשבונות השירות של Kubernetes לבין חשבונות השירות של Google באשכול.
1 2 3 4 5 6 7 8 9 10 11 (הבא) שלב 12: הגדרת Workload Identityכל שאר ההתקנות
בשלב הבא תגדירו את שער הכניסה של Apigee ותפרסו פרוקסי כדי לבדוק את ההתקנה.
(הבא) שלב 1: חשיפת Apigee ingress 2