מוצרי מכונות וירטואליות (VM) שמוצעים דרך Google Cloud Marketplace הם מכונות וירטואליות מותאמות אישית שאפשר להריץ ב-Compute Engine. לסקירה כללית של המושגים ב-Compute Engine, אפשר לעיין במאמרי העזרה של Compute Engine.
חלק ממוצרי המכונות הווירטואליות ב-Google Cloud Marketplace תומכים בפריסה דרך ממשק שורת הפקודה (CLI) באמצעות Terraform, כלי קוד פתוח לאספקת תשתית וניהולה. מידע נוסף על Terraform זמין במאמר תחילת העבודה עם Terraform.
סקירה כללית
בדף הזה מתוארים השלבים לפריסת מוצרי מכונות וירטואליות באמצעות CLI באמצעות Terraform. ברמה גבוהה, אתם:
עוברים לקטע הרלוונטי בדף המוצר ב-Google Cloud Marketplace.
אופציונלי, בוחרים או יוצרים את חשבון השירות שרוצים להשתמש בו לפריסה משורת הפקודה.
אופציונלי: מגדירים התחזות לחשבון שירות.
מורידים את מודול Terraform או את קטע הקוד שמשמשים לפריסת מוצר המכונה הווירטואלית באמצעות ממשק ה-CLI.
משתמשים במודול או בקטע הקוד כדי לפרוס את מוצר ה-VM.
עוברים לכרטיסייה 'פריסה משורת הפקודה'
כדי להתחיל לפרוס מוצר של מכונה וירטואלית באמצעות ה-CLI:
ב-Cloud Marketplace, נכנסים לדף של המוצר של מכונת ה-VM שרוצים לפרוס באמצעות ה-CLI.
לוחצים על הלחצן הפעלה או על פריסה באמצעות CLI כדי לעבור לכרטיסייה פריסה באמצעות שורת פקודה.
(אופציונלי) בוחרים או יוצרים את חשבון השירות
בכרטיסייה Command-line deployment (פריסה משורת הפקודה), אפשר לבחור או ליצור את חשבון השירות שרוצים להשתמש בו לפריסה משורת הפקודה. אם לא בחרתם או יצרתם חשבון שירות בכרטיסייה Command-line deployment כשיצרתם את קטע הקוד, אתם צריכים לערוך באופן ידני את קטע הקוד של Terraform שנוצר כדי להוסיף חשבון שירות לפני שאתם משתמשים בו. מידע נוסף על חשבונות שירות זמין במאמר יצירה וניהול של חשבונות שירות.
אם רוצים לפרוס מוצר של מכונה וירטואלית מ-Cloud Marketplace באמצעות ה-CLI, לחשבון השירות שבו משתמשים צריכה להיות הרשאת אדמין של Compute (roles/compute.admin) בניהול הזהויות והרשאות הגישה (IAM).
אם יוצרים חשבון שירות חדש מהכרטיסייה Command-line deployment (פריסה משורת הפקודה), Google Cloud Marketplace מקצה אוטומטית את התפקיד הזה לחשבון השירות החדש. אם בוחרים חשבון שירות קיים מהכרטיסייה Command-line deployment, צריך לוודא שלחשבון השירות יש את התפקיד הזה.
כדי לבחור או ליצור את חשבון השירות:
בכרטיסייה Command-line deployment (פריסה משורת הפקודה) בדף של מוצר מכונת ה-VM ב-Google Cloud Marketplace, בקטע Configure a service account (optional) (הגדרת חשבון שירות (אופציונלי)), לוחצים על הלחצן Configure (הגדרה).
בקטע חשבון שירות שמבקש הרשאות, אפשר ללחוץ על בחירת חשבון שירות קיים או על יצירת חשבון שירות חדש.
בחירה של חשבון שירות קיים
כדי לבחור חשבון שירות קיים:
בקטע Select a service account (בחירת חשבון שירות), בוחרים את חשבון השירות שרוצים להשתמש בו. הרשימה מכילה את כל חשבונות השירות הקיימים שלכם עם התפקיד 'אדמין Compute' (
roles/compute.admin).אם לאף אחד מחשבונות השירות הקיימים שלכם אין את התפקיד 'אדמין Compute' (
roles/compute.admin), הרשימה תהיה ריקה. אם הרשימה ריקה, אפשר להקצות את התפקיד הזה לאחד מחשבונות השירות הקיימים ואז לחזור לכרטיסייה הזו, או ליצור חשבון שירות חדש.לוחצים על הלחצן שליחה.
יצירת חשבון שירות חדש
כדי ליצור חשבון שירות חדש:
בוחרים שם לחשבון השירות ומוסיפים אותו בשדה Service account name.
בוחרים מזהה לחשבון השירות ומוסיפים אותו בשדה Service account ID.
מוסיפים תיאור לחשבון השירות בשדה Service account description.
לוחצים על הלחצן יצירת חשבון שירות.
אחרי שיוצרים את חשבון השירות, אפשר להמשיך לנהל את בקרת הגישה של חשבון השירות באמצעות IAM.
(אופציונלי) הגדרת התחזות לחשבון שירות
מומלץ להשתמש בהתחזות לחשבון שירות כדי לנהל את הגישה לפריסה משורת הפקודה. אם משתמשים בהתחזות, במקום ליצור מפתחות לחשבונות שירות שכל אחד יכול להשתמש בהם כדי לגשת לפריסה, מנהלים את הגישה על ידי הענקה או ביטול של תפקיד ה-IAM 'יצירת אסימונים בחשבון שירות' (roles/iam.serviceAccountTokenCreator) לחשבונות משתמשים ספציפיים.
במאמר ניהול הגישה לחשבונות שירות מוסבר איך מקצים תפקידים לחשבונות שירות ואיך מבטלים את ההקצאה שלהם. מידע נוסף על התחזות לחשבון שירות זמין במאמר התחזות לחשבון שירות.
הגדרת סביבת gcloud ל-Terraform
בכרטיסייה Command-line deployment (פריסה משורת הפקודה), בקטע Configure gcloud (הגדרת gcloud), מוצגת סדרה של פקודות. כדי להגדיר את סביבת gcloud ל-Terraform, אפשר להעתיק ולהריץ את הפקודות שמופיעות.
הורדת מודול Terraform
משתמשים במודול Terraform שכלול או בקטע קוד שנוצר כדי לפרוס מוצר של מכונה וירטואלית דרך ה-CLI, בהתאם לאופן שבו מוצר המכונה הווירטואלית מוגדר. כדי לבדוק אם אתם משתמשים במודול כלול או בקטע קוד שנוצר כדי לפרוס מוצר של מכונה וירטואלית, אתם יכולים לעבור לכרטיסייה Command-line deployment (פריסה משורת הפקודה) בדף המוצר ב-Cloud Marketplace. אם משתמשים במודול כלול כדי לפרוס את המוצר, מופיע לחצן הורדה. אם אתם משתמשים בקטע קוד שנוצר כדי להטמיע את המוצר, יופיע לחצן יצירת קוד.
כדי להוריד את המודול הכלול או את קטע הקוד שנוצר, פועלים לפי השלבים הבאים:
מודול Terraform כלול
בכרטיסייה Command-line deployment (פריסה משורת הפקודה) בדף המוצר של מכונת ה-VM ב-Cloud Marketplace, לוחצים על הלחצן Download (הורדה). הפעולה הזו תוריד קובץ ZIP שמכיל את מודול Terraform שבו אתם משתמשים.
מחלצים את מודול Terraform מקובץ ה-ZIP שהורדתם.
קטע קוד שנוצר
בכרטיסייה Command-line deployment (פריסה משורת הפקודה) בדף המוצר של מכונת ה-VM ב-Cloud Marketplace, לוחצים על הלחצן Generate code (יצירת קוד). הפעולה הזו יוצרת קטע קוד שאפשר להעתיק ולהשתמש בו עם Terraform כדי לפרוס מכונה וירטואלית באמצעות Terraform.
כדי להעתיק את קטע הקוד שנוצר, לוחצים על העתקה ללוח.
שימוש במודול הכלול או בקטע הקוד שנוצר כדי לפרוס את מוצר ה-VM
כדי להשתמש במודול הכלול או בקטע הקוד שנוצר כדי לפרוס את מוצר ה-VM באמצעות ה-CLI, פועלים לפי השלבים הבאים:
מודול Terraform כלול
במודול Terraform שהורדתם, מאתרים את הקובץ
README.md.פועלים לפי ההוראות הספציפיות למוצר בקובץ
README.md.אם נתקלתם בבעיות במהלך ההטמעה של המודול לפי ההוראות הספציפיות למוצר, אתם יכולים לנסות להריץ את הפקודות הבאות כדי לפרוס את המודול:
terraform initterraform apply
קטע קוד שנוצר
מוודאים שקטע הקוד שנוצר כולל את חשבון השירות שבו רוצים להשתמש. אם הגדרתם חשבון שירות לפריסה משורת הפקודה, פרטי חשבון השירות הזה ייכללו בקטע הקוד שנוצר. אם לא הגדרתם חשבון שירות, אתם צריכים לערוך את קטע הקוד שנוצר כדי לציין את חשבון השירות שבו אתם רוצים להשתמש.
יוצרים קובץ חדש בשם
main.tfבמחשב שבו התקנתם את Terraform.מדביקים את קטע הקוד שנוצר, עם כל השינויים שביצעתם בו, בקובץ
main.tfשיצרתם.מריצים את הפקודות הבאות:
terraform initterraform apply
השלבים הבאים
מידע על ניהול פריסות של מוצרי מכונות וירטואליות באמצעות CLI זמין במאמר ניהול פריסות של מוצרי מכונות וירטואליות באמצעות CLI.