קובץ תצורה של מאגר פרטי מכיל הוראות ל-Cloud Build ליצירת מאגר פרטי על סמך המפרט שלכם. קובץ ההגדרות של מאגר פרטי מכיל מידע כמו גודל הדיסק וסוג המכונה שרוצים להשתמש בהם במאגר הפרטי. קובץ ההגדרות של המאגר הפרטי נדרש כשיוצרים ומנהלים מאגרים פרטיים באמצעות הכלי gcloud או Cloud Build API.
המבנה של קובץ ההגדרות של מאגר פרטי
אפשר לכתוב את קובץ ההגדרות של המאגר הפרטי באמצעות תחביר YAML או JSON. כדי ליצור ולנהל מאגרי כתובות פרטיים באמצעות curl, צריך לכתוב את קובץ ההגדרות של מאגר הכתובות הפרטי בפורמט JSON. כדי ליצור ולנהל מאגרי כתובות פרטיים באמצעות הכלי gcloud, צריך לכתוב את קובץ ההגדרות של מאגר הכתובות הפרטי בפורמט YAML או JSON.
קובץ תצורה של מאגר פרטי בנוי כך:
YAML
privatePoolV1Config:
networkConfig:
egressOption: NO_PUBLIC_EGRESS
peeredNetwork: PEERED_NETWORK,
peeredNetworkIpRange: PEERED_NETWORK_IP_RANGE
workerConfig:
diskSizeGb: PRIVATE_POOL_DISK_SIZE,
machineType: PRIVATE_POOL_MACHINE_TYPE,
workerRelease: CHANNEL_OR_VERSION
JSON
{
"privatePoolV1Config": {
"networkConfig": {
"egressOption": "NO_PUBLIC_EGRESS",
"peeredNetwork": "PEERED_NETWORK",
"peeredNetworkIpRange": "PEERED_NETWORK_IP_RANGE"
},
"workerConfig": {
"diskSizeGb": "PRIVATE_POOL_DISK_SIZE",
"machineType": "PRIVATE_POOL_MACHINE_TYPE",
"workerRelease": "CHANNEL_OR_VERSION"
}
}
}
ההסבר על השדות בקובץ ההגדרות של המאגר הפרטי:
networkConfig
זהו שדה אופציונלי. מציינים את networkConfig רק אם מבצעים קישור בין רשת ה-VPC לרשת של בעלים של שירות מנוהל.
egressOption
זהו שדה אופציונלי. אם אתם יוצרים את המאגר הפרטי שלכם בתוך היקף של VPC Service Controls, צריך להגדיר את הערך של השדה הזה ל-NO_PUBLIC_EGRESS. אם לא כוללים את השדה הזה בקובץ התצורה של המאגר הפרטי, מופעלת תעבורת נתונים יוצאת (egress) ציבורית.
מידע על הגדרת VPC Service Controls למאגרי כתובות פרטיים זמין במאמר בנושא שימוש ב-VPC Service Controls.
peeredNetwork
זהו שדה חובה אם קובץ ההגדרות של המאגר הפרטי מכיל את השדה networkConfig. מגדירים את הערך של השדה הזה לכתובת ה-URL של משאב הרשת של רשת ה-VPC שמקושרת לרשת של ספק השירות. כתובת ה-URL של משאב הרשת צריכה להיות בפורמט projects/NETWORK_PROJECT_ID/global/networks/NETWORK_NAME, כאשר NETWORK_PROJECT_ID הוא מזהה הפרויקט של פרויקט Google Cloud שמכיל את רשת ה-VPC, ו-NETWORK_NAME הוא השם של רשת ה-VPC.
אם לא מציינים ערך, Cloud Build משתמש כברירת מחדל ברשת של יצרן השירות.
peeredNetworkIpRange
זהו שדה אופציונלי. מגדירים את הערך של השדה הזה כדי לציין את טווח כתובות ה-IP הפנימיות שאפשר להקצות למכונות וירטואליות בטווח המוקצה של הרשת המקבילה. אם אי אפשר להקצות את טווח כתובות ה-IP שצוין בטווח של החיבור הפרטי, למשל בגלל מגבלות גודל או כתובת IP התחלתית לא תקינה, אי אפשר ליצור את המאגר הפרטי.
peeredNetworkIpRange מצוין באמצעות סימון Classless Inter-Domain Routing (CIDR) בפורמט 'STARTING_IP/SUBNET_PREFIX_SIZE'.
אם משתמשים בשדה הזה, חובה לציין את SUBNET_PREFIX_SIZE.
המספר SUBNET_PREFIX_SIZE קובע את הגודל של טווח כתובות ה-IP. הוא חייב להתחיל בקו נטוי (/) והערך שלו צריך להיות קטן מ-29 או שווה לו.החלק STARTING_IP הוא אופציונלי ומציין את כתובת ההתחלה של הטווח. אם לא מציינים את
STARTING_IP, מוקצה אוטומטית כתובת התחלה מתוך טווח החיבור הפרטי. אם לא מציינים ערך ל-peeredNetworkIpRange, נעשה שימוש בערך ברירת המחדל /24, שמקצה באופן אוטומטי כתובת IP התחלתית עם טווח של 256 כתובות IP.
הערך של SUBNET_PREFIX_SIZE לא יכול להיות גדול מ-29. מספר גדול יותר מציין קידומת גדולה יותר של רשת משנה, כך שיהיו פחות כתובות IP אפשריות וטווח כתובות ה-IP יהיה קטן יותר. כתובת IP היא 32 ביט, ולכן גודל הקידומת /24 מאפשר 256 כתובות IP אפשריות בטווח (שמונה ביט), בעוד שגודל הקידומת /29 מאפשר שמונה כתובות IP אפשריות (שלושה ביט). מספר המכונות הווירטואליות המקסימלי של ה-Builder מוגבל למספר כתובות ה-IP שניתן להשתמש בהן בטווח (המספר הכולל האפשרי של כתובות ה-IP בטווח פחות שתיים).
דוגמאות לשדה peeredNetworkIpRange:
-
192.168.0.0/24מציין טווח כתובות IP שמתחיל ב-192.168.0.0 עם גודל קידומת של רשת משנה של 24 (256 כתובות IP, מתוכן 254 כתובות IP שניתנות לשימוש). -
/29מציין טווח עם כתובת IP התחלתית שנקבעת באופן אוטומטי וגודל קידומת של תת-רשת של 29 (שמונה כתובות IP, עם שש כתובות IP שניתן להשתמש בהן).
workerConfig
זהו שדה חובה. הוא מכיל אפשרויות הגדרה למאגר הפרטי שלכם.
diskSizeGb
זהו שדה אופציונלי. בשדה הזה מציינים את גודל הדיסק של מופע המאגר הפרטי ב-GB. מציינים ערך שגדול מ-100 או שווה לו, וקטן מ-4,000 או שווה לו. אם לא כוללים את השדה הזה בקובץ ההגדרות של המאגר הפרטי, או אם מציינים את הערך 0 בשדה הזה, Cloud Build משתמש בערך ברירת המחדל 100.
machineType
זהו שדה אופציונלי. בשדה הזה מציינים את סוג המכונה של Compute Engine עבור המכונה במאגר הפרטי. אם לא מציינים ערך, Cloud Build משתמש בערך ברירת המחדל e2-medium. אחרת, מציינים אחד מסוגי המכונות הבאים:
סוגי מכונות
e2 |
n2d |
c3 |
|
|---|---|---|---|
| e2-medium | n2d-standard-2 | c3-standard-4 | |
| e2-standard-2 | n2d-standard-4 | c3-standard-8 | |
| e2-standard-4 | n2d-standard-8 | c3-standard-22 | |
| e2-standard-8 | n2d-standard-16 | c3-standard-44 | |
| e2-standard-16 | n2d-standard-32 | c3-standard-88 | |
| e2-standard-32 | n2d-standard-48 | c3-standard-176 | |
| e2-highmem-2 | n2d-standard-64 | c3-highcpu-4 | |
| e2-highmem-4 | n2d-standard-80 | c3-highcpu-8 | |
| e2-highmem-8 | n2d-standard-96 | c3-highcpu-22 | |
| e2-highmem-16 | n2d-standard-128 | c3-highcpu-44 | |
| e2-highcpu-2 | n2d-standard-224 | c3-highcpu-88 | |
| e2-highcpu-4 | n2d-highmem-2 | c3-highcpu-176 | |
| e2-highcpu-8 | n2d-highmem-4 | c3-highmem-4 | |
| e2-highcpu-16 | n2d-highmem-8 | c3-highmem-8 | |
| e2-highcpu-32 | n2d-highmem-16 | c3-highmem-22 | |
| n2d-highmem-32 | c3-highmem-44 | ||
| n2d-highmem-48 | c3-highmem-88 | ||
| n2d-highmem-64 | c3-highmem-176 | ||
| n2d-highmem-80 | |||
| n2d-highmem-96 | |||
| n2d-highcpu-2 | |||
| n2d-highcpu-4 | |||
| n2d-highcpu-8 | |||
| n2d-highcpu-16 | |||
| n2d-highcpu-32 | |||
| n2d-highcpu-48 | |||
| n2d-highcpu-64 | |||
| n2d-highcpu-80 | |||
| n2d-highcpu-96 | |||
| n2d-highcpu-128 | |||
| n2d-highcpu-224 |
בטבלה הבאה מוצגת הזמינות של סוגי מכונות לפי אזור:
זמינות של סוגי מכונות לפי אזור
c3-standard-* |
c3-highcpu-* |
c3-highmem-* |
e2-* |
n2d-* |
|---|---|---|---|---|
| asia-northeast1 | asia-southeast1 | asia-southeast1 | africa-south1 | africa-south1 |
| asia-southeast1 | europe-west1 | europe-west1 | asia-east1 | asia-east1 |
| australia-southeast1 | europe-west3 | europe-west2 | asia-east2 | asia-east2 |
| europe-west1 | europe-west4 | europe-west3 | asia-northeast1 | asia-northeast1 |
| europe-west2 | me-central2 | europe-west4 | asia-northeast2 | asia-northeast2 |
| europe-west3 | us-central1 | us-central1 | asia-northeast3 | asia-northeast3 |
| europe-west4 | us-east1 | us-east1 | asia-south1 | asia-south1 |
| europe-west9 | us-east4 | us-east4 | asia-south2 | asia-south2 |
| me-central2 | us-east5 | us-east5 | asia-southeast1 | asia-southeast1 |
| me-west1 | us-west2 | us-west1 | asia-southeast2 | asia-southeast2 |
| northamerica-northeast1 | us-west3 | us-west2 | australia-southeast1 | australia-southeast1 |
| southamerica-east1 | us-west4 | australia-southeast2 | australia-southeast2 | |
| us-central1 | europe-central2 | europe-central2 | ||
| us-east1 | europe-north1 | europe-north1 | ||
| us-east4 | europe-north2 | europe-southwest1 | ||
| us-east5 | europe-southwest1 | europe-west1 | ||
| us-west1 | europe-west1 | europe-west10 | ||
| us-west2 | europe-west2 | europe-west12 | ||
| us-west3 | europe-west3 | europe-west2 | ||
| us-west4 | europe-west4 | europe-west3 | ||
| europe-west6 | europe-west4 | |||
| europe-west8 | europe-west6 | |||
| europe-west9 | europe-west8 | |||
| europe-west10 | europe-west9 | |||
| europe-west12 | me-central1 | |||
| me-central1 | me-central2 | |||
| me-central2 | me-west1 | |||
| me-west1 | northamerica-northeast1 | |||
| northamerica-northeast1 | northamerica-northeast2 | |||
| northamerica-northeast2 | southamerica-east1 | |||
| northamerica-south1 | southamerica-west1 | |||
| southamerica-east1 | us-central1 | |||
| southamerica-west1 | us-east1 | |||
| us-central1 | us-east4 | |||
| us-east1 | us-east5 | |||
| us-east4 | us-south1 | |||
| us-east5 | us-west1 | |||
| us-south1 | us-west2 | |||
| us-west1 | us-west3 | |||
| us-west2 | us-west4 | |||
| us-west3 | ||||
| us-west4 |
enableNestedVirtualization
זהו שדה אופציונלי. אם במאגר הפרטי שלכם נעשה שימוש במכונה וירטואלית עם סוג מכונה C3, תוכלו להפעיל וירטואליזציה מקוננת כדי להריץ מופעים אחרים של מכונות וירטואליות בתוך המכונה הווירטואלית של המאגר הפרטי. מידע נוסף זמין במאמר בנושא וירטואליזציה מקוננת.
workerRelease
זהו שדה אופציונלי שמכיל את שם הערוץ או גרסת הפצה ספציפית לשימוש בכל הבנייה באמצעות מאגר העובדים הזה.