בדף הזה מוסבר איך ליצור, לעדכן, להציג ולמחוק מאגרים פרטיים של Cloud Build. אם אתם לא מכירים בריכות פרטיות, כדאי לקרוא את הסקירה הכללית על בריכות פרטיות.
לפני שמתחילים
יוצרים פרויקט חדש Google Cloud או בוחרים פרויקט קיים. תשתמשו בפרויקט הזה כדי ליצור את המאגר הפרטי.
-
מפעילים את Cloud Build API.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, נדרשת ההרשאה
serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק 'שימוש בשירות'' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים כדי להשתמש בדוגמאות של שורת הפקודה במדריך הזה, צריך להתקין ולהגדיר את Google Cloud CLI.
אופציונלי: כדי שהגרסאות יקבלו גישה למשאבים פרטיים מהרשת של הענן הווירטואלי הפרטי (VPC), צריך להגדיר חיבור בין רשתות שכנות בין הרשת של הענן הווירטואלי הפרטי לבין הרשת של הענן הווירטואלי הפרטי שבה נמצאים המאגרים הפרטיים. הוראות מפורטות מופיעות במאמר הגדרת הסביבה ליצירת מאגרי כתובות פרטיים.
אופציונלי: כדאי לעיין בהגדרות של סוגי המכונות ובזמינות האזורית. מידע נוסף זמין במאמר בנושא
workerconfigבסכימת קובץ ההגדרות של מאגר פרטי.
יצירת מאגר פרטי
כדי לוודא שלחשבון השירות יש את ההרשאות שנדרשות ליצירת מאגר פרטי, צריך לבקש מהאדמין להקצות לחשבון השירות את תפקיד ה-IAM בעלים של WorkerPool ב-Cloud Build (roles/cloudbuild.workerPoolOwner).
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שהאדמין גם יוכל לתת את ההרשאות שנדרשות באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
אפשר ליצור עד 10 מאגרי כתובות פרטיים לכל Google Cloud פרויקט לכל אזור. כדי ליצור מאגר פרטי:
מסוף Google Cloud
פותחים את הדף Worker Pool במסוף Google Cloud :
לוחצים על יצירת מאגר פרטי.
מוצג הדף Create private pool.
מזינים את הפרטים הבאים כדי ליצור מאגר פרטי:
שם: מזינים שם למאגר הפרטי. הערך הזה יכול להכיל רק תווים אלפאנומריים
/[a-z][0-9]/או מקפים-. שם המאגר הפרטי צריך לכלול בין 1 ל-63 תווים.אזור: בוחרים את האזור שבו רוצים ליצור את המאגר הפרטי.
Machine configuration: מגדירים את האפשרויות הבאות:
סדרות: בוחרים סדרת מכונות.
Machine type: ההגדרה הזו מציגה את סוגי המכונות, על סמך סדרת המכונות שבחרתם, שמאגר העובדים יכול להשתמש בהם. סוגי המכונות הזמינים משתנים בהתאם לאזור.
גודל הדיסק: מזינים את גודל הדיסק של המאגר הפרטי. מציינים ערך שגדול מ-100 או שווה לו, וקטן מ-4,000 או שווה לו. אם לא מציינים ערך, Cloud Build משתמש בגודל דיסק של 100.
וירטואליזציה מקוננת: אם בחרתם במכונה מסדרת C3, תוכלו להפעיל וירטואליזציה מקוננת. התכונה הזו מאפשרת להריץ מופעים של מכונות וירטואליות (VM) בתוך מכונות וירטואליות אחרות, כדי ליצור סביבות וירטואליזציה משלכם.
בקטע סוג הרשת, בוחרים באחת מהאפשרויות הבאות:
רשת ברירת מחדל: בוחרים באפשרות הזו אם אפשר לגשת למופע דרך האינטרנט הציבורי. כשבוחרים באפשרות רשת ברירת מחדל, המאגר הפרטי משתמש ברשת של ספק השירות. מידע נוסף זמין במאמר בנושא הגדרת סביבה לשימוש במאגרי IP פרטיים ברשת VPC.
רשת פרטית: בוחרים באפשרות הזו אם המופע מתארח ברשת פרטית, ואז מבצעים את הפעולות הבאות:
Project: בוחרים את מזהה הפרויקט ב- Google Cloud .
רשת: בוחרים את הרשת מהתפריט הנפתח. אם לא יצרתם רשת, במאמר יצירה וניהול של רשתות VPC מוסבר איך ליצור רשת.
טווח כתובות IP: מזינים את טווח כתובות ה-IP הפנימיות שרשת היצרן של Cloud Build יכולה להקצות למכונות וירטואליות שמנהלות חיבור למאגרים פרטיים.
אפשר לציין את הטווח באמצעות סימון ניתוב Classless Inter-Domain Routing (CIDR) בפורמט
STARTING_IP_ADDRESS/SUBNET_PREFIX_SIZE. לדוגמה, ל-192.0.2.0/24יש אורך קידומת של 24. 24 הביטים הראשונים של טווח כתובות ה-IP משמשים כמסכה של רשת משנה (192.0.2.0), וטווח כתובות המארחים האפשריות הוא מ-192.0.2.0עד192.0.2.255.הערך של אורך הקידומת לא יכול להיות גדול מ-
/29. אם לא מציינים ערך לטווח, מוקצה אוטומטית ערך ברירת מחדל של/24. אם לא מציינים ערך לאורך הקידומת, כתובות ה-IP מוקצות באופן אוטומטי ברשת ה-VPC המקושרת. אם לא מציינים ערך לכתובת ה-IP, המערכת מקצה לכתובת ה-IP באופן אוטומטי טווח ברשת ה-VPC המקושרת.
הקצאת כתובות IP חיצוניות: האפשרות הזו מסומנת כברירת מחדל כדי לאפשר למאגרים פרטיים לגשת לאינטרנט הציבורי. כדי להגביל את הגישה לרשת הפרטית, צריך לבטל את הסימון של התיבה הזו.
לוחצים על יצירה כדי ליצור את המאגר הפרטי.
gcloud
יש שתי אפשרויות ליצירת מאגר פרטי חדש באמצעות gcloud: אפשר להעביר את קובץ ההגדרות של המאגר הפרטי לפקודה gcloud, או להעביר את אפשרויות ההגדרה ישירות לפקודה gcloud.
מעבירים את קובץ ההגדרות של המאגר הפרטי לפקודה gcloud:
יוצרים את קובץ ההגדרות של המאגר הפרטי בפורמט YAML או JSON.
מריצים את הפקודה הבאה
gcloud, כאשרPRIVATEPOOL_IDהוא מזהה ייחודי של המאגר הפרטי,PRIVATEPOOL_CONFIG_FILEהוא השם של קובץ ההגדרות של המאגר הפרטי ו-REGIONהוא האזור שבו רוצים ליצור את המאגר הפרטי:gcloud builds worker-pools create PRIVATEPOOL_ID --config-from-file PRIVATEPOOL_CONFIG_FILE --region REGIONהפלט אמור להיראות כך:
Created [https://cloudbuild.googleapis.com/v1/projects/gcb-docs-project/locations/us-central1/workerPools/private-pool]. NAME CREATE_TIME STATUS private-pool 2018-11-19T16:08:24+00:00 RUNNING
העברת אפשרויות ההגדרה ישירות לפקודה gcloud:
מריצים את הפקודה הבאה gcloud:
gcloud builds worker-pools create PRIVATEPOOL_ID \
--project=PRIVATEPOOL_PROJECT_ID \
--region=REGION \
--peered-network=PEERED_NETWORK \
--worker-machine-type=PRIVATEPOOL_MACHINE_TYPE \
--worker-disk-size=PRIVATEPOOL_DISK_SIZE_GB \
--no-public-egress
כאשר:
-
PRIVATEPOOL_ID: מזהה ייחודי של המאגר הפרטי. הערך צריך להיות באורך של 1-63 תווים, והתווים התקפים הם[a-zA-Z0-9_-]+. -
PRIVATEPOOL_PROJECT_ID: המזהה של Google Cloud הפרויקט שבו רוצים ליצור את המאגר הפרטי. -
REGION: אחד מהאזורים הנתמכים. -
PEERED_NETWORK: כתובת ה-URL של משאב הרשת של הרשת שמקושרת לרשת של בעלים של שירות מנוהל. הפורמט שלPEERED_NETWORKהואprojects/NETWORK_PROJECT_ID/global/networks/NETWORK_NAME, כאשרNETWORK_PROJECT_IDהוא מזהה הפרויקט של פרויקט Google Cloud שמכיל את רשת ה-VPC, ו-NETWORK_NAMEהוא השם של רשת ה-VPC. אם לא מציינים ערך, Cloud Build משתמש ברשת של ספק השירות. -
PRIVATEPOOL_DISK_SIZE_GB: גודל הדיסק שמצורף למאגר הפרטי. מציינים ערך שגדול מ-100 או שווה לו, וקטן מ-4,000 או שווה לו. אם לא מציינים גודל דיסק, Cloud Build משתמש בגודל דיסק של 100. הערך של--worker-disk-sizeמוחלף אם מציינים גודל דיסק שונה באמצעות--disk-sizeבמהלךgcloud builds submit. -
PRIVATEPOOL_MACHINE_TYPE: סוג המכונה של העובד. אם לא מציינים ערך, Cloud Build משתמש בערך ברירת המחדלe2-standard-2. רשימה של סוגי מכונות נתמכים מופיעה במאמר בנושא סכימת קובץ ההגדרות של מאגר פרטי. ההגדרה--worker-machine-typeמבוטלת אם מציינים סוג מכונה אחר באמצעות--machine-typeבמהלךgcloud builds submit. -
--no-public-egress: אם הדגל הזה מוגדר, המאגר הפרטי נוצר ללא כתובת IP חיצונית. מגדירים את הדגל הזה אם יוצרים את המאגר הפרטי בתוך גבולות גזרה של VPC Service Controls.
API
יוצרים קובץ תצורה של המאגר הפרטי בשם
workerpool.json.משתמשים ב-cURL כדי לשלוח קריאה ל-Cloud Build API:
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" \ https://cloudbuild.googleapis.com/v1/projects/PRIVATEPOOL_PROJECT_ID/locations/REGION/workerPools/?workerPoolId=PRIVATEPOOL_ID -d @workerpool.jsonכאשר:
-
PRIVATEPOOL_PROJECT_ID: המזהה של Google Cloud הפרויקט שבו רוצים ליצור את המאגר הפרטי. -
PRIVATEPOOL_ID: המזהה של המאגר הפרטי. הערך הזה צריך להיות באורך של 1-63 תווים, והתווים התקפים הם[a-zA-Z0-9_-]+. -
REGION: אחד מהאזורים הנתמכים ליצירת המאגר הפרטי.
-
יצירת מאגר פרטי בתוך service perimeter של VPC Service Controls
כדי ליצור מאגר פרטי עם גבול גזרה לשירות של VPC Service Controls, אפשר לעיין במאמר בנושא שימוש ב-VPC Service Controls.
עדכון מאגר פרטי
כדי לוודא של- יש את ההרשאות שנדרשות ליצירת מאגר פרטי, צריך לבקש מהאדמין להקצות ל- את תפקיד ה-IAM עריכה של מאגר עובדים ב-Cloud Build (roles/cloudbuild.workerPoolEditor) בחשבון השירות.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שהאדמין גם יוכל לתת את ההרשאות שנדרשות באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
כדי לעדכן את התצורה של מאגר פרטי:
המסוף
פותחים את הדף Worker pool במסוף Google Cloud :
בוחרים את הפרויקט שבו יצרתם את המאגר הפרטי.
לוחצים על השם של המאגר הפרטי.
בדף Edit private pool, מעדכנים את סוג המכונה ואת גודל הדיסק לפי הצורך.
לוחצים על Save.
gcloud
על ידי עדכון קובץ ההגדרות של המאגר הפרטי:
מעדכנים את השדה שרוצים לשנות בקובץ ההגדרות של מאגר כתובות ה-IP הפרטי.
מריצים את הפקודה הבאה, כאשר
PRIVATEPOOL_IDהוא המזהה הייחודי של המאגר הפרטי,REGIONהוא האזור שבו המאגר הפרטי ממוקם ו-PRIVATEPOOL_CONFIG_FILEהוא השם של קובץ התצורה של המאגר הפרטי:gcloud builds worker-pools update PRIVATEPOOL_ID \ --region=REGION \ --config-from-file=PRIVATEPOOL_CONFIG_FILE
על ידי העברת הערך לעדכון ישירות לפקודה gcloud builds
worker-pools update:
gcloud builds worker-pools update PRIVATEPOOL_ID \
--region=REGION \
--worker-disk-size=PRIVATEPOOL_DISK_SIZE \
--worker-machine-type=PRIVATEPOOL_MACHINE_TYPE
כאשר:
-
PRIVATEPOOL_ID: המזהה של המאגר הפרטי הקיים. אי אפשר לעדכן את הערך הזה. צריך לציין מזהה של מאגר פרטי קיים. -
REGION: האזור שבו יצרתם את המאגר הפרטי. -
PRIVATEPOOL_DISK_SIZE: גודל הדיסק המעודכן. -
PRIVATEPOOL_MACHINE_TYPEהוא סוג המכונה המעודכן.
API
בקובץ ההגדרות של המאגר הפרטי, מעדכנים את גודל הדיסק ואת סוג המכונה לפי הצורך.
משתמשים ב-cURL כדי לקרוא ל-Cloud Build API, ומחליפים את המשתנים בערכים המתאימים:
curl -X PATCH -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://cloudbuild.googleapis.com/v1/projects/PRIVATEPOOL_PROJECT_ID/locations/REGION/workerPools/PRIVATEPOOL_ID \ -d @workerpool.jsonכאשר:
-
PRIVATEPOOL_ID: המזהה של המאגר הפרטי. -
PRIVATEPOOL_PROJECT_ID: המזהה של Google Cloud הפרויקט שמכיל את המאגר הפרטי. -
REGION: האזור שבו יצרתם את המאגר הפרטי.
-
הצגת הפרטים של המאגר הפרטי
כדי לוודא של- יש את ההרשאות שנדרשות ליצירת מאגר פרטי, צריך לבקש מהאדמין לתת ל- את תפקיד ה-IAM Cloud Build WorkerPool Viewer (roles/cloudbuild.workerPoolViewer) בחשבון השירות.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שהאדמין גם יוכל לתת את ההרשאות שנדרשות באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
כדי לראות את הפרטים של מאגר פרטי:
המסוף
פותחים את הדף Worker pool במסוף Google Cloud :
בוחרים את הפרויקט שבו יצרתם את המאגר הפרטי.
לוחצים על השם של המאגר הפרטי.
מוצג הדף עריכת בריכה פרטית.
gcloud
אם אתם לא יודעים מה המזהה של המאגר הפרטי, מריצים את הפקודה הבאה כדי לראות את הפרטים של המאגר הפרטי:
gcloud builds worker-pools list --region=REGION --project=PRIVATEPOOL_PROJECT_ID
כאשר:
-
PRIVATEPOOL_PROJECT_IDהוא המזהה שלGoogle Cloud הפרויקט שמכיל את המאגר הפרטי. -
REGIONהוא האזור של הבריכה הפרטית.
הפלט אמור להיראות כך:
NAME CREATE_TIME STATUS
projects/[PRIVATEPOOL_PROJECT_ID]/locations/us-central1/workerPools/[PRIVATEPOOL_ID] 2018-11-19T16:08:24+00:00 RUNNING
אם אתם יודעים את המזהה של המאגר הפרטי, מריצים את הפקודה הבאה כדי לקבל מידע נוסף על המאגר הפרטי:
gcloud builds worker-pools describe PRIVATEPOOL_ID \
--region=REGION \
--project=PRIVATEPOOL_PROJECT_ID
כאשר:
-
PRIVATEPOOL_ID: המזהה של המאגר הפרטי. -
REGION: האזור שבו יצרתם את המאגר הפרטי. -
PRIVATEPOOL_PROJECT_ID: המזהה של Google Cloud הפרויקט שמכיל את המאגר הפרטי.
API
אם אתם לא יודעים את המזהה של המאגר הפרטי, מריצים את פקודת cURL הבאה כדי לראות את הפרטים של המאגר הפרטי, כאשר PRIVATEPOOL_PROJECT_ID הוא המזהה של הפרויקט Google Cloud שמכיל את המאגר הפרטי:
curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://cloudbuild.googleapis.com/v1/projects/PRIVATEPOOL_PROJECT_ID/locations/REGION/workerPools
אם אתם יודעים את המזהה של המאגר הפרטי, מריצים את פקודת curl הבאה כדי לקבל את הפרטים של המאגר הפרטי:
curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://cloudbuild.googleapis.com/v1/projects/PRIVATEPOOL_PROJECT_ID/locations/REGION/workerPools/PRIVATEPOOL_ID
כאשר:
-
PRIVATEPOOL_ID: המזהה של המאגר הפרטי. -
PRIVATEPOOL_PROJECT_ID: המזהה של Google Cloud הפרויקט שמכיל את המאגר הפרטי. -
REGION: האזור שבו יצרתם את המאגר הפרטי.
צפייה באומדני מחירים של בריכות פרטיות
כשיוצרים מאגר פרטי או מעדכנים אותו, בסרגל הצד Monthly estimate בדפים Create private pool ו-Edit private pool מוצגת הערכה של העלות החודשית של הפעלת המאגר. החישוב מבוסס על הגורמים הבאים:
- מספר המעבדים הווירטואליים
- סוג המכונה
- זיכרון
- דקות של תהליך build
- אזור, רק למכונות N2D ו-C3
התמחור המשוער לא כולל עלויות של גודל דיסק נוסף מעבר ל-100GB שכלולים כברירת מחדל. המחיר המשוער עשוי להיות שונה מהמחיר הסופי, בהתאם להגדרת הבנייה הסופית, לדקות הבנייה בפועל שנעשה בהן שימוש ולגורמים אחרים. מידע נוסף על התמחור של Cloud Build
מחיקת מאגר פרטי
כדי לוודא שלחשבון השירות יש את ההרשאות שנדרשות ליצירת מאגר פרטי, צריך לבקש מהאדמין להקצות לחשבון השירות את תפקיד ה-IAM בעלים של WorkerPool ב-Cloud Build (roles/cloudbuild.workerPoolOwner).
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שהאדמין גם יוכל לתת את ההרשאות שנדרשות באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
כדי למחוק מאגר פרטי:
המסוף
פותחים את הדף Worker pool במסוף Google Cloud :
בשורת המאגר הפרטי, לוחצים על סמל האשפה.
gcloud
כדי למחוק מאגר פרטי, מריצים את הפקודה gcloud builds worker-pools
delete:
gcloud builds worker-pools delete PRIVATEPOOL_ID \
--region=REGION \
--project=PRIVATEPOOL_PROJECT_ID
כאשר:
-
PRIVATEPOOL_ID: המזהה של המאגר הפרטי. -
PRIVATEPOOL_PROJECT_ID: המזהה של Google Cloud הפרויקט שמכיל את המאגר הפרטי. -
REGION: האזור שבו יצרתם את המאגר הפרטי.
אחרי שמחקתם את המאגר הפרטי, הפלט אמור להיראות כך:
Deleted [https://cloudbuild.googleapis.com/v1/projects/gcb-docs-project/locations/us-central1/workerPools/[PRIVATEPOOL_ID].
API
משתמשים ב-cURL כדי לשלוח קריאה ל-Cloud Build API:
curl -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://cloudbuild.googleapis.com/v1/projects/PRIVATEPOOL_PROJECT_ID/locations/REGION/workerPools/PRIVATEPOOL_ID
כאשר:
-
PRIVATEPOOL_ID: המזהה של המאגר הפרטי. -
PRIVATEPOOL_PROJECT_ID: המזהה של Google Cloud הפרויקט שמכיל את המאגר הפרטי. -
REGION: האזור שבו יצרתם את המאגר הפרטי.