התקנת Apigee Operator ל-Kubernetes עבור Apigee Hybrid

הדף הזה רלוונטי ל-Apigee ול-Apigee Hybrid.

לעיון במסמכי התיעוד של Apigee Edge

בדף הזה מוסבר איך להתקין ולהגדיר את Apigee Operator for Kubernetes עבור Apigee hybrid. מידע נוסף על היתרונות של שימוש ב-Apigee Operator for Kubernetes זמין במאמר סקירה כללית של Apigee Operator for Kubernetes.

אם אתם לא משתמשים ב-Apigee Hybrid, תוכלו לעיין במאמר בנושא התקנת Apigee Operator ל-Kubernetes כדי להתקין את Apigee Operator ל-Kubernetes עבור Apigee.

לפני שמתחילים

לפני שמתחילים, חשוב לוודא שהתנאים הבאים מתקיימים:

התפקידים הנדרשים

כדי לקבל את ההרשאות שדרושות להגדרת המשאבים שנדרשים להתקנה ולשימוש ב-Apigee Operator for Kubernetes, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בארגון:

  • יצירה וניהול של חשבונות שירות: אדמין של חשבון שירות (roles/iam.serviceAccountAdmin)
  • יצירה וניהול של משאבי Apigee: אדמין Apigee‏ (roles/apigee.admin)

מידע נוסף על הקצאת תפקידים מופיע במאמר ניהול הגישה לפרויקטים, לתיקיות ולארגונים.

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

משימות ההגדרה הנדרשות

לפני שמתקינים את Apigee Operator for Kubernetes, צריך לבצע את המשימות הבאות כדי להגדיר את המשאבים שנדרשים לשימוש בתכונה:

  1. מתקינים את Apigee Hybrid באמצעות גרסה 1.15.0 ואילך. הוראות להתקנת Apigee Hybrid מופיעות במאמר סקירה כללית.
  2. יוצרים אשכול Kubernetes אצל ספק שירותי ענן שתומך ב-Istio Gateway, כמו Google Cloud,‏ Azure או אמזון. שמכיל את מופע Apigee hybrid. Google Cloud
  3. מתקינים את Istio Gateway באשכול K8s:
    • באשכולות ב-GKE:
      kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.1.0/standard-install.yaml
      curl -L https://istio.io/downloadIstio | sh -
      cd 1.6.11-asm.1
      export PATH=$PWD/bin:$PATH
      istioctl install --set profile=minimal --set values.global.platform=gke -y
      
    • לגבי אשכולות אצל ספקים אחרים:
      kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.1.0/standard-install.yaml
      curl -L https://istio.io/downloadIstio | sh -
      cd 1.6.11-asm.1
      export PATH=$PWD/bin:$PATH
      istioctl install --set profile=minimal -y
      
  4. פורסים את Istio Gateway באשכול Kubernetes.
    1. יוצרים קובץ בשם gateway.yaml עם התוכן הבא כדי לפרוס את Istio Gateway עם התוכן הבא:
      #gateway.yaml
      apiVersion: gateway.networking.k8s.io/v1
      kind: Gateway
      metadata:
        name: istio-gateway
        namespace: default
        annotations:
          service.beta.kubernetes.io/port_80_health-probe_protocol: tcp
      spec:
        gatewayClassName: istio
        listeners:
        - name: default
          hostname: "*.httpbin.com"
          port: 80
          protocol: HTTP
          allowedRoutes:
            namespaces:
              from: All
      
    2. מחילים את הקובץ על האשכול באמצעות הפקודה הבאה:
      kubectl apply -f gateway.yaml
      

אימות ההגדרה של Istio Gateway (אופציונלי)

