התקנת ASM
ב-Apigee hybrid נעשה שימוש בהפצה של Istio שמסופקת עם Anthos Service Mesh (ASM). כדי להתקין את ASM באשכול, פועלים לפי השלבים הבאים.
גרסאות ASM נתמכות
במאמר Apigee hybrid: supported platforms מפורטות גרסאות ה-ASM שנתמכות בגרסה 1.6 של 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
- בודקים את משתני הסביבה שיידרשו בשלבים הבאים, ומגדירים אותם אם צריך:
echo $PROJECT_ID
echo $CLUSTER_NAMEecho $CLUSTER_LOCATION - יוצרים קובץ שכבת-על בשם
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.
-
- פועלים לפי ההוראות כדי להתכונן להתקנת ASM:
- מתקינים את
asmcliואת כל הכלים הנדרשים כמו git, kubectl ו-jq, לפי ההוראות שבמאמר התקנת כלים נדרשים. - ממשיכים לשלב הענקת הרשאות אדמין לאשכול ועוצרים. לא מבצעים את השלב Validate project and cluster (אימות הפרויקט והאשכול).
- מתקינים את 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 הוא קובץ השכבות שהכנתם בשלבים הקודמים.
משתמשים בהגדרות האלה כשפועלים לפי ההוראות במאמר התקנה עם תכונות אופציונליות.
- dir_path היא ספריית הפלט שבה רוצים ש-
פתרון בעיות
אם נתקלתם בשגיאה שמתייחסת אל 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:
- מציגים ברשימה את החברויות ב-GKE Hub בפרויקט:
gcloud container hub memberships list --project=$PROJECT_ID
- מחיקת החברות ב-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
- בודקים את משתני הסביבה שיידרשו בשלבים הבאים, ומגדירים אותם אם צריך:
echo ${PROJECT_ID}echo ${CLUSTER_NAME}echo ${CLUSTER_LOCATION} - יוצרים קובץ שכבת-על בשם
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.
-
- פועלים לפי ההוראות כדי להתכונן להתקנת ASM:
- מתקינים את
asmcliואת כל הכלים הנדרשים כמו git, kubectl ו-jq, לפי ההוראות שבמאמר התקנת כלים נדרשים. - ממשיכים לשלב הענקת הרשאות אדמין לאשכול ועוצרים. לא מבצעים את השלב Validate project and cluster (אימות הפרויקט והאשכול).
- מתקינים את 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 הוא קובץ השכבות שהכנתם בשלבים הקודמים.
משתמשים בהגדרות האלה כשפועלים לפי ההוראות במאמר התקנה עם תכונות אופציונליות.
- dir_path היא ספריית הפלט שבה רוצים ש-
פתרון בעיות
אם נתקלתם בשגיאה שמתייחסת אל 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:
- מציגים ברשימה את החברויות ב-GKE Hub בפרויקט:
gcloud container hub memberships list --project=$PROJECT_ID
- מחיקת החברות ב-GKE Hub:
gcloud container hub memberships delete "membership" --project=$PROJECT_ID
מידע נוסף על מגבלות ב-GKE Hub זמין במאמר בנושא מכסות ומגבלות.
פלטפורמות אחרות של 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
- מורידים את קובץ ההתקנה של Anthos Service Mesh לספריית העבודה הנוכחית:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.29.7-asm.2-linux-amd64.tar.gz
- מורידים את קובץ החתימה ומשתמשים ב-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 - מחלצים את התוכן של הקובץ למיקום כלשהו במערכת הקבצים שלכם. לדוגמה,
כדי לחלץ את התוכן לספריית העבודה הנוכחית:
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.
- אפליקציות לדוגמה בספרייה
- מוודאים שאתם נמצאים בספריית השורש של ההתקנה של Anthos Service Mesh:
cd istio-1.29.7-asm.2
- כדי שיהיה לכם נוח, כדאי להוסיף את הכלים בספרייה /bin לנתיב:
export PATH=$PWD/bin:$PATH
- מורידים את קובץ ההתקנה של Anthos Service Mesh לספריית העבודה הנוכחית:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.29.7-asm.2-osx.tar.gz
- מורידים את קובץ החתימה ומשתמשים ב-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 - מחלצים את התוכן של הקובץ למיקום כלשהו במערכת הקבצים שלכם. לדוגמה,
כדי לחלץ את התוכן לספריית העבודה הנוכחית:
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.
- אפליקציות לדוגמה בספרייה
- מוודאים שאתם נמצאים בספריית השורש של ההתקנה של Anthos Service Mesh:
cd istio-1.29.7-asm.2
- כדי שיהיה לכם נוח, כדאי להוסיף את הכלים בספרייה /bin לנתיב:
export PATH=$PWD/bin:$PATH
- מורידים את קובץ ההתקנה של Anthos Service Mesh לספריית העבודה הנוכחית:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.29.7-asm.2-win.zip
- מורידים את קובץ החתימה ומשתמשים ב-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 - מחלצים את התוכן של הקובץ למיקום כלשהו במערכת הקבצים שלכם. לדוגמה,
כדי לחלץ את התוכן לספריית העבודה הנוכחית:
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.
- אפליקציות לדוגמה בספרייה
- מוודאים שאתם נמצאים בספריית השורש של ההתקנה של Anthos Service Mesh:
cd istio-1.29.7-asm.2
- כדי שיהיה לכם נוח, כדאי להוסיף את הכלים בספרייה \bin לנתיב:
set PATH=%CD%\bin:%PATH%
- אחרי שמתקינים את ASM Istio, בודקים את הגרסה של
istioctl:istioctl version
- יוצרים מרחב שמות בשם istio-system לרכיבי מישור הבקרה:
kubectl create namespace istio-system
Linux
Mac OS
Windows
התקנה של Anthos Service Mesh
- יוצרים קובץ בשם
overlay.yamlעם התוכן הבא:apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: meshConfig: accessLogFile: /dev/stdout enableTracing: true 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)%"}' components: ingressGateways: - name: istio-ingressgateway enabled: true k8s: service: type: LoadBalancer ports: - name: status-port port: 15021 targetPort: 15021 - name: http2 port: 80 targetPort: 8080 - name: https port: 443 targetPort: 8443 - מתקינים את Anthos Service Mesh עם
istioctlבאמצעות פרופילasm-multicloud:istioctl install \ --set profile=asm-multicloud \ --set revision="asm-1297-2" \ --filename overlay.yamlהארגומנט
--set revisionמוסיף תווית של גרסה בפורמטistio.io/rev=asm-1297-2ל-istiod. תווית התיקון משמשת את ה-webhook האוטומטי להזרקת sidecar כדי לשייך sidecar מוזרקים לגרסה מסוימת של istiod. כדי להפעיל הזרקה אוטומטית של sidecar למרחב שמות, צריך להוסיף לו תווית עם revision שזהה לתווית ב-istiod. - בודקים שה-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
- מוודאים שההתקנה הושלמה:
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
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
- מורידים את קובץ ההתקנה של Anthos Service Mesh לספריית העבודה הנוכחית:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.29.7-asm.2-linux-amd64.tar.gz
- מורידים את קובץ החתימה ומשתמשים ב-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 - מחלצים את התוכן של הקובץ למיקום כלשהו במערכת הקבצים שלכם. לדוגמה,
כדי לחלץ את התוכן לספריית העבודה הנוכחית:
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.
- אפליקציות לדוגמה בספרייה
- מוודאים שאתם נמצאים בספריית השורש של ההתקנה של Anthos Service Mesh:
cd istio-1.29.7-asm.2
- כדי שיהיה לכם נוח, כדאי להוסיף את הכלים בספרייה /bin לנתיב:
export PATH=$PWD/bin:$PATH
- מורידים את קובץ ההתקנה של Anthos Service Mesh לספריית העבודה הנוכחית:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.29.7-asm.2-osx.tar.gz
- מורידים את קובץ החתימה ומשתמשים ב-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 - מחלצים את התוכן של הקובץ למיקום כלשהו במערכת הקבצים שלכם. לדוגמה,
כדי לחלץ את התוכן לספריית העבודה הנוכחית:
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.
- אפליקציות לדוגמה בספרייה
- מוודאים שאתם נמצאים בספריית השורש של ההתקנה של Anthos Service Mesh:
cd istio-1.29.7-asm.2
- כדי שיהיה לכם נוח, כדאי להוסיף את הכלים בספרייה /bin לנתיב:
export PATH=$PWD/bin:$PATH
- מורידים את קובץ ההתקנה של Anthos Service Mesh לספריית העבודה הנוכחית:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.29.7-asm.2-win.zip
- מורידים את קובץ החתימה ומשתמשים ב-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 - מחלצים את התוכן של הקובץ למיקום כלשהו במערכת הקבצים שלכם. לדוגמה,
כדי לחלץ את התוכן לספריית העבודה הנוכחית:
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.
- אפליקציות לדוגמה בספרייה
- מוודאים שאתם נמצאים בספריית השורש של ההתקנה של Anthos Service Mesh:
cd istio-1.29.7-asm.2
- כדי שיהיה לכם נוח, כדאי להוסיף את הכלים בספרייה \bin לנתיב:
set PATH=%CD%\bin:%PATH%
- אחרי שמתקינים את ASM Istio, בודקים את הגרסה של
istioctl:istioctl version
- יוצרים מרחב שמות בשם istio-system לרכיבי מישור הבקרה:
kubectl create namespace istio-system
Linux
Mac OS
Windows
התקנה של Anthos Service Mesh
- יוצרים קובץ בשם
overlay.yamlעם התוכן הבא:apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: meshConfig: accessLogFile: /dev/stdout enableTracing: true 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)%"}' components: ingressGateways: - name: istio-ingressgateway enabled: true k8s: service: type: LoadBalancer ports: - name: status-port port: 15021 targetPort: 15021 - name: http2 port: 80 targetPort: 8080 - name: https port: 443 targetPort: 8443 - מתקינים את Anthos Service Mesh עם
istioctlבאמצעות פרופילasm-multicloud:istioctl install \ --set profile=asm-multicloud \ --set revision="asm-1297-2" \ --filename overlay.yamlהארגומנט
--set revisionמוסיף תווית של גרסה בפורמטistio.io/rev=asm-1297-2ל-istiod. תווית התיקון משמשת את ה-webhook האוטומטי להזרקת sidecar כדי לשייך sidecar מוזרקים לגרסה מסוימת של istiod. כדי להפעיל הזרקה אוטומטית של sidecar למרחב שמות, צריך להוסיף לו תווית עם revision שזהה לתווית ב-istiod. - בודקים שה-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
- מוודאים שההתקנה הושלמה:
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
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
- נותנים את אילוץ ההקשר האבטחתי (SCC)
anyuidל-istio-system באמצעות הפקודהocהבאה:oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
- מורידים את קובץ ההתקנה של Anthos Service Mesh לספריית העבודה הנוכחית:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.29.7-asm.2-linux-amd64.tar.gz
- מורידים את קובץ החתימה ומשתמשים ב-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 - מחלצים את התוכן של הקובץ למיקום כלשהו במערכת הקבצים שלכם. לדוגמה,
כדי לחלץ את התוכן לספריית העבודה הנוכחית:
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.
- אפליקציות לדוגמה בספרייה
- מוודאים שאתם נמצאים בספריית השורש של ההתקנה של Anthos Service Mesh:
cd istio-1.29.7-asm.2
- כדי שיהיה לכם נוח, כדאי להוסיף את הכלים בספרייה /bin לנתיב:
export PATH=$PWD/bin:$PATH
- נותנים את אילוץ ההקשר האבטחתי (SCC)
anyuidל-istio-system באמצעות הפקודהocהבאה:oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
- מורידים את קובץ ההתקנה של Anthos Service Mesh לספריית העבודה הנוכחית:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.29.7-asm.2-osx.tar.gz
- מורידים את קובץ החתימה ומשתמשים ב-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 - מחלצים את התוכן של הקובץ למיקום כלשהו במערכת הקבצים שלכם. לדוגמה,
כדי לחלץ את התוכן לספריית העבודה הנוכחית:
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.
- אפליקציות לדוגמה בספרייה
- מוודאים שאתם נמצאים בספריית השורש של ההתקנה של Anthos Service Mesh:
cd istio-1.29.7-asm.2
- כדי שיהיה לכם נוח, כדאי להוסיף את הכלים בספרייה /bin לנתיב:
export PATH=$PWD/bin:$PATH
- נותנים את אילוץ ההקשר הביטחוני (SCC)
anyuidל-istio-system באמצעות הפקודה הבאה של OpenShift CLI (oc):oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
- מורידים את קובץ ההתקנה של Anthos Service Mesh לספריית העבודה הנוכחית:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.29.7-asm.2-win.zip
- מורידים את קובץ החתימה ומשתמשים ב-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 - מחלצים את התוכן של הקובץ למיקום כלשהו במערכת הקבצים שלכם. לדוגמה,
כדי לחלץ את התוכן לספריית העבודה הנוכחית:
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.
- אפליקציות לדוגמה בספרייה
- מוודאים שאתם נמצאים בספריית השורש של ההתקנה של Anthos Service Mesh:
cd istio-1.29.7-asm.2
- כדי שיהיה לכם נוח, כדאי להוסיף את הכלים בספרייה \bin לנתיב:
set PATH=%CD%\bin:%PATH%
- אחרי שמתקינים את ASM Istio, בודקים את הגרסה של
istioctl:istioctl version
- יוצרים מרחב שמות בשם istio-system לרכיבי מישור הבקרה:
kubectl create namespace istio-system
Linux
Mac OS
Windows
התקנה של Anthos Service Mesh
- יוצרים קובץ בשם
overlay.yamlעם התוכן הבא:apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: meshConfig: accessLogFile: /dev/stdout enableTracing: true 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)%"}' components: ingressGateways: - name: istio-ingressgateway enabled: true k8s: service: type: LoadBalancer ports: - name: status-port port: 15021 targetPort: 15021 - name: http2 port: 80 targetPort: 8080 - name: https port: 443 targetPort: 8443 - מתקינים את Anthos Service Mesh עם
istioctlבאמצעות פרופילasm-multicloud:istioctl install \ --set profile=asm-multicloud \ --set revision="asm-1297-2" \ --filename overlay.yamlהארגומנט
--set revisionמוסיף תווית של גרסה בפורמטistio.io/rev=asm-1297-2ל-istiod. תווית התיקון משמשת את ה-webhook האוטומטי להזרקת sidecar כדי לשייך sidecar מוזרקים לגרסה מסוימת של istiod. כדי להפעיל הזרקה אוטומטית של sidecar למרחב שמות, צריך להוסיף לו תווית עם revision שזהה לתווית ב-istiod. - בודקים שה-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
- מוודאים שההתקנה הושלמה:
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
התאמה אישית של ההתקנה של ASM
ההתקנה של ASM שביצעתם עכשיו היא התקנה מינימלית, שמספיקה לבדיקה ולשימוש ב-Apigee hybrid בתרחישי שימוש בסיסיים. למידע על פתרון תרחישי שימוש מתקדמים יותר, כמו הוספה, הסרה או שינוי של מספרי יציאות של איזון עומסים, אפשר לעיין במאמר הפעלה של תכונות אופציונליות.
סיכום
עכשיו יש לכם cert-manager ו-ASM מותקנים, ואתם מוכנים להתקין את כלי שורת הפקודה של Apigee hybrid במחשב המקומי.
1 2 3 (NEXT) Step 4: Install apigeectl 5 6 7 8 9