במאמר הזה מוסבר איך ליצור קבוצת מכונות מנוהלת (MIG) עם גמישות בהקצאת מכונות, שמאפשרת לציין כמה סוגי מכונות ב-MIG.
הפעלה גמישה של מכונות עוזרת לשפר את הזמינות של המשאבים, במיוחד לאפליקציות שיכולות לפעול בסוגי מכונות שונים ודורשות קיבולת בקנה מידה גדול או חומרה עם ביקוש גבוה. מידע נוסף זמין במאמר מידע על הפעלה גמישה של מכונות.
אפשר גם לקרוא על תרחישים בסיסיים אחרים ליצירת MIG.
לפני שמתחילים
- יצירת תבנית של הגדרות מכונה, שנדרשת כדי ליצור קבוצת מופעי מכונה מנוהלים.
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא התהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Google Cloud . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים האלה:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Google Cloud כדי לגשת לשירותים ולממשקי ה-API של Google Cloud , לא צריך להגדיר אימות.
gcloud
-
התקינו את ה-CLI של Google Cloud. אחר כך, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud initאם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
- הגדרת אזור ותחום כברירת מחדל.
-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
אם משתמשים במעטפת מקומית, צריך ליצור פרטי כניסה לאימות מקומי בחשבון המשתמש:
gcloud auth application-default login
אם אתם משתמשים ב-Cloud Shell, אתם לא צריכים לעשות את זה.
אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
Terraform
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של Terraform שבדף הזה, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.
למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
REST
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.
התקינו את ה-CLI של Google Cloud.
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Google Cloud .
יצירת MIG עם כמה סוגי מכונות
המסוף
נכנסים לדף Instance groups במסוף Google Cloud .
לוחצים על Create instance group.
בשדה Name, נותנים שם לקבוצת ה-MIG.
ברשימה Instance template, בוחרים את תבנית של הגדרות מכונה שבה רוצים להשתמש בשביל ה-MIG.
כדי לציין את מספר המכונות ולהוסיף בחירות של מכונות, צריך לבצע את הפעולות הבאות:
עוברים לקטע Location בדף ומגדירים את המיקום, באופן הבא:
בוחרים באפשרות Multiple zones.
בתפריטים הנפתחים Regions ו-Zones, בוחרים את האזור ואת התחומים שבהם רוצים ליצור את המכונות הווירטואליות ב-MIG. אם בחרתם תבנית של הגדרות מכונה אזורית, האזור של התבנית הזו נבחר כברירת מחדל.
בשדה Target distribution shape, בוחרים באפשרות Balanced, Any או Any single zone.
אם בוחרים באפשרות Balanced או Any single zone, בתיבת הדו-שיח שנפתחת לוחצים על Disable instance redistribution.
אם בוחרים באפשרות Any, צריך לוודא שתיבת הסימון Allow instance redistribution לא מסומנת.
עוברים לקטע Autoscaling בדף ומוחקים את הגדרת ההתאמה האוטומטית לעומס:
בתפריט הנפתח Autoscaling mode, לוחצים על Delete autoscaling configuration.
בתיבת הדו-שיח שנפתחת, לוחצים על מחיקה.
גוללים חזרה לשדה Number of instances.
בשדה Number of instances, מציינים את מספר המכונות הווירטואליות שרוצים בקבוצה.
בקטע Instance selections, לוחצים על Add selections.
החלון Instance selections נפתח.
לוחצים על Add instance selection.
בקטע New instance selection:
בשדה Name, נותנים שם לבחירת המכונות.
בקטע Machine types, לוחצים על Add machine type, בוחרים את סוג המכונה שרוצים להוסיף ולוחצים על Done.
חוזרים על השלב הזה לכל סוג מכונה שרוצים להוסיף לבחירת המכונה.
אחרי שמוסיפים את סוגי המכונות, לוחצים על Done.
בחלון Instance selections, לוחצים על Done.
משאירים את שאר השדות בהגדרות ברירת המחדל שלהם או משנים אותם לפי הצורך.
לוחצים על יצירה.
gcloud
כדי ליצור קבוצת MIG אזורית עם כמה סוגי מכונות, משתמשים בפקודה instance-groups managed create באופן הבא:
gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
--region REGION \
--size TARGET_SIZE \
--template INSTANCE_TEMPLATE_URL \
--target-distribution-shape SHAPE \
--instance-redistribution-type none \
--instance-selection-machine-types MACHINE_TYPE,MACHINE_TYPE,...
קבוצות MIG אזוריות לא תומכות בהפעלה גמישה של מכונות. עם זאת, אם רוצים ליצור קבוצת MIG באזור אחד, צריך להגדיר את צורת ההפצה ל-any-single-zone. בנוסף, אם אתם רוצים אזור ספציפי, השתמשו בתבנית ההפצה any-single-zone וציינו את הדגל --zones
ZONE.
מחליפים את מה שכתוב בשדות הבאים:
-
INSTANCE_GROUP_NAME: שם ה-MIG. -
REGION: האזור שבו רוצים ליצור את ה-MIG. -
TARGET_SIZE: מספר המכונות הווירטואליות שרוצים שקבוצת המכונות המנוהלת תיצור ותנהל. -
INSTANCE_TEMPLATE_URL: כתובת ה-URL של תבנית של הגדרות מכונה שבה רוצים להשתמש כדי ליצור מכונות ב-MIG. כתובת ה-URL יכולה להכיל את המזהה או את השם של תבנית של הגדרות מכונה. מציינים אחד מהערכים הבאים:- לתבנית של הגדרות מכונה אזורית:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID - לתבנית גלובלית של הגדרות מכונה:
INSTANCE_TEMPLATE_ID
- לתבנית של הגדרות מכונה אזורית:
-
SHAPE: צורת ההתפלגות של היעד. הערך יכול להיותbalanced,anyאוany-single-zone. -
MACHINE_TYPE: סוגי המכונות שרוצים להגדיר ב-MIG, לדוגמהn1-standard-16,n2-standard-16,e2-standard-16.
Terraform
אם עדיין לא יצרתם תבנית של הגדרות מכונה, שבה מצוינים מאפייני ה-VM שאתם רוצים לכל VM בקבוצת המכונות המנוהלת, צרו תבנית של הגדרות מכונה.
כדי ליצור קבוצת MIG אזורית עם כמה סוגי מכונות, משתמשים במשאב google_compute_region_instance_group_manager.
כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.
REST
כדי ליצור קבוצת MIG אזורית עם כמה סוגי מכונות, שולחים בקשת POST אל ה-method regionInstanceGroupManagers.insert.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers
{
"name": "INSTANCE_GROUP_NAME",
"targetSize": TARGET_SIZE,
"instanceTemplate": "INSTANCE_TEMPLATE_URL",
"distributionPolicy": {
"targetShape": "SHAPE"
},
"updatePolicy": {
"instanceRedistributionType": "NONE"
},
"instanceFlexibilityPolicy": {
"instanceSelections": {
"INSTANCE_SELECTION": {
"machineTypes": [
"MACHINE_TYPE_1",
"MACHINE_TYPE_2",
...
]
}
}
}
}
קבוצות MIG אזוריות לא תומכות בהפעלה גמישה של מכונות. עם זאת, אם רוצים ליצור קבוצת MIG באזור אחד, צריך להגדיר את צורת ההפצה ל-ANY_SINGLE_ZONE. בנוסף, אם רוצים אזור ספציפי, משתמשים בצורת ההפצה ANY_SINGLE_ZONE וכוללים את השדה distributionPolicy.zones[].zone בבקשה.
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט. -
REGION: האזור שבו רוצים ליצור את ה-MIG. -
INSTANCE_GROUP_NAME: שם ה-MIG. -
TARGET_SIZE: מספר המכונות הווירטואליות שרוצים שקבוצת המכונות המנוהלת תיצור ותנהל. -
INSTANCE_TEMPLATE_URL: כתובת ה-URL של תבנית של הגדרות מכונה שבה רוצים להשתמש כדי ליצור מכונות ב-MIG. כתובת ה-URL יכולה להכיל את המזהה או את השם של תבנית של הגדרות מכונה. מציינים אחד מהערכים הבאים:- לתבנית של הגדרות מכונה אזורית:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID - לתבנית גלובלית של הגדרות מכונה:
INSTANCE_TEMPLATE_ID
- לתבנית של הגדרות מכונה אזורית:
-
SHAPE: צורת ההתפלגות של היעד. הערך יכול להיותBALANCED,ANYאוANY_SINGLE_ZONE. -
INSTANCE_SELECTION: השם של רשימת סוגי המכונות. -
MACHINE_TYPE: סוגי המכונות שרוצים להגדיר ב-MIG, לדוגמה"n1-standard-16","n2-standard-16","e2-standard-16".
המאמרים הבאים
- בדיקת ההגדרות של הפעלה גמישה של מכונות.
- מעקב אחרי התפלגות המכונות בקבוצות של מכונות מנוהלות כדי לראות אילו סוגי מכונות הקבוצה מקצה באופן פעיל.
- לשנות את ההפעלה הגמישה של המכונות כדי להשתמש בסוגי מכונות לפי ההעדפות שלכם.
- יצירת MIG עם כמה סוגי מכונות והעדפות.
- הסרת ההפעלה הגמישה של מכונות.