שלב 3: התקנת ASM

התקנת ASM

ב-Apigee hybrid נעשה שימוש בהפצה של Istio שמסופקת עם Anthos Service Mesh‏ (ASM). כדי להתקין את ASM באשכול, פועלים לפי השלבים הבאים.

גרסאות ASM נתמכות

במאמר Apigee hybrid: supported platforms מפורטות הגרסאות של ASM שנתמכות בגרסה 1.5 של hybrid.

ביצוע שלבי ההגדרה וההגדרה של ASM

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

ההוראות להתקנה ולהגדרה של ASM משתנות בהתאם לפלטפורמה. הפלטפורמות מחולקות לקטגוריות הבאות:

  • GKE: אשכולות Google Kubernetes Engine שפועלים ב-Google Cloud.
  • מחוץ ל-Google Cloud: אשכולות Anthos שפועלים ב:
    • אשכולות Anthos ב-VMware‏ (GKE On-Prem)
    • Anthos בשרת פיזי
    • אשכולות Anthos ב-AWS
    • Amazon EKS
  • פלטפורמות אחרות של Kubernetes: אשכולות תואמים שנוצרו ופועלים ב:
    • AKS
    • EKS
    • OpenShift

GKE

הכנה להתקנת ASM

  1. בודקים את משתני הסביבה שיידרשו בשלבים הבאים, ומגדירים אותם אם צריך:
    echo ${PROJECT_ID}
    echo ${CLUSTER_NAME}
    echo ${CLUSTER_LOCATION}
  2. יוצרים קובץ שכבת-על בשם overlay.yaml עם התוכן הבא:
    apiVersion: install.istio.io/v1alpha1
    kind: IstioOperator
    spec:
      components:
        ingressGateways:
          - name: istio-ingressgateway
            enabled: true
            k8s:
              nodeSelector:
                # default node selector, if different or not using node selectors, change accordingly.
                cloud.google.com/gke-nodepool: apigee-runtime
              resources:
                requests:
                  cpu: 1000m
              service:
                type: LoadBalancer
                loadBalancerIP: STATIC_IP # If you do not have a reserved static IP, leave this out.
                ports:
                  - name: http-status-port
                    port: 15021
                  - name: http2
                    port: 80
                    targetPort: 8080
                  - name: https
                    port: 443
                    targetPort: 8443
    • apigee-runtime הוא ערך ברירת המחדל של בורר הצמתים. זהו מאגר הצמתים apigee-runtime שיצרתם בשלב 1: יצירת אשכול. אם אתם משתמשים בבורר צמתים אחר או לא משתמשים בבורר צמתים, אתם צריכים לשנות את המאפיין nodeSelector או להשמיט אותו.
    • STATIC_IP היא כתובת ה-IP של מאזן העומסים. אם לא הגדרתם מאפיין כזה, אל תכללו את המאפיין loadBalancerIP, אבל השאירו את המאפיינים type ו-ports.
  3. פועלים לפי ההוראות כדי להתכונן להתקנת ASM:
    1. דרישות מוקדמות ל-Anthos.
    2. ההרשאות שנדרשות כדי להתקין את Anthos Service Mesh.
    3. תכנון ההתקנה
  4. מתקינים את asmcli ואת כל הכלים הנדרשים כמו git,‏ kubectl ו-jq, לפי ההוראות שבמאמר התקנת כלים נדרשים.
  5. ממשיכים לשלב הענקת הרשאות אדמין לאשכול ועוצרים. לא מבצעים את השלב Validate project and cluster (אימות הפרויקט והאשכול).
  6. מתקינים את ASM עם תכונות אופציונליות. מציינים את שער הכניסה מדור קודם באמצעות --option legacy-default-ingressgateway. לדוגמה:
    ./asmcli install \
      --verbose \
      --project_id $PROJECT_ID \
      --cluster_name $CLUSTER_NAME \
      --cluster_location $CLUSTER_LOCATION \
      --output_dir dir_path \
      --custom_overlay overlay.yaml \
      --enable_all \
      --option legacy-default-ingressgateway
    • dir_path היא ספריית הפלט שבה רוצים ש-asmcli יגדיר את התקנת ה-ASM, כולל כל ספריות המשנה.
    • overlay.yaml הוא קובץ השכבות שהכנתם בשלבים הקודמים.

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

פתרון בעיות

אם נתקלתם בשגיאה שמתייחסת אל gcloud container hub memberships register, יכול להיות שחרגתם מהמספר המקסימלי של אשכולות שרשומים ב-GKE Hub. לדוגמה:

asmcli_1.12: [WARNING]:  Command 'run_command gcloud
container hub memberships register my-hybrid-example
...' failed.

כדי לפתור את השגיאה הזו, אפשר לנסות את השלבים הבאים ואז להריץ שוב את הפקודה asmcli install:

  1. מציגים ברשימה את החברויות ב-GKE Hub בפרויקט:
    gcloud container hub memberships list --project=$PROJECT_ID
  2. מחיקת החברות ב-GKE Hub:
    gcloud container hub memberships delete "membership" --project=$PROJECT_ID

מידע נוסף על מגבלות ב-GKE Hub זמין במאמר בנושא מכסות ומגבלות.