לצורך המדריך הזה, מומלץ לפרוס אפליקציית httpbin לדוגמה במרחב השמות שמוגדר כברירת מחדל כדי לבדוק את השער שפרסתם.

  1. כדי לבדוק את השער, פורסים אפליקציית backend באשכול Kubernetes.
    1. יוצרים קובץ חדש בשם target.yaml עם התוכן הבא
      kubectl apply -f - <<EOF
      apiVersion: v1
      kind: ServiceAccount
      metadata:
        name: httpbin
      ---
      apiVersion: v1
      kind: Service
      metadata:
        name: httpbin
        labels:
          app: httpbin
          service: httpbin
      spec:
        ports:
        - name: http
          port: 8000
          targetPort: 8080
        selector:
          app: httpbin
      ---
      apiVersion: apps/v1
      kind: Deployment
      metadata:
        name: httpbin
      spec:
        replicas: 1
        selector:
          matchLabels:
            app: httpbin
            version: v1
        template:
          metadata:
            labels:
              app: httpbin
              version: v1
          spec:
            serviceAccountName: httpbin
            containers:
            - image: docker.io/mccutchen/go-httpbin:v2.15.0
              imagePullPolicy: IfNotPresent
              name: httpbin
              ports:
              - containerPort: 8080
      EOF
      
    2. פורסים את משאב ה-HTTPRoute באשכול כדי למפות את התנועה מהשער לשירות הקצה העורפי.

      לצורך המדריך הזה, מומלץ לפרוס שער חיצוני ו-HTTPRoute, לפי השלבים במאמר יצירת HTTPRoute.

      מידע נוסף על משאב HTTPRoute זמין במאמרים פריסת HTTPRoute (לשערי כניסה פנימיים) או יצירת HTTPRoute (לשערי כניסה חיצוניים).

      1. יוצרים HTTPRoute לפי ההוראות שבקטע יצירת HTTPRoute באמצעות הגדרת ה-YAML הבאה:
        apiVersion: gateway.networking.k8s.io/v1
        kind: HTTPRoute
        metadata:
          name: http-bin-route
          namespace: default
        spec:
          parentRefs:
          - name: istio-gateway
            namespace: default
          hostnames: ["example.httpbin.com"]
          rules:
          - matches:
            - path:
                type: PathPrefix
                value: /get
            backendRefs:
            - name: httpbin
              port: 8000
        
      2. החלת הקובץ על האשכול:
        kubectl apply -f httproute.yaml
        
    3. בודקים את ההגדרה של GKE Gateway כדי לוודא שהיא פועלת כמו שצריך.
      1. מקבלים את פרטי השער באמצעות הפקודה הבאה
        kubectl get gateway global-ext-lb1
        

        הפלט אמור להיראות כך:

        NAME            CLASS   ADDRESS        PROGRAMMED   AGE
        istio-gateway   istio   34.54.193.72   True         11d
        

        מוודאים שכתובת IP מוקצית ל-Gateway ושהערך של PROGRAMMED הוא True.

      2. מתארים את השער כדי לוודא שהמסלול מצורף:
        kubectl describe gateway istio-gateway
        

        הפלט אמור להיראות כך:

        ...
          Listeners:
            Attached Routes: 1
            Conditions:
              Last Transition Time:  2024-10-03T03:10:17Z
        ...
        

        מוודאים שהערך של Attached Routes הוא 1, כלומר המסלול מצורף.

      3. שליחת בקשה ל-Gateway
        curl http://GATEWAY_IP_ADDRESS/get \
          -H "Host: example.httpbin.com"
        

        כאשר: GATEWAY_IP_ADDRESS היא כתובת ה-IP של השער. אפשר לאחזר את כתובת ה-IP של השער באמצעות הפקודה הבאה, כאשר GATEWAY_NAME הוא שם השער:

        kubectl get gateways.gateway.networking.k8s.io GATEWAY_NAME -o=jsonpath="{.status.addresses.value}"
        

        לדוגמה:

        curl http://34.54.193.72/get -H "Host: example.httpbin.com"
        

        התגובה אמורה להיראות כך:

        {
            "args": {},
            "headers": {
              "Accept": "*/*",
              "Host": "http://example.httpbin.com",
              "User-Agent": "curl/8.7.1",
              "X-Cloud-Trace-Context": "2bb8a80e29e80662ff9cb89971c447d9/13083106619927322701"
            },
            "origin": "67.164.1.10,34.54.193.72",
            "url": "http://example.httpbin.com/get"
        }
        

    התקנה של Apigee Operator ל-Kubernetes

    במאמר הזה מוסבר איך להתקין ולהגדיר את Apigee Operator ל-Kubernetes.

    התקנה והגדרה של Apigee Operator ל-Kubernetes

    בקטעים הבאים מוסבר איך להתקין ולהגדיר את Apigee Operator ל-Kubernetes:

    1. הגדרה של משתני סביבה
    2. יצירה והגדרה של חשבון השירות של APIM.
    3. מתקינים את Apigee Operator for Kubernetes.
    4. יוצרים סביבת Apigee Hybrid.
    5. מתקינים את סביבת Apigee Hybrid באמצעות helm.

    הגדרה של משתני סביבה

    בפרויקט Google Cloud שמכיל את מופע Apigee, משתמשים בפקודה הבאה כדי להגדיר משתני סביבה:

    export PROJECT_ID=PROJECT_ID
    export APIGEE_ORG=APIGEE_ORG
    

    כאשר:

    • ‫PROJECT_ID הוא מזהה הפרויקט עם מופע Apigee Hybrid.
    • ‫APIGEE_ORG הוא שם הארגון שלכם ב-Apigee Hybrid.

    כדי לוודא שמשתני הסביבה מוגדרים בצורה נכונה, מריצים את הפקודה הבאה:

    echo $PROJECT_ID $APIGEE_ORG
    

    יצירה והגדרה של חשבון השירות של APIM

    יוצרים חשבון שירות כדי להתחבר למישור ההגדרה של Apigee Hybrid.

    1. יצירת apigee-apim-gsaחשבון שירות להתחברות Google Cloud לשירותים
    2. gcloud iam service-accounts create apigee-apim-gsa
      
    3. מקצים לחשבון השירות שיצרתם את התפקיד Apigee Admin באמצעות הפקודה הבאה. התפקיד הזה נדרש כדי ליצור ולנהל משאבי Apigee
      gcloud projects add-iam-policy-binding $PROJECT_ID \
        --member "serviceAccount:apigee-apim-gsa@$PROJECT_ID.iam.gserviceaccount.com" \
        --role "roles/apigee.admin"
      
    4. מורידים את קובץ מפתח ה-JSON המתאים לחשבון השירות.
      1. יוצרים ומורידים את קובץ המפתח $PROJECT_ID-apigee-apim-gsa.json באמצעות הפקודה הבאה:
        gcloud iam service-accounts keys create $PROJECT_ID-apigee-apim-gsa.json \
          --iam-account=apigee-apim-gsa@$PROJECT_ID.iam.gserviceaccount.com
          --project=$PROJECT_ID
                
      2. מוודאים שהקובץ הורד בצורה תקינה:
        ls $PROJECT_ID-apigee-apim-gsa.json
                

    התקנה של Apigee Operator ל-Kubernetes

    מתקינים את Kubernetes custom resources definitions ‏ (CRDs) ואת Apigee Operator for Kubernetes:

    1. יצירת מרחב שמות ל-Apigee Operator for Kubernetes
      kubectl create namespace apim
      
    2. מתקינים את Apigee Operator עבור Kubernetes Custom Resource Definitions ‏ (CRD):
      helm install apigee-apim-crds -n apim \
        oci://us-docker.pkg.dev/apigee-release/apigee-k8s-tooling-helm-charts/apigee-apim-operator-crds \
        --version 1.1.0 \
        --atomic
      
    3. התקנה של Apigee Operator ל-Kubernetes:
      helm install apigee-apim-operator -n apim \
        oci://us-docker.pkg.dev/apigee-release/apigee-k8s-tooling-helm-charts/apigee-apim-operator-helm \
        --version 1.1.0 \
        --set serviceAccount=apigee-apim-gsa@$PROJECT_ID.iam.gserviceaccount.com \
        --set apigeeOrg=$APIGEE_ORG \
        --set apigeeEnv=ENV_NAME \
        --set-file serviceAccountKeyFileContent=$PROJECT_ID-apigee-apim-gsa-key.json \
        --atomic
      

      כאשר ENV_NAME הוא השם של סביבת Apigee Hybrid שבה רוצים להתקין את Apigee Operator for Kubernetes.

    4. מוודאים שההתקנה הושלמה בהצלחה:
      helm list -n apim
      

      הפלט אמור להיראות כך:

      NAME  NAMESPACE  REVISION  UPDATED  STATUS  CHART  APP VERSION
      apigee-apim-crds  apim  1  2025-09-01 00:17:03.399810627 +0000 UTC  deployed  apigee-apim-operator-crds-1.1.0  1.1.0
      apigee-apim-operator  apim  1  2025-09-01 00:15:00.362829981 +0000 UTC  deployed  apigee-apim-operator-helm-1.1.0  1.1.0
      
    5. מוודאים שחשבון השירות של Kubernetes ‏ (KSA) נוצר עם ההערה הנדרשת:
      kubectl describe serviceaccounts apim-ksa -n apim
      

      הפלט אמור להיראות כך:

      Name:                apim-ksa
      Namespace:           apim
      ...
      Annotations:         iam.gke.io/gcp-service-account: apigee-apim-gsa@my-project-id.iam.gserviceaccount.com
      
    6. מוודאים ש-Apigee Operator for Kubernetes פועל בתאי הפוד של האשכול:
      kubectl get pods -n apim
      

      הפלט אמור להיראות כך:

      NAME  READY  STATUS  RESTARTS  AGE
      apigee-apim-operator-8559d4994b-h55fl   1/1     Running   0   8m34s
      

      אם הסטטוס הוא לא Running, או אם הערך 1/1 לא מוצג ב-READY, אפשר לעיין במאמר בנושא פתרון בעיות ב-Apigee Operator ל-Kubernetes כדי לפתור את בעיות ההתקנה.

    יצירת סביבת Apigee Hybrid

    כדי להשתמש ב-Apigee Operator for Kubernetes ב-Apigee Hybrid, צריך ליצור סביבה עם דגל מיוחד לתוסף שירות.

    1. קבלת טוקן לאימות ב-Apigee API.

      בשורת הפקודה, מקבלים את פרטי הכניסה לאימות gcloud, כמו בדוגמה הבאה:

      TOKEN=$(gcloud auth print-access-token)

      כדי לוודא שהטוקן אוכלס, משתמשים ב-echo, כמו בדוגמה הבאה:

      echo $TOKEN

      האסימון יוצג כמחרוזת מקודדת.

      למידע נוסף, ראו סקירה כללית של כלי שורת הפקודה של Google Cloud.

    2. יוצרים את הסביבה באמצעות אחת מהפקודות הבאות:
      • ארגונים עם מינוי משנת 2021:
        curl -X POST "https://apigee.googleapis.com/v1/organizations/$APIGEE_ORG/environments" -H \
          "Authorization: Bearer $TOKEN" -H "content-type:application/json" \
            -d '{
              "name": "ENV_NAME",
              "displayName": "ENV_DISPLAY_NAME",
              "state": "ACTIVE",
              "deploymentType": "PROXY",
              "apiProxyType": "PROGRAMMABLE",
              "properties": {
                "property": [
                  {
                    "name": "apigee-service-extension-enabled",
                    "value": "true"
                  }
                ]
              }
            }'
        

        כאשר ENV_NAME הוא שם הסביבה שרוצים ליצור.

      • בארגונים עם מינוי לשנת 2024 וארגונים עם תשלום לפי שימוש:
        curl -i -X POST -H "Authorization: Bearer $TOKEN"  "https://apigee.googleapis.com/v1/organizations/$APIGEE_ORG/environments" -H "Content-Type:application/json" -d '{
          "name": "ENV_NAME",
          "displayName": "ENV_NAME",
          "state": "ACTIVE",
          "deploymentType": "PROXY",
          "apiProxyType": "PROGRAMMABLE",
          "type" : "ENV_TYPE",
          "properties": {
            "property": [
              {
                "name": "apigee-service-extension-enabled",
                "value": "true"
              }
            ]
          }
        }'
        

        כאשר:

        • ‫ENV_NAME הוא שם הסביבה שרוצים ליצור.
        • ‫ENV_TYPE הוא סוג הסביבה שרוצים ליצור. לדוגמה, INTERMEDIATE או COMPREHENSIVE.

      בודקים שהסביבה נוצרה בהצלחה:

      curl -i -H "Authorization: Bearer $TOKEN" \
        "https://apigee.googleapis.com/v1/organizations/$APIGEE_ORG/environments"
      

      מידע נוסף זמין במאמר יצירת סביבה בהוראות ההתקנה של Apigee Hybrid.

    3. יוצרים קבוצת סביבות באמצעות הפקודה הבאה:
      curl -i -X POST -H "Authorization: Bearer $TOKEN"  "https://apigee.googleapis.com/v1/organizations/$APIGEE_ORG/envgroups" -H "Content-Type:application/json" -d '{
           "name": "'"$ENV_GROUP"'",
           "hostnames":["'"$DOMAIN"'"]
         }'
      

      כאשר:

      • ‫ENV_GROUP (חובה) שם הסביבה יכול להכיל אותיות קטנות, מקפים וספרות, והוא חייב להתחיל באות קטנה. השם הזה ישמש כמזהה ואי אפשר לשנות אותו אחרי שיוצרים את המרחב.
      • ‫DOMAIN (חובה) זהו שם המארח שכל השרתים הפרוקסי שנפרסו בסביבות בקבוצה הזו ישתמשו בו. זה צריך להיות דומיין שאתם מנהלים. הכתובת יכולה להיות הדומיין עצמו, כמו example.com, או לכלול תת-דומיין כמו my-proxies.example.com. אם אין לכם דומיין מנוהל, אתם יכולים להזין בשלב הזה placeholder. אפשר לשנות את כתובת הדומיין בהמשך.

      מידע נוסף מופיע במאמר בנושא יצירת קבוצת סביבות בהוראות ההתקנה של Apigee hybrid.

    4. מצרפים את הסביבה לקבוצת הסביבות שיצרתם באמצעות הפקודה הבאה:
      curl -i -X POST -H "Authorization: Bearer $TOKEN"  "https://apigee.googleapis.com/v1/organizations/$APIGEE_ORG/envgroups/$ENV_GROUP/attachments" -H "Content-Type:application/json" -d '{
           "environment": "'"$ENV_NAME"'",
         }'
      

    התקנה של סביבת Apigee Hybrid באמצעות Helm

    התהליך להתקנת הסביבה החדשה באשכול Apigee Hybrid דומה לתהליך שבו התקנתם סביבות אחרות באשכול. הפרטים האלה נדרשים כדי להוסיף פרטים חדשים על סביבה ועל קבוצת סביבות לאשכול Kubernetes שבו הותקן Apigee Hybrid.

    1. מריצים את הפקודה הבאה כדי ליצור את אישור ה-TLS לדומיין של קבוצת הסביבות:
      openssl req -nodes -new -x509 -keyout $APIGEE_HELM_CHARTS_HOME/apigee-virtualhost/certs/keystore_$ENV_GROUP.key -out $APIGEE_HELM_CHARTS_HOME/apigee-virtualhost/certs/keystore_$ENV_GROUP.pem -subj "/CN=$DOMAIN" -addext "subjectAltName = DNS:$DOMAIN" -days 3650
      

      כאשר:

      • ‫APIGEE_HELM_CHARTS_HOME (חובה) ספרייה שבה הורדתם את תרשימי Apigee Helm במהלך ההתקנה של Apigee Hybrid.
    2. מבצעים קידוד Base64 של אישור ה-TLS הציבורי באמצעות הפקודה הבאה:
      cat $APIGEE_HELM_CHARTS_HOME/apigee-virtualhost/certs/keystore_$ENV_GROUP.pem | base64 -w0 > $APIGEE_HELM_CHARTS_HOME/apigee-virtualhost/certs/keystore_$ENV_GROUP.pem.base64
      
    3. מעדכנים את הקובץ overrides.yaml עם הרשומה הבאה בקטע envs
      - name: ENV_NAME
        serviceAccountPaths:
          # Provide the path relative to the apigee-env chart directory.
          synchronizer: SYNCHRONIZER_SERVICE_ACCOUNT_FILEPATH
          # For example: "PROJECT_ID-apigee-synchronizer.json"
          runtime: RUNTIME_SERVICE_ACCOUNT_FILEPATH
          # For example: "PROJECT_ID-apigee-runtime.json"
          udca: UDCA_SERVICE_ACCOUNT_FILEPATH
          # For example: "PROJECT_ID-apigee-udca.json"
      

      כאשר *_SERVICE_ACCOUNT_FILEPATH (חובה) הוא קובץ מפתח ה-JSON של חשבון השירות שבו השתמשתם במהלך ההתקנה של Apigee Hybrid. למידע נוסף, אפשר לעיין במאמר יצירת קובצי overrides בהוראות ההתקנה של Apigee Hybrid.

    4. מוסיפים את הרשומה הבאה לקובץ overrides.yaml בקטע virtualhosts
      - name: 
        selector:
          app: apigee-ingressgateway
          ingress_name: INGRESS_NAME
        sslCertPath: certs/keystore_$ENV_GROUP.pem
        sslKeyPath: certs/keystore_$ENV_GROUP.key
      

      כאשר INGRESS_NAME (חובה) הוא השם של שער הכניסה של Apigee לפריסה. מידע נוסף זמין כאן.

    5. מתקינים את הסביבה ואת קבוצת הסביבות
      1. מתקינים את הסביבה.

        צריך להתקין סביבה אחת בכל פעם. מציינים את הסביבה באמצעות --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 release בהתקנה. בדרך כלל זהה ל-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
        

        כדי לוודא שהיא פועלת, בודקים את המצב של סביבת ה-env המתאימה:

        kubectl -n APIGEE_NAMESPACE get apigeeenv
        
        NAME                    STATE       AGE   GATEWAYTYPE
        apigee-org1-dev-1       running     2d
        
      2. מתקינים את קבוצות הסביבות (virtualhosts).
        1. צריך להתקין קבוצת סביבות אחת (virtualhost) בכל פעם. מציינים את קבוצת הסביבות באמצעות --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 זמין בקטע שלושה מושגים חשובים במאמרי העזרה של Helm.

          מתקינים את התרשים:

          helm upgrade $ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \
            --install \
            --namespace APIGEE_NAMESPACE \
            --atomic \
            --set envgroup=$ENV_GROUP \
            -f overrides.yaml
          

      הארגון שלכם ב-Apigee Hybrid מוכן עכשיו עם הסביבה החדשה לבדיקת תוסף השירות.

      ממשיכים בהליך שבמאמר יצירת APIMExtensionPolicy כדי ליצור מדיניות למקרים חריגים.