הגדרה עצמאית של הפרויקט והאשכול
כשמתקינים את Cloud Service Mesh באמצעות asmcli, אפשר להגדיר את הפרויקט ואת האשכול אם כוללים את הדגל --enable_all או את דגלי ההפעלה המפורטים יותר.
אם אתם מעדיפים לבצע את ההגדרה בעצמכם במקום ש-asmcli יבצע את השינויים, אתם יכולים לפעול לפי השלבים שבדף הזה.
אם כבר התקנתם גרסה קודמת של Cloud Service Mesh, אתם לא צריכים לבצע שינויים בפרויקט או באשכול לפני שמשתמשים ב-asmcli כדי לשדרג לגרסה העדכנית של Cloud Service Mesh.
כברירת מחדל, asmcli לא מתקין את istio-ingressgateway. מומלץ לפרוס ולנהל את רמת הבקרה ואת השערים בנפרד.
Cloud Service Mesh תומך בהזרקה אוטומטית לפריסות של שערים, מה שמקל על השדרוגים של Cloud Service Mesh. אחרי שמשדרגים את Cloud Service Mesh, מפעילים מחדש את השערים בדיוק כמו את השירותים, כדי שההגדרה החדשה של מישור הבקרה תיכנס לתוקף.
מידע נוסף זמין במאמר התקנה ושדרוג של שערים.
לפני שמתחילים
- בודקים את הדרישות המוקדמות (מחוץ Google Cloud, GKE)
- תכנון ההתקנה (מחוץ ל- Google Cloud, GKE) או השדרוג
- התקנת הכלים הנדרשים (מחוץ ל- Google Cloud, GKE)
הגדרת הפרויקט
מקבלים את מזהה הפרויקט שבו נוצר האשכול.
gcloud
מריצים את הפקודה הבאה:
gcloud projects listהמסוף
נכנסים לדף Dashboard במסוףGoogle Cloud .
לוחצים על הרשימה הנפתחת בחלק העליון של הדף. בחלון בחירה מתוך שמופיע, בוחרים את הפרויקט.
מזהה הפרויקט מוצג בכרטיס Project info בלוח הבקרה של הפרויקט.
יוצרים משתנה סביבה למאגר עומסי העבודה באמצעות מזהה הפרויקט:
export WORKLOAD_POOL=PROJECT_ID.svc.id.googמגדירים את התפקידים הנדרשים בניהול הזהויות והרשאות הגישה (IAM). אם אתם בעלי הפרויקט, יש לכם את כל ההרשאות הנדרשות להשלמת ההתקנה. אם אינכם בעלי פרויקט, עליכם לבקש ממישהו שהוא בעל פרויקט להקצות לכם את תפקידי ה-IAM הספציפיים הבאים. בפקודה הבאה, מחליפים את
PROJECT_IDבמזהה הפרויקט מהשלב הקודם ואתGCP_EMAIL_ADDRESSבחשבון שבו משתמשים כדי להיכנס אל Google Cloud.ROLES=( 'roles/servicemanagement.admin' \ 'roles/serviceusage.serviceUsageAdmin' \ 'roles/meshconfig.admin' \ 'roles/compute.admin' \ 'roles/container.admin' \ 'roles/resourcemanager.projectIamAdmin' \ 'roles/iam.serviceAccountAdmin' \ 'roles/iam.serviceAccountKeyAdmin' \ 'roles/gkehub.admin') for role in "${ROLES[@]}" do gcloud projects add-iam-policy-binding PROJECT_ID \ --member "user:GCP_EMAIL_ADDRESS" \ --role="$role" doneאם כוללים את הדגל
--enable_allאו--enable_gcp_iam_rolesכשמריצים את הפקודהasmcli, התפקידים הנדרשים ב-IAM מוגדרים באופן אוטומטי.מפעילים את ממשקי Google API הנדרשים:
gcloud services enable \ --project=PROJECT_ID \ mesh.googleapis.comבנוסף ל-
mesh.googleapis.com, הפקודה הזו מפעילה גם את ממשקי ה-API הבאים:API מטרה אפשר להשבית meshconfig.googleapis.comCloud Service Mesh משתמש ב-Mesh Configuration API כדי להעביר נתוני הגדרה מהרשת שלכם אל Google Cloud. בנוסף, הפעלת Mesh Configuration API מאפשרת לכם לגשת לדפים של Cloud Service Mesh במסוף Google Cloud ולהשתמש ברשות האישורים של Cloud Service Mesh. לא meshca.googleapis.comקשור לרשות האישורים של Cloud Service Mesh שמשמשת את Cloud Service Mesh מנוהל. לא container.googleapis.comנדרש ליצירת אשכולות Google Kubernetes Engine (GKE). לא gkehub.googleapis.comנדרש כדי לנהל את הרשת כצי. לא monitoring.googleapis.comנדרש כדי ללכוד טלמטריה עבור עומסי עבודה של רשתות Mesh. לא stackdriver.googleapis.comנדרש כדי להשתמש בממשק המשתמש של השירותים. לא opsconfigmonitoring.googleapis.comנדרש כדי להשתמש בממשק המשתמש של שירותי אשכולותGoogle Cloud . לא connectgateway.googleapis.comנדרשת כדי שמטוס הבקרה המנוהל של Cloud Service Mesh יוכל לגשת לעומסי עבודה של רשתות. כן* trafficdirector.googleapis.comמאפשרת מישור בקרה מנוהל עם זמינות גבוהה וניתן להתאמה לעומס. כן* networkservices.googleapis.comמאפשרת מישור בקרה מנוהל עם זמינות גבוהה וניתן להתאמה לעומס. כן* networksecurity.googleapis.comמאפשרת מישור בקרה מנוהל עם זמינות גבוהה וניתן להתאמה לעומס. כן* הפעלת ממשקי ה-API עשויה להימשך דקה או יותר. אחרי הפעלת ממשקי ה-API, הפלט אמור להיראות כך:
Operation "operations/acf.601db672-88e6-4f98-8ceb-aa3b5725533c" finished successfully.
אם כוללים את הדגל
--enable_allאו--enable_apisכשמריצים את הפקודהasmcli, ממשקי ה-API הנדרשים מופעלים באופן אוטומטי.
הגדרת האשכול
אם כוללים את הדגל --enable_all או אחד מדגלי ההפעלה המפורטים יותר, המערכת asmcli מגדירה את האשכול בשבילכם.
מאתחלים את הפרויקט כדי להכין אותו להתקנה. בין היתר, הפקודה הזו יוצרת חשבון שירות כדי לאפשר לרכיבי מישור הנתונים, כמו פרוקסי קובץ עזר חיצוני, לגשת באופן מאובטח לנתונים ולמשאבים של הפרויקט. בפקודה הבאה, מחליפים את
FLEET_PROJECT_IDבפרויקט המארח של הצי:curl --request POST \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header "Content-Type: application/json" \ --data '{"workloadIdentityPools":["FLEET_PROJECT_ID.hub.id.goog","FLEET_PROJECT_ID.svc.id.goog","PROJECT_ID.svc.id.goog"]}' \ "https://meshconfig.googleapis.com/v1alpha1/projects/PROJECT_ID:initialize"הפקודה מגיבה עם סוגריים מסולסלים ריקים:
{}ב-GKE באשכולות Google Cloud , מגדירים את אזור ברירת המחדל או האזור ב-Google Cloud CLI. אם לא מגדירים כאן את ברירת המחדל, צריך לציין את האפשרות
--zoneאו--regionבפקודותgcloud container clustersבדף הזה.אם יש לכם אשכול עם אזור אחד, צריך להגדיר את אזור ברירת המחדל:
gcloud config set compute/zone CLUSTER_LOCATIONאם יש לכם אשכול אזורי, צריך להגדיר את האזור שמוגדר כברירת מחדל:
gcloud config set compute/region CLUSTER_LOCATION
באשכולות GKE on Google Cloud , מפעילים את Workload Identity:
gcloud container clusters update CLUSTER_NAME \ --project=PROJECT_ID \ --workload-pool=${WORKLOAD_POOL}ההפעלה של Workload Identity יכולה להימשך בין 10 ל-15 דקות.
באשכולות GKE, מפעילים את Cloud Monitoring ו-Cloud Logging ב-GKE: Google Cloud
gcloud container clusters update CLUSTER_NAME \ --project=PROJECT_ID \ --enable-stackdriver-kubernetes
הפרויקט והאשכול מוכנים עכשיו להתקנה חדשה באמצעות asmcli.