מחוץ ל-Google Cloud

ההוראות האלה מיועדות להתקנה ולהגדרה של ASM עבור מופעי Apigee hybrid באמצעות Anthos להפעלה ב:

  • אשכולות Anthos ב-VMware‏ (GKE On-Prem)
  • Anthos בשרת פיזי
  • אשכולות Anthos ב-AWS
  • Amazon EKS

הכנה להתקנת ASM

  1. בודקים את משתני הסביבה שיידרשו בשלבים הבאים, ומגדירים אותם אם צריך:
    echo ${PROJECT_ID}
    echo ${CLUSTER_NAME}
    echo ${CLUSTER_LOCATION}
  2. יוצרים קובץ שכבת-על בשם overlay.yaml עם התוכן הבא:
    apiVersion: install.istio.io/v1alpha1
    kind: IstioOperator
    spec:
      components:
        ingressGateways:
          - name: istio-ingressgateway
            enabled: true
            k8s:
              nodeSelector:
                # default node selector, if different or not using node selectors, change accordingly.
                cloud.google.com/gke-nodepool: apigee-runtime
              resources:
                requests:
                  cpu: 1000m
              service:
                type: LoadBalancer
                loadBalancerIP: STATIC_IP # If you do not have a reserved static IP, leave this out.
                ports:
                  - name: http-status-port
                    port: 15021
                  - name: http2
                    port: 80
                    targetPort: 8080
                  - name: https
                    port: 443
                    targetPort: 8443
    
      meshConfig:
        accessLogFormat:
          '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}'
    • apigee-runtime הוא ערך ברירת המחדל של בורר הצמתים. זהו מאגר הצמתים apigee-runtime שיצרתם בשלב 1: יצירת אשכול. אם אתם משתמשים בבורר צמתים אחר או לא משתמשים בבורר צמתים, אתם צריכים לשנות את המאפיין nodeSelector או להשמיט אותו.
    • STATIC_IP היא כתובת ה-IP של מאזן העומסים. אם לא הגדרתם מאפיין כזה, אל תכללו את המאפיין loadBalancerIP, אבל השאירו את המאפיינים type ו-ports.
  3. פועלים לפי ההוראות כדי להתכונן להתקנת ASM:
    1. דרישות מוקדמות ל-Anthos.
    2. ההרשאות שנדרשות כדי להתקין את Anthos Service Mesh.
    3. תכנון ההתקנה
  4. מתקינים את asmcli ואת כל הכלים הנדרשים כמו git,‏ kubectl ו-jq, לפי ההוראות שבמאמר התקנת כלים נדרשים.
  5. ממשיכים לשלב הענקת הרשאות אדמין לאשכול ועוצרים. לא מבצעים את השלב Validate project and cluster (אימות הפרויקט והאשכול).
  6. מתקינים את ASM עם תכונות אופציונליות. מציינים את שער הכניסה מדור קודם באמצעות --option legacy-default-ingressgateway. לדוגמה:
    ./asmcli install \
      --verbose \
      --project_id $PROJECT_ID \
      --cluster_name $CLUSTER_NAME \
      --cluster_location $CLUSTER_LOCATION \
      --output_dir dir_path \
      --custom_overlay overlay.yaml \
      --enable_all \
      --option legacy-default-ingressgateway
    • dir_path היא ספריית הפלט שבה רוצים ש-asmcli יגדיר את התקנת ה-ASM, כולל כל ספריות המשנה.
    • overlay.yaml הוא קובץ השכבות שהכנתם בשלבים הקודמים.

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

פתרון בעיות

אם נתקלתם בשגיאה שמתייחסת אל gcloud container hub memberships register, יכול להיות שחרגתם מהמספר המקסימלי של אשכולות שרשומים ב-GKE Hub. לדוגמה:

asmcli_1.12: [WARNING]:  Command 'run_command gcloud
container hub memberships register my-hybrid-example
...' failed.

כדי לפתור את השגיאה הזו, אפשר לנסות את השלבים הבאים ואז להריץ שוב את הפקודה asmcli install:

  1. מציגים ברשימה את החברויות ב-GKE Hub בפרויקט:
    gcloud container hub memberships list --project=$PROJECT_ID
  2. מחיקת החברות ב-GKE Hub:
    gcloud container hub memberships delete "membership" --project=$PROJECT_ID

מידע נוסף על מגבלות ב-GKE Hub זמין במאמר בנושא מכסות ומגבלות.

‫GKE בפלטפורמות אחרות

ההוראות האלה מיועדות להתקנה ולהגדרה של ASM עבור מופעי Apigee hybrid באמצעות Anthos להפעלה ב:

  • GKE on-prem (Anthos)
  • Anthos בשרת פיזי
  • GKE ב-AWS

