שלב 11: התקנת Apigee hybrid באמצעות Helm

התקנה של רכיבי זמן הריצה של Apigee Hybrid

בשלב הזה, תשתמשו ב-Helm כדי להתקין את רכיבי Apigee hybrid הבאים:

  • מפעיל Apigee
  • מאגר נתונים של Apigee
  • טלמטריית Apigee
  • Apigee Redis
  • מנהל הכניסה (ingress) של Apigee
  • ארגון Apigee
  • הסביבות שלכם ב-Apigee

תתקינו את התרשימים לכל סביבה בנפרד. הסדר שבו מתקינים את הרכיבים חשוב.

הערות לפני ההתקנה

  1. אם עדיין לא התקנתם את Helm בגרסה 3.14.2 ומעלה, פועלים לפי ההוראות שבמאמר התקנת Helm.
  2. ‫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 נכשלת, אפשר להשתמש בפלט של אמצעי הבקרה כדי לאבחן את הסיבה. אבחון בעיות שקשורות לאמצעי בקרה

  3. לפני שמריצים פקודות שדרוג או התקנה של Helm, מוסיפים את האפשרות --dry-run בסוף הפקודה כדי להשתמש בתכונה Helm dry-run. אפשר לעיין בhelm install --h כדי לראות רשימה של פקודות נתמכות, אפשרויות ושימוש.
  4. אם אתם מתקינים את התרשימים באשכול שהעברתם מניהול apigeectl לניהול Helm באמצעות כלי ההעברה של Apigee Helm, אל תכללו את הדגל --atomic בכל הפקודות הבאות.

שלבי ההתקנה

  1. מוודאים שיש לכם גרסה מתאימה של 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
  2. מנווטים לספרייה APIGEE_HELM_CHARTS_HOME. מריצים את הפקודות הבאות מהספרייה הזו.
  3. מתקינים את 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
    
  4. מתקינים את מאגר הנתונים של 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
    
  5. התקנת טלמטריה של 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
    
  6. מתקינים את 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
    
  7. מתקינים את 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
    
  8. מתקינים את הארגון ב-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
    
  9. מתקינים את הסביבה.

    צריך להתקין סביבה אחת בכל פעם. מציינים את הסביבה באמצעות --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
    
  10. מתקינים את קבוצות הסביבות (virtualhosts).
    1. צריך להתקין קבוצת סביבות אחת (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
      
    2. בודקים את המצב של 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
      

השלב הבא

התקנות באמצעות 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