לפני שמתחילים
לפני שמתחילים, חשוב לוודא שביצעתם את הפעולות הבאות:
- מפעילים את ממשק ה-API של Google Kubernetes Engine. הפעלת Google Kubernetes Engine API
- אם רוצים להשתמש ב-CLI של Google Cloud למשימה הזו, צריך להתקין ואז להפעיל את ה-CLI של gcloud. אם התקנתם בעבר את ה-CLI של gcloud, מריצים את הפקודה
gcloud components updateכדי לקבל את הגרסה העדכנית. יכול להיות שגרסאות קודמות של ה-CLI של gcloud לא יתמכו בהרצת הפקודות שמופיעות במסמך הזה.
- מוודאים שיש לכם את ההרשאות המתאימות ליצירת אשכולות. לפחות, צריך להיות לכם תפקיד אדמין של אשכול Kubernetes Engine.
- אם רוצים לרשום את האשכול החדש לצי, צריך לוודא שיש לכם את ממשקי ה-API וההרשאות הנדרשים.
הגדרה של חשבונות שירות ב-IAM ל-GKE
GKE משתמש בחשבונות שירות של IAM שמצורפים לצמתים כדי להריץ משימות מערכת כמו רישום ביומן ומעקב. לפחות, חשבונות השירות של הצמתים צריכים לקבל את התפקיד Kubernetes Engine Default Node Service Account (roles/container.defaultNodeServiceAccount) בפרויקט. כברירת מחדל, GKE משתמש בחשבון השירות שמוגדר כברירת מחדל ב-Compute Engine, שנוצר באופן אוטומטי בפרויקט, כחשבון השירות של הצומת.
כדי להעניק את התפקיד roles/container.defaultNodeServiceAccount לחשבון השירות שמוגדר כברירת המחדל של Compute Engine, מבצעים את השלבים הבאים:
המסוף
- נכנסים לדף Welcome:
- בשדה מספר הפרויקט, לוחצים על העתקה ללוח.
- נכנסים לדף IAM:
- לוחצים על Grant access.
- בשדה New principals, מציינים את הערך הבא:
מחליפים אתPROJECT_NUMBER-compute@developer.gserviceaccount.comPROJECT_NUMBERבמספר הפרויקט שהעתקתם. - בתפריט Select a role (בחירת תפקיד), בוחרים בתפקיד Kubernetes Engine Default Node Service Account (חשבון השירות שמשמש כברירת מחדל לצומת ב-Kubernetes Engine).
- לוחצים על Save.
gcloud
- איך מוצאים את Google Cloud מספר הפרויקט:
gcloud projects describe PROJECT_ID \ --format="value(projectNumber)"
מחליפים את
PROJECT_IDבמזהה הפרויקט.הפלט אמור להיראות כך:
12345678901
- מקצים לחשבון השירות של Compute Engine שמוגדר כברירת מחדל את התפקיד
roles/container.defaultNodeServiceAccount:gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com" \ --role="roles/container.defaultNodeServiceAccount"
מחליפים את
PROJECT_NUMBERבמספר הפרויקט מהשלב הקודם.
יצירת אשכול Autopilot
המידע המינימלי שצריך לציין כשיוצרים אשכול חדש של Autopilot הוא שם, פרויקט (בדרך כלל הפרויקט הנוכחי) ואזור (בדרך כלל האזור שמוגדר כברירת מחדל לכלי שורת הפקודה). עם זאת, יש עוד הרבה הגדרות אפשריות, וחלקן לא ניתנות לשינוי אחרי יצירת האשכול. חשוב להבין אילו הגדרות אי אפשר לשנות אחרי שיוצרים את האשכול, ולבחור את ההגדרה הנכונה כשיוצרים את האשכול כדי שלא תצטרכו ליצור אותו מחדש.
סקירה כללית של אפשרויות ההגדרה של אשכולים מופיעה במאמר מידע על אפשרויות ההגדרה של אשכולים, ורשימה מלאה של האפשרויות האפשריות מופיעה במדריכי העזר של gcloud container clusters create-auto ו-Terraform google_container_cluster.
אפשר ליצור אשכול Autopilot באמצעות Google Cloud CLI, Google Cloud המסוף או Terraform:
gcloud
מריצים את הפקודה הבאה:
gcloud container clusters create-auto CLUSTER_NAME \
--location=LOCATION \
--project=PROJECT_ID
מחליפים את מה שכתוב בשדות הבאים:
-
CLUSTER_NAME: השם של אשכול Autopilot החדש. -
LOCATION: האזור של האשכול. PROJECT_ID: מזהה הפרויקט.
מומלץ מאוד לציין חשבון שירות IAM עם הרשאות מינימליות, שהצמתים יוכלו להשתמש בו במקום בחשבון השירות שמוגדר כברירת מחדל של Compute Engine. במאמר שימוש בחשבון שירות עם הרשאות מינימליות מוסבר איך ליצור חשבון שירות עם הרשאות מינימליות.
כדי לציין חשבון שירות מותאם אישית ב-CLI של gcloud, מוסיפים את הדגל הבא לפקודה:
--service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.comמחליפים את SERVICE_ACCOUNT_NAME בשם של חשבון השירות עם ההרשאות המינימליות.
רשימה של אפשרויות נוספות שאפשר לציין מופיעה במאמרי העזרה בנושא gcloud container clusters create-auto.
המסוף
מבצעים את המשימות הבאות:
נכנסים לדף Create an Autopilot cluster במסוף Google Cloud .
בקטע Cluster basics (הגדרות בסיסיות של אשכול), מבצעים את הפעולות הבאות:
מזינים את השם של האשכול.
בוחרים אזור לאשכול.
- אופציונלי: אם רוצים לרשום את האשכול החדש לצי, עוברים לקטע Fleet registration ופועלים לפי ההוראות במסוף בנושא Create and register a new cluster כדי להשלים את רישום האשכול. Google Cloud
הוראות להגדרה של הקטע Networking מופיעות במאמר התאמה אישית של בידוד הרשת.
- אופציונלי, אפשר לציין חשבון שירות מותאם אישית ב-IAM עבור הצמתים:
- בדף הגדרות מתקדמות, מרחיבים את הקטע אבטחה.
- בתפריט Service account בוחרים את חשבון השירות המועדף.
מומלץ מאוד לציין חשבון שירות IAM עם הרשאות מינימליות, שהצמתים יוכלו להשתמש בו במקום בחשבון השירות שמוגדר כברירת מחדל של Compute Engine. במאמר שימוש בחשבון שירות עם הרשאות מינימליות מוסבר איך ליצור חשבון שירות עם הרשאות מינימליות.
אופציונלי: מגדירים הגדרות אחרות כמו חלונות תחזוקה ותכונות אבטחה מתקדמות.
לוחצים על יצירה.
Terraform
כדי ליצור אשכול Autopilot באמצעות Terraform, אפשר להיעזר בדוגמה הבאה:
כדי ליצור אשכול Autopilot שמשתמש בחשבון שירות מותאם אישית של IAM:
יוצרים חשבון שירות ב-IAM ומקצים לו את התפקיד
roles/container.defaultNodeServiceAccountבפרויקט:יוצרים אשכול Autopilot שמשתמש בחשבון השירות החדש:
מידע נוסף על שימוש ב-Terraform זמין במאמר תמיכה ב-Terraform ב-GKE.
יצירת אשכול Autopilot עם ערוץ הפצה וגרסה ספציפיים
כברירת מחדל, מערכת GKE רושמת אשכולות חדשים של Autopilot בערוץ ההפצה Regular, עם גרסת GKE שמוגדרת כברירת מחדל בערוץ. אפשר לשנות את ערוץ ההפצה כשיוצרים אשכול Autopilot באמצעות ה-CLI של gcloud, מסוף Google Cloud או Terraform.
אפשר גם להגדיר גרסת GKE ספציפית כשיוצרים אשכול באמצעות ה-CLI של gcloud. הגדרת גרסת האשכול שימושית רק אם יש דרישה לגרסה ספציפית. כדי להגדיר את גרסת האשכול, מציינים את הדגל --cluster-version בפקודה gcloud container clusters create-auto.
הגרסה שאתם מציינים חייבת להיות גרסה זמינה של GKE.
ההוראות הבאות להגדרת ערוץ ההפצה והגרסה הן אופציונליות. אלא אם אתם צריכים גרסה ספציפית של GKE, מומלץ להשאיר את הגדרת ערוץ ההפצה שמוגדרת כברירת מחדל.
gcloud
מריצים את הפקודה הבאה:
gcloud container clusters create-auto CLUSTER_NAME \
--location=LOCATION \
--release-channel=RELEASE_CHANNEL
מחליפים את RELEASE_CHANNEL בשם של ערוץ ההפצה של האשכול. ערך ברירת המחדל הוא Regular.
אפשר לציין את --cluster-version=CLUSTER_VERSION, ולהחליף את CLUSTER_VERSION בגרסת GKE של האשכול, כמו 1.29.4-gke.1043002. הגרסה שאתם מציינים חלה עד שגרסה חדשה יותר הופכת לברירת המחדל בערוץ ההפצה.
לאחר מכן, GKE משדרג באופן אוטומטי את האשכול לגרסת ברירת המחדל החדשה. אם לא מציינים את הדגל הזה, GKE מגדיר את הגרסה לגרסת ברירת המחדל של ערוץ ההפצה.
כדי לבדוק אילו גרסאות זמינות, אפשר לעיין במאמר אילו גרסאות זמינות בערוץ?. אתם יכולים להריץ כל גרסה משנית בערוץ שבחרתם או לבחור קבוצת משנה של גרסאות תיקון מערוצים אחרים.
המסוף
כדי להגדיר את ערוץ ההפצה כשיוצרים אשכול Autopilot, מבצעים את הפעולות הבאות:
נכנסים לדף Create an Autopilot cluster במסוף Google Cloud .
בקטע Cluster basics (הגדרות בסיסיות של אשכול), מבצעים את הפעולות הבאות:
- מציינים שם.
- בוחרים Region.
בקטע הגדרות מתקדמות, בוחרים ערוץ הפצה.
אפשר גם לקבוע הגדרות אחרות לאשכול החדש.
לוחצים על יצירה.
Terraform
כדי להגדיר את ערוץ ההפצה ואת גרסת האשכול כשיוצרים אשכול Autopilot באמצעות Terraform, אפשר להיעזר בדוגמה הבאה:
מידע נוסף על שימוש ב-Terraform זמין במאמר תמיכה ב-Terraform ב-GKE.
אפשר גם לשנות את ערוץ ההפצה ואת גרסת GKE של אשכולות קיימים. הוראות מפורטות זמינות במאמרים שדרוג ידני של מישור הבקרה ובחירת ערוץ הפצה חדש.
התחברות לאשכול
gcloud
gcloud container clusters get-credentials CLUSTER_NAME \
--location=LOCATION \
--project=PROJECT_ID
הפקודה הזו מגדירה את kubectl לשימוש באשכול שיצרתם.
המסוף
ברשימת האשכולות, ליד האשכול שרוצים להתחבר אליו, לוחצים על more_vert פעולות ואז על התחברות.
כשמופיעה בקשה, לוחצים על Run in Cloud Shell. הפקודה שנוצרה מועתקת ל-Cloud Shell, לדוגמה:
gcloud container clusters get-credentials autopilot-cluster --location=us-central1 --project=autopilot-testמקישים על Enter כדי להריץ את הפקודה.
אימות מצב האשכול
כדי לוודא שהאשכול שלכם הוא אשכול Autopilot, אתם יכולים להשתמש ב-CLI של gcloud או במסוף Google Cloud .
gcloud
כדי לוודא שהאשכול נוצר במצב Autopilot, מריצים את הפקודה הבאה:
gcloud container clusters describe CLUSTER_NAME \
--location=LOCATION
הפלט מכיל את הפרטים הבאים:
autopilot:
enabled: true
המסוף
כדי לוודא שהאשכול נוצר במצב Autopilot, מבצעים את הפעולות הבאות:
נכנסים לדף Google Kubernetes Engine במסוף Google Cloud .
מוצאים את האשכול ברשימת האשכולות. בקטע מצב, צריך להופיע הכיתוב טייס אוטומטי.
המאמרים הבאים
- הדרכה: איך לפרוס אפליקציה בלי שמירת מצב
- איך מרחיבים אפליקציה
- מידע נוסף על GKE Autopilot
- איך להקשיח את האבטחה באשכול