לפני שמתחילים, חשוב לקרוא בעיון את השלבים הבאים. נבקש ממך לבצע חלק מהשלבים שמפורטים במסמכי ה-ASM, ואז לחזור לכאן כדי להשלים את ההתקנה.

  1. מורידים את istioctl ומחלצים אותו לפי ההוראות במסמכי התיעוד של ASM: הורדת קובץ ההתקנה.
  2. בהתאם לרשות האישורים שבה אתם מתכננים להשתמש, צריך להתקין את ASM לפי ההוראות באחד מהקטעים הבאים:
    1. באמצעות Mesh CA: התקנה של Anthos Service Mesh עם Mesh CA
    2. אספקת אישורים משלכם באמצעות Istio CA: התקנת Anthos Service Mesh עם Istio CA
  3. מגדירים את התגובה לפעולה מאתר אחר (Webhook) לאימות לפי ההוראות במאמר הגדרת התגובה לפעולה מאתר אחר (Webhook) לאימות.
  4. בודקים את רכיבי מישור הבקרה לפי ההוראות שבמאמר בדיקה של רכיבי מישור הבקרה.

    אל תמשיכו עם 'הוספת פרוקסי מסוג sidecar'.

פלטפורמות אחרות של Kubernetes

AKS

הגדרה והורדה של ASM

לפני שמתחילים, חשוב לקרוא בעיון את השלבים הבאים. נבקש ממך לבצע חלק מהשלבים שמפורטים במסמכי ה-ASM, ואז לחזור לכאן כדי להשלים את ההתקנה.

במדריך הזה מוסבר איך לבצע התקנה נקייה של Anthos Service Mesh‏ (ASM) בגרסה 1.29.7-asm.2 באשכולות שמצורפים ל-Anthos. במדריך הזה מוסבר איך להתקין את Anthos Service Mesh בסביבות הבאות:

  • ‫Amazon Elastic Kubernetes Service‏ (Amazon EKS) ב-Kubernetes
  • ‫Microsoft Azure Kubernetes Service‏ (Microsoft AKS) ב-Kubernetes
  • Red Hat OpenShift

הכנות להתקנת Anthos Service Mesh

    Linux

  1. מורידים את קובץ ההתקנה של Anthos Service Mesh לספריית העבודה הנוכחית:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.29.7-asm.2-linux-amd64.tar.gz
  2. מורידים את קובץ החתימה ומשתמשים ב-openssl כדי לאמת את החתימה:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.29.7-asm.2-linux-amd64.tar.gz.1.sig
    openssl dgst -verify /dev/stdin -signature istio-1.29.7-asm.2-linux-amd64.tar.gz.1.sig istio-1.29.7-asm.2-linux-amd64.tar.gz <<'EOF'
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
    wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
    -----END PUBLIC KEY-----
    EOF
  3. מחלצים את התוכן של הקובץ למיקום כלשהו במערכת הקבצים שלכם. לדוגמה, כדי לחלץ את התוכן לספריית העבודה הנוכחית:
    tar xzf istio-1.29.7-asm.2-linux-amd64.tar.gz

    הפקודה יוצרת ספריית התקנה בספריית העבודה הנוכחית בשם istio-1.29.7-asm.2, שמכילה:

    • אפליקציות לדוגמה בספרייה samples.
    • כלי שורת הפקודה שמשמש להתקנת Anthos Service Mesh נמצא בספרייה bin.istioctl
    • פרופילי ההגדרות של Anthos Service Mesh נמצאים בספרייה manifests/profiles.
  4. מוודאים שאתם נמצאים בספריית השורש של ההתקנה של Anthos Service Mesh:
    cd istio-1.29.7-asm.2
  5. כדי שיהיה לכם נוח, כדאי להוסיף את הכלים בספרייה ‎ /bin לנתיב:
    export PATH=$PWD/bin:$PATH
  6. Mac OS

  7. מורידים את קובץ ההתקנה של Anthos Service Mesh לספריית העבודה הנוכחית:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.29.7-asm.2-osx.tar.gz
  8. מורידים את קובץ החתימה ומשתמשים ב-openssl כדי לאמת את החתימה:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.29.7-asm.2-osx.tar.gz.1.sig
    openssl dgst -sha256 -verify /dev/stdin -signature istio-1.29.7-asm.2-osx.tar.gz.1.sig istio-1.29.7-asm.2-osx.tar.gz <<'EOF'
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
    wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
    -----END PUBLIC KEY-----
    EOF
  9. מחלצים את התוכן של הקובץ למיקום כלשהו במערכת הקבצים שלכם. לדוגמה, כדי לחלץ את התוכן לספריית העבודה הנוכחית:
    tar xzf istio-1.29.7-asm.2-osx.tar.gz

    הפקודה יוצרת ספריית התקנה בספריית העבודה הנוכחית בשם istio-1.29.7-asm.2, שמכילה:

    • אפליקציות לדוגמה בספרייה samples.
    • כלי שורת הפקודה שמשמש להתקנת Anthos Service Mesh נמצא בספרייה bin.istioctl
    • פרופילי ההגדרות של Anthos Service Mesh נמצאים בספרייה manifests/profiles.
  10. מוודאים שאתם נמצאים בספריית השורש של ההתקנה של Anthos Service Mesh:
    cd istio-1.29.7-asm.2
  11. כדי שיהיה לכם נוח, כדאי להוסיף את הכלים בספרייה ‎ /bin לנתיב:
    export PATH=$PWD/bin:$PATH
  12. Windows

  13. מורידים את קובץ ההתקנה של Anthos Service Mesh לספריית העבודה הנוכחית:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.29.7-asm.2-win.zip
  14. מורידים את קובץ החתימה ומשתמשים ב-openssl כדי לאמת את החתימה:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.29.7-asm.2-win.zip.1.sig
    openssl dgst -verify - -signature istio-1.29.7-asm.2-win.zip.1.sig istio-1.29.7-asm.2-win.zip <<'EOF'
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
    wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
    -----END PUBLIC KEY-----
    EOF
  15. מחלצים את התוכן של הקובץ למיקום כלשהו במערכת הקבצים שלכם. לדוגמה, כדי לחלץ את התוכן לספריית העבודה הנוכחית:
    tar xzf istio-1.29.7-asm.2-win.zip

    הפקודה יוצרת ספריית התקנה בספריית העבודה הנוכחית בשם istio-1.29.7-asm.2, שמכילה:

    • אפליקציות לדוגמה בספרייה samples.
    • כלי שורת הפקודה שמשמש להתקנת Anthos Service Mesh נמצא בספרייה bin.istioctl
    • פרופילי ההגדרות של Anthos Service Mesh נמצאים בספרייה manifests\profiles.
  16. מוודאים שאתם נמצאים בספריית השורש של ההתקנה של Anthos Service Mesh:
    cd istio-1.29.7-asm.2
  17. כדי שיהיה לכם נוח, כדאי להוסיף את הכלים בספרייה ‎\bin לנתיב:
    set PATH=%CD%\bin:%PATH%
  18. אחרי שמתקינים את ASM Istio, בודקים את הגרסה של istioctl:
    istioctl version
  19. יוצרים מרחב שמות בשם istio-system לרכיבי מישור הבקרה:
    kubectl create namespace istio-system

התקנה של Anthos Service Mesh

  1. מתקינים את Anthos Service Mesh עם istioctl באמצעות פרופיל asm-multicloud:
    istioctl install \
        --set profile=asm-multicloud \
        --set revision="asm-1297-2"

    הארגומנט --set revision מוסיף תווית של גרסה בפורמט istio.io/rev=asm-1297-2 ל-istiod. תווית התיקון משמשת את ה-webhook האוטומטי להזרקת sidecar כדי לשייך sidecar מוזרקים לגרסה מסוימת של istiod. כדי להפעיל הזרקה אוטומטית של sidecar למרחב שמות, צריך להוסיף לו תווית עם revision שזהה לתווית ב-istiod.

  2. בודקים שה-pods של istiod פועלים באמצעות kubectl get pods:
    kubectl get pods -n istio-system

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

    NAME                                      READY   STATUS    RESTARTS   AGE
    istio-ingressgateway-88b6fd976-flgp2  1/1     Running   0          3m13s
    istio-ingressgateway-88b6fd976-p5dl9  1/1     Running   0          2m57s
    istiod-asm-1297-2-dbfb7c7b6-2ls88      1/1     Running   0          3m21s
    istiod-asm-1297-2-dbfb7c7b6-fnj8c      1/1     Running   1          3m21s
  3. מוודאים שההתקנה הושלמה:
    kubectl get svc -n istio-system

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

    NAME                  TYPE           CLUSTER-IP       EXTERNAL-IP     PORT(S)                                                                      AGE
    istio-ingressgateway  LoadBalancer   172.200.48.52    34.74.177.168   15021:30479/TCP,80:30030/TCP,443:32200/TCP,15012:32297/TCP,15443:30244/TCP   3m35s
    istiod                ClusterIP      172.200.18.133   <none>          15010/TCP,15012/TCP,443/TCP,15014/TCP                                        4m46s
    istiod-asm-1297-2      ClusterIP      172.200.63.220   <none>          15010/TCP,15012/TCP,443/TCP,15014/TCP                                        3m43s

הגדרת ה-webhook לאימות

כשמתקינים את Anthos Service Mesh, מגדירים תווית של גרסה ב-istiod. צריך להגדיר את אותה גרסה ב-webhook של האימות.

  1. יוצרים קובץ בשם istiod-service.yaml עם התוכן הבא:
    apiVersion: v1
    kind: Service
    metadata:
      name: istiod
      namespace: istio-system
      labels:
        istio.io/rev: asm-1297-2
        app: istiod
        istio: pilot
        release: istio
    spec:
      ports:
        - port: 15010
          name: grpc-xds # plaintext
          protocol: TCP
        - port: 15012
          name: https-dns # mTLS with k8s-signed cert
          protocol: TCP
        - port: 443
          name: https-webhook # validation and injection
          targetPort: 15017
          protocol: TCP
        - port: 15014
          name: http-monitoring # prometheus stats
          protocol: TCP
      selector:
        app: istiod
        istio.io/rev: asm-1297-2
      meshConfig:
        accessLogFormat:
          '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}'
  2. משתמשים ב-kubectl כדי להחיל את ההגדרות האישיות לתגובה לפעולה מאתר אחר (Webhook) לצורך אימות:
    kubectl apply -f istiod-service.yaml
  3. כדי לוודא שההגדרה הוחלה:
    kubectl get svc -n istio-system

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

    NAME     TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)                                 AGE
    istiod   ClusterIP   172.200.18.133   <none>        15010/TCP,15012/TCP,443/TCP,15014/TCP   22s

EKS

הגדרה והורדה של ASM

לפני שמתחילים, חשוב לקרוא בעיון את השלבים הבאים. נבקש ממך לבצע חלק מהשלבים שמפורטים במסמכי ה-ASM, ואז לחזור לכאן כדי להשלים את ההתקנה.

במדריך הזה מוסבר איך לבצע התקנה נקייה של Anthos Service Mesh‏ (ASM) בגרסה 1.29.7-asm.2 באשכולות שמצורפים ל-Anthos. במדריך הזה מוסבר איך להתקין את Anthos Service Mesh בסביבות הבאות:

  • ‫Amazon Elastic Kubernetes Service‏ (Amazon EKS) ב-Kubernetes
  • ‫Microsoft Azure Kubernetes Service‏ (Microsoft AKS) ב-Kubernetes
  • Red Hat OpenShift

הכנות להתקנת Anthos Service Mesh

    Linux

  1. מורידים את קובץ ההתקנה של Anthos Service Mesh לספריית העבודה הנוכחית:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.29.7-asm.2-linux-amd64.tar.gz
  2. מורידים את קובץ החתימה ומשתמשים ב-openssl כדי לאמת את החתימה:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.29.7-asm.2-linux-amd64.tar.gz.1.sig
    openssl dgst -verify /dev/stdin -signature istio-1.29.7-asm.2-linux-amd64.tar.gz.1.sig istio-1.29.7-asm.2-linux-amd64.tar.gz <<'EOF'
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
    wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
    -----END PUBLIC KEY-----
    EOF
  3. מחלצים את התוכן של הקובץ למיקום כלשהו במערכת הקבצים שלכם. לדוגמה, כדי לחלץ את התוכן לספריית העבודה הנוכחית:
    tar xzf istio-1.29.7-asm.2-linux-amd64.tar.gz

    הפקודה יוצרת ספריית התקנה בספריית העבודה הנוכחית בשם istio-1.29.7-asm.2, שמכילה:

    • אפליקציות לדוגמה בספרייה samples.
    • כלי שורת הפקודה שמשמש להתקנת Anthos Service Mesh נמצא בספרייה bin.istioctl
    • פרופילי ההגדרות של Anthos Service Mesh נמצאים בספרייה manifests/profiles.
  4. מוודאים שאתם נמצאים בספריית השורש של ההתקנה של Anthos Service Mesh:
    cd istio-1.29.7-asm.2
  5. כדי שיהיה לכם נוח, כדאי להוסיף את הכלים בספרייה ‎ /bin לנתיב:
    export PATH=$PWD/bin:$PATH
  6. Mac OS

  7. מורידים את קובץ ההתקנה של Anthos Service Mesh לספריית העבודה הנוכחית:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.29.7-asm.2-osx.tar.gz
  8. מורידים את קובץ החתימה ומשתמשים ב-openssl כדי לאמת את החתימה:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.29.7-asm.2-osx.tar.gz.1.sig
    openssl dgst -sha256 -verify /dev/stdin -signature istio-1.29.7-asm.2-osx.tar.gz.1.sig istio-1.29.7-asm.2-osx.tar.gz <<'EOF'
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
    wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
    -----END PUBLIC KEY-----
    EOF
  9. מחלצים את התוכן של הקובץ למיקום כלשהו במערכת הקבצים שלכם. לדוגמה, כדי לחלץ את התוכן לספריית העבודה הנוכחית:
    tar xzf istio-1.29.7-asm.2-osx.tar.gz

    הפקודה יוצרת ספריית התקנה בספריית העבודה הנוכחית בשם istio-1.29.7-asm.2, שמכילה:

    • אפליקציות לדוגמה בספרייה samples.
    • כלי שורת הפקודה שמשמש להתקנת Anthos Service Mesh נמצא בספרייה bin.istioctl
    • פרופילי ההגדרות של Anthos Service Mesh נמצאים בספרייה manifests/profiles.
  10. מוודאים שאתם נמצאים בספריית השורש של ההתקנה של Anthos Service Mesh:
    cd istio-1.29.7-asm.2
  11. כדי שיהיה לכם נוח, כדאי להוסיף את הכלים בספרייה ‎ /bin לנתיב:
    export PATH=$PWD/bin:$PATH
  12. Windows

  13. מורידים את קובץ ההתקנה של Anthos Service Mesh לספריית העבודה הנוכחית:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.29.7-asm.2-win.zip
  14. מורידים את קובץ החתימה ומשתמשים ב-openssl כדי לאמת את החתימה:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.29.7-asm.2-win.zip.1.sig
    openssl dgst -verify - -signature istio-1.29.7-asm.2-win.zip.1.sig istio-1.29.7-asm.2-win.zip <<'EOF'
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
    wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
    -----END PUBLIC KEY-----
    EOF
  15. מחלצים את התוכן של הקובץ למיקום כלשהו במערכת הקבצים שלכם. לדוגמה, כדי לחלץ את התוכן לספריית העבודה הנוכחית:
    tar xzf istio-1.29.7-asm.2-win.zip

    הפקודה יוצרת ספריית התקנה בספריית העבודה הנוכחית בשם istio-1.29.7-asm.2, שמכילה:

    • אפליקציות לדוגמה בספרייה samples.
    • כלי שורת הפקודה שמשמש להתקנת Anthos Service Mesh נמצא בספרייה bin.istioctl
    • פרופילי ההגדרות של Anthos Service Mesh נמצאים בספרייה manifests\profiles.
  16. מוודאים שאתם נמצאים בספריית השורש של ההתקנה של Anthos Service Mesh:
    cd istio-1.29.7-asm.2
  17. כדי שיהיה לכם נוח, כדאי להוסיף את הכלים בספרייה ‎\bin לנתיב:
    set PATH=%CD%\bin:%PATH%
  18. אחרי שמתקינים את ASM Istio, בודקים את הגרסה של istioctl:
    istioctl version
  19. יוצרים מרחב שמות בשם istio-system לרכיבי מישור הבקרה:
    kubectl create namespace istio-system

התקנה של Anthos Service Mesh

  1. מתקינים את Anthos Service Mesh עם istioctl באמצעות פרופיל asm-multicloud:
    istioctl install \
        --set profile=asm-multicloud \
        --set revision="asm-1297-2"

    הארגומנט --set revision מוסיף תווית של גרסה בפורמט istio.io/rev=asm-1297-2 ל-istiod. תווית התיקון משמשת את ה-webhook האוטומטי להזרקת sidecar כדי לשייך sidecar מוזרקים לגרסה מסוימת של istiod. כדי להפעיל הזרקה אוטומטית של sidecar למרחב שמות, צריך להוסיף לו תווית עם revision שזהה לתווית ב-istiod.

  2. בודקים שה-pods של istiod פועלים באמצעות kubectl get pods:
    kubectl get pods -n istio-system

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

    NAME                                      READY   STATUS    RESTARTS   AGE
    istio-ingressgateway-88b6fd976-flgp2  1/1     Running   0          3m13s
    istio-ingressgateway-88b6fd976-p5dl9  1/1     Running   0          2m57s
    istiod-asm-1297-2-dbfb7c7b6-2ls88      1/1     Running   0          3m21s
    istiod-asm-1297-2-dbfb7c7b6-fnj8c      1/1     Running   1          3m21s
  3. מוודאים שההתקנה הושלמה:
    kubectl get svc -n istio-system

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

    NAME                  TYPE           CLUSTER-IP       EXTERNAL-IP     PORT(S)                                                                      AGE
    istio-ingressgateway  LoadBalancer   172.200.48.52    34.74.177.168   15021:30479/TCP,80:30030/TCP,443:32200/TCP,15012:32297/TCP,15443:30244/TCP   3m35s
    istiod                ClusterIP      172.200.18.133   <none>          15010/TCP,15012/TCP,443/TCP,15014/TCP                                        4m46s
    istiod-asm-1297-2      ClusterIP      172.200.63.220   <none>          15010/TCP,15012/TCP,443/TCP,15014/TCP                                        3m43s

הגדרת ה-webhook לאימות

כשמתקינים את Anthos Service Mesh, מגדירים תווית של גרסה ב-istiod. צריך להגדיר את אותה גרסה ב-webhook של האימות.

  1. יוצרים קובץ בשם istiod-service.yaml עם התוכן הבא:
    apiVersion: v1
    kind: Service
    metadata:
      name: istiod
      namespace: istio-system
      labels:
        istio.io/rev: asm-1297-2
        app: istiod
        istio: pilot
        release: istio
    spec:
      ports:
        - port: 15010
          name: grpc-xds # plaintext
          protocol: TCP
        - port: 15012
          name: https-dns # mTLS with k8s-signed cert
          protocol: TCP
        - port: 443
          name: https-webhook # validation and injection
          targetPort: 15017
          protocol: TCP
        - port: 15014
          name: http-monitoring # prometheus stats
          protocol: TCP
      selector:
        app: istiod
        istio.io/rev: asm-1297-2
      meshConfig:
        accessLogFormat:
          '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}'
  2. משתמשים ב-kubectl כדי להחיל את ההגדרות האישיות לתגובה לפעולה מאתר אחר (Webhook) לצורך אימות:
    kubectl apply -f istiod-service.yaml
  3. כדי לוודא שההגדרה הוחלה:
    kubectl get svc -n istio-system

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

    NAME     TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)                                 AGE
    istiod   ClusterIP   172.200.18.133   <none>        15010/TCP,15012/TCP,443/TCP,15014/TCP   22s

OpenShift

הגדרה והורדה של ASM

לפני שמתחילים, חשוב לקרוא בעיון את השלבים הבאים. נבקש ממך לבצע חלק מהשלבים שמפורטים במסמכי ה-ASM, ואז לחזור לכאן כדי להשלים את ההתקנה.

במדריך הזה מוסבר איך לבצע התקנה נקייה של Anthos Service Mesh‏ (ASM) בגרסה 1.29.7-asm.2 באשכולות שמצורפים ל-Anthos. במדריך הזה מוסבר איך להתקין את Anthos Service Mesh בסביבות הבאות:

  • ‫Amazon Elastic Kubernetes Service‏ (Amazon EKS) ב-Kubernetes
  • ‫Microsoft Azure Kubernetes Service‏ (Microsoft AKS) ב-Kubernetes
  • Red Hat OpenShift

הכנות להתקנת Anthos Service Mesh

    Linux

  1. נותנים את אילוץ ההקשר האבטחתי (SCC) ‏anyuid ל-istio-system באמצעות הפקודה oc הבאה:
    oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
  2. מורידים את קובץ ההתקנה של Anthos Service Mesh לספריית העבודה הנוכחית:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.29.7-asm.2-linux-amd64.tar.gz
  3. מורידים את קובץ החתימה ומשתמשים ב-openssl כדי לאמת את החתימה:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.29.7-asm.2-linux-amd64.tar.gz.1.sig
    openssl dgst -verify /dev/stdin -signature istio-1.29.7-asm.2-linux-amd64.tar.gz.1.sig istio-1.29.7-asm.2-linux-amd64.tar.gz <<'EOF'
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
    wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
    -----END PUBLIC KEY-----
    EOF
  4. מחלצים את התוכן של הקובץ למיקום כלשהו במערכת הקבצים שלכם. לדוגמה, כדי לחלץ את התוכן לספריית העבודה הנוכחית:
    tar xzf istio-1.29.7-asm.2-linux-amd64.tar.gz

    הפקודה יוצרת ספריית התקנה בספריית העבודה הנוכחית בשם istio-1.29.7-asm.2, שמכילה:

    • אפליקציות לדוגמה בספרייה samples.
    • כלי שורת הפקודה שמשמש להתקנת Anthos Service Mesh נמצא בספרייה bin.istioctl
    • פרופילי ההגדרות של Anthos Service Mesh נמצאים בספרייה manifests/profiles.
  5. מוודאים שאתם נמצאים בספריית השורש של ההתקנה של Anthos Service Mesh:
    cd istio-1.29.7-asm.2
  6. כדי שיהיה לכם נוח, כדאי להוסיף את הכלים בספרייה ‎ /bin לנתיב:
    export PATH=$PWD/bin:$PATH
  7. Mac OS

  8. נותנים את אילוץ ההקשר האבטחתי (SCC) ‏anyuid ל-istio-system באמצעות הפקודה oc הבאה:
    oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
  9. מורידים את קובץ ההתקנה של Anthos Service Mesh לספריית העבודה הנוכחית:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.29.7-asm.2-osx.tar.gz
  10. מורידים את קובץ החתימה ומשתמשים ב-openssl כדי לאמת את החתימה:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.29.7-asm.2-osx.tar.gz.1.sig
    openssl dgst -sha256 -verify /dev/stdin -signature istio-1.29.7-asm.2-osx.tar.gz.1.sig istio-1.29.7-asm.2-osx.tar.gz <<'EOF'
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
    wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
    -----END PUBLIC KEY-----
    EOF
  11. מחלצים את התוכן של הקובץ למיקום כלשהו במערכת הקבצים שלכם. לדוגמה, כדי לחלץ את התוכן לספריית העבודה הנוכחית:
    tar xzf istio-1.29.7-asm.2-osx.tar.gz

    הפקודה יוצרת ספריית התקנה בספריית העבודה הנוכחית בשם istio-1.29.7-asm.2, שמכילה:

    • אפליקציות לדוגמה בספרייה samples.
    • כלי שורת הפקודה שמשמש להתקנת Anthos Service Mesh נמצא בספרייה bin.istioctl
    • פרופילי ההגדרות של Anthos Service Mesh נמצאים בספרייה manifests/profiles.
  12. מוודאים שאתם נמצאים בספריית השורש של ההתקנה של Anthos Service Mesh:
    cd istio-1.29.7-asm.2
  13. כדי שיהיה לכם נוח, כדאי להוסיף את הכלים בספרייה ‎ /bin לנתיב:
    export PATH=$PWD/bin:$PATH
  14. Windows

  15. נותנים את אילוץ ההקשר הביטחוני (SCC) ‏anyuid ל-istio-system באמצעות הפקודה הבאה של OpenShift CLI ‏ (oc):
    oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
  16. מורידים את קובץ ההתקנה של Anthos Service Mesh לספריית העבודה הנוכחית:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.29.7-asm.2-win.zip
  17. מורידים את קובץ החתימה ומשתמשים ב-openssl כדי לאמת את החתימה:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.29.7-asm.2-win.zip.1.sig
    openssl dgst -verify - -signature istio-1.29.7-asm.2-win.zip.1.sig istio-1.29.7-asm.2-win.zip <<'EOF'
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
    wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
    -----END PUBLIC KEY-----
    EOF
  18. מחלצים את התוכן של הקובץ למיקום כלשהו במערכת הקבצים שלכם. לדוגמה, כדי לחלץ את התוכן לספריית העבודה הנוכחית:
    tar xzf istio-1.29.7-asm.2-win.zip

    הפקודה יוצרת ספריית התקנה בספריית העבודה הנוכחית בשם istio-1.29.7-asm.2, שמכילה:

    • אפליקציות לדוגמה בספרייה samples.
    • כלי שורת הפקודה שמשמש להתקנת Anthos Service Mesh נמצא בספרייה bin.istioctl
    • פרופילי ההגדרות של Anthos Service Mesh נמצאים בספרייה manifests\profiles.
  19. מוודאים שאתם נמצאים בספריית השורש של ההתקנה של Anthos Service Mesh:
    cd istio-1.29.7-asm.2
  20. כדי שיהיה לכם נוח, כדאי להוסיף את הכלים בספרייה ‎\bin לנתיב:
    set PATH=%CD%\bin:%PATH%
  21. אחרי שמתקינים את ASM Istio, בודקים את הגרסה של istioctl:
    istioctl version
  22. יוצרים מרחב שמות בשם istio-system לרכיבי מישור הבקרה:
    kubectl create namespace istio-system

התקנה של Anthos Service Mesh

  1. מתקינים את Anthos Service Mesh עם istioctl באמצעות פרופיל asm-multicloud:
    istioctl install \
        --set profile=asm-multicloud \
        --set revision="asm-1297-2"

    הארגומנט --set revision מוסיף תווית של גרסה בפורמט istio.io/rev=asm-1297-2 ל-istiod. תווית התיקון משמשת את ה-webhook האוטומטי להזרקת sidecar כדי לשייך sidecar מוזרקים לגרסה מסוימת של istiod. כדי להפעיל הזרקה אוטומטית של sidecar למרחב שמות, צריך להוסיף לו תווית עם revision שזהה לתווית ב-istiod.

  2. בודקים שה-pods של istiod פועלים באמצעות kubectl get pods:
    kubectl get pods -n istio-system

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

    NAME                                      READY   STATUS    RESTARTS   AGE
    istio-ingressgateway-88b6fd976-flgp2  1/1     Running   0          3m13s
    istio-ingressgateway-88b6fd976-p5dl9  1/1     Running   0          2m57s
    istiod-asm-1297-2-dbfb7c7b6-2ls88      1/1     Running   0          3m21s
    istiod-asm-1297-2-dbfb7c7b6-fnj8c      1/1     Running   1          3m21s
  3. מוודאים שההתקנה הושלמה:
    kubectl get svc -n istio-system

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

    NAME                  TYPE           CLUSTER-IP       EXTERNAL-IP     PORT(S)                                                                      AGE
    istio-ingressgateway  LoadBalancer   172.200.48.52    34.74.177.168   15021:30479/TCP,80:30030/TCP,443:32200/TCP,15012:32297/TCP,15443:30244/TCP   3m35s
    istiod                ClusterIP      172.200.18.133   <none>          15010/TCP,15012/TCP,443/TCP,15014/TCP                                        4m46s
    istiod-asm-1297-2      ClusterIP      172.200.63.220   <none>          15010/TCP,15012/TCP,443/TCP,15014/TCP                                        3m43s

הגדרת ה-webhook לאימות

כשמתקינים את Anthos Service Mesh, מגדירים תווית של גרסה ב-istiod. צריך להגדיר את אותה גרסה ב-webhook של האימות.

  1. יוצרים קובץ בשם istiod-service.yaml עם התוכן הבא:
    apiVersion: v1
    kind: Service
    metadata:
      name: istiod
      namespace: istio-system
      labels:
        istio.io/rev: asm-1297-2
        app: istiod
        istio: pilot
        release: istio
    spec:
      ports:
        - port: 15010
          name: grpc-xds # plaintext
          protocol: TCP
        - port: 15012
          name: https-dns # mTLS with k8s-signed cert
          protocol: TCP
        - port: 443
          name: https-webhook # validation and injection
          targetPort: 15017
          protocol: TCP
        - port: 15014
          name: http-monitoring # prometheus stats
          protocol: TCP
      selector:
        app: istiod
        istio.io/rev: asm-1297-2
      meshConfig:
        accessLogFormat:
          '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}'
  2. משתמשים ב-kubectl כדי להחיל את ההגדרות האישיות לתגובה לפעולה מאתר אחר (Webhook) לצורך אימות:
    kubectl apply -f istiod-service.yaml
  3. כדי לוודא שההגדרה הוחלה:
    kubectl get svc -n istio-system

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

    NAME     TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)                                 AGE
    istiod   ClusterIP   172.200.18.133   <none>        15010/TCP,15012/TCP,443/TCP,15014/TCP   22s

התאמה אישית של ההתקנה של ASM

ההתקנה של ASM שביצעתם עכשיו היא התקנה מינימלית, שמספיקה לבדיקה ולשימוש ב-Apigee hybrid בתרחישי שימוש בסיסיים. למידע על פתרון תרחישי שימוש מתקדמים יותר, כמו הוספה, הסרה או שינוי של מספרי יציאות של איזון עומסים, אפשר לעיין במאמר הפעלה של תכונות אופציונליות.

סיכום

עכשיו יש לכם cert-manager ו-ASM מותקנים, ואתם מוכנים להתקין את כלי שורת הפקודה של Apigee hybrid במחשב המקומי.

1 2 3 (NEXT) Step 4: Install apigeectl 5 6 7 8 9