כדי לתמוך בדרישות הרשת הפנימיות של הארגון, יוצרים תת-רשתות נוספות בענן הווירטואלי הפרטי (VPC) הפנימי של הארגון או ב-VPC שמוגדר כברירת מחדל. לדוגמה, הוספת רשתות משנה של VPC כדי לוודא שלעומסי העבודה הפנימיים, כמו מכונות וירטואליות (VM) וקונטיינרים, יש מספיק כתובות IP.
בדף הזה מתוארות כמה משימות, ולא צריך לבצע אותן לפי הסדר:
- יצירת רשת משנה של סניף אזורי לעומסי עבודה: המשימה הזו שימושית כדי לארגן או להקצות לעומסי עבודה את כתובות ה-IP הפנימיות הקיימות באזור.
- יצירת תת-רשת עלה לעומס עבודה ספציפי: המשימה הזו שימושית כשיש לכם עומס עבודה חדש שעדיין אין לו כתובת IP.
- הקצאת רשת משנה אזורית מטווח כתובות IP גלובלי: המשימה הזו שימושית כשבאזור שלכם אין יותר מספיק מקום לכתובות IP פנימיות.
- חלוקת רשת המשנה הגלובלית ברמה הבסיסית (root) בלי הקצאת אזור: המשימה הזו שימושית לארגון נוסף של כתובות ה-IP הפנימיות בשרת ה-API הגלובלי לפני הקצאה שלהן לאזור.
- הוספת רשת משנה גלובלית חדשה של טווח בסיס ברשת: המשימה הזו שימושית כשב-VPC שמוגדר כברירת מחדל אין יותר מספיק מרחב כתובות IP פנימיות גלובליות להקצאה לאזורים שלכם.
לסקירה כללית על רשתות משנה והמושגים שקשורים אליהן, לפני שאתם מבצעים את המשימות שבדף הזה, קראו את המאמר רשתות משנה וכתובות IP.
המסמך הזה מיועד למנהלי פלטפורמות ולמפעילי אפליקציות שאחראים לניהול התנועה ברשת בארגון שלהם. מידע נוסף זמין במאמר קהלי היעד של GDC עם air gap.
לפני שמתחילים
כדי לקבל את ההרשאה שנדרשת ליצירת רשתות משנה, צריך לבקש ממנהל החשבון הארגוני ב-IAM להקצות לכם את התפקיד "אדמין ארגוני של רשתות משנה" (subnet-org-admin) ב-IAM. התפקיד הזה לא קשור למרחב שמות.
יצירת רשת משנה של סניף אזורי לעומסי עבודה
כדי לחלק עוד יותר את כתובות ה-IP ב-VPC המוגדר כברירת מחדל באזור, אתם יכולים ליצור תת-רשת פנימית באזור מתוך תת-רשת הבסיס הקיימת באזור. צריך ליצור את סוג רשת המשנה הזה במרחב השמות platform.
אם אין מספיק כתובות IP זמינות ברשת המשנה הראשית ברמת האזור, הקצו רשת משנה נוספת ברמת האזור מטווח כתובות ה-IP הגלובלי לפני שתמשיכו.
בחלון הטרמינל, יוצרים את רשת המשנה האזורית החדשה בשרת ה-API לניהול:
kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG apply -f - <<EOF apiVersion: ipam.gdc.goog/v1 kind: Subnet metadata: labels: ipam.gdc.goog/vpc: default-vpc name: SUBNET_NAME namespace: platform spec: ipv4Request: prefixLength: CIDR_PREFIX_LENGTH networkSpec: enableGateway: true enableVLANID: false parentReference: name: PARENT_SUBNET_NAME namespace: platform type: Branch EOFמחליפים את מה שכתוב בשדות הבאים:
MANAGEMENT_API_SERVER_KUBECONFIG: הנתיב לקובץ kubeconfig של שרת ה-API לניהול. מידע נוסף זמין במאמר משאבים של שרת API לניהול אזורי.
SUBNET_NAME: השם של תת-הרשת החדשה.
CIDR_PREFIX_LENGTH: אורך הקידומת של רשת המשנה החדשה, למשל27. השדה הזה מקצה באופן דינמי את טווח כתובות ה-IP הזמין הבא בגודל הזה מתת-הרשת ההורה. משתמשים בשדהprefixLengthכשרוצים להגדיר רק את הגודל של תת-הרשת, ולא את טווח כתובות ה-IP הספציפי שלה.כדי להקצות טווח ספציפי של כתובות IP:
- מסירים את השורה
prefixLength: CIDR_PREFIX_LENGTH. - מוסיפים שורה של
cidr: "YOUR_CIDR_BLOCK"במקומה, למשלcidr: "10.0.10.0/27".
השתמשו בשדה
cidrכשאתם פועלים לפי תוכנית IP קפדנית וצריכים להקצות טווח כתובות IP מדויק וצפוי. הטווח הזה חייב להיות רשת משנה תקינה וזמינה בתוך רשת המשנה הראשית.- מסירים את השורה
PARENT_SUBNET_NAME: השם של תת-הרשת ההורה, למשלdefault-vpc-zone0-cidr. תת-הרשת הראשית היא בדרך כלל תת-רשת ברמת האזור ב-VPC שמוגדר כברירת מחדל.
מידע נוסף מופיע במאמרי העזרה של ה-API בנושא המשאב
Subnet.אתם יכולים להמשיך לחלק את רשתות המשנה האזוריות או ליצור רשת משנה מסוג עלה כדי להקצות כתובת IP נפרדת ישירות לעומס עבודה פנימי.
יצירת רשת משנה מסוג עלה לעומס עבודה ספציפי
כדי להקצות כתובת IP אחת לעומס העבודה, צריך ליצור רשת משנה מסוג עלה.
רשת המשנה הזו צריכה לכלול את ערך השדה type: Leaf ולהיות באותו מרחב שמות של הפרויקט כמו המשאב של עומס העבודה, למשל מכונה וירטואלית או קונטיינר.
צריך להגדיר את רשת המשנה של העלה עם ערך prefixLength של 32, כי היא מיועדת להקצות כתובת IP אחת. הערך של parentReference מפנה לרשת משנה שהוקצתה בעבר, כמו רשת המשנה הראשית ברמת האזור שיצרתם בקטע יצירת רשת משנה אזורית לעומסי עבודה.
בחלון הטרמינל, יוצרים את רשת המשנה של העלה בשרת ה-API לניהול:
kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG apply -f - <<EOF apiVersion: ipam.gdc.goog/v1 kind: Subnet metadata: labels: ipam.gdc.goog/vpc: default-vpc name: SUBNET_NAME namespace: PROJECT_NAMESPACE spec: ipv4Request: prefixLength: 32 parentReference: name: PARENT_SUBNET namespace: PARENT_NAMESPACE type: Leaf EOFמחליפים את מה שכתוב בשדות הבאים:
-
MANAGEMENT_API_SERVER_KUBECONFIG: הנתיב לקובץ kubeconfig של שרת ה-API לניהול. למידע נוסף, קראו את המאמר משאבי שרת API לניהול אזורי. -
SUBNET_NAME: השם של תת-הרשת של העלה. -
PROJECT_NAMESPACE: מרחב השמות של הפרויקט שבו נמצאים עומסי העבודה. PARENT_SUBNET: השם של רשת המשנה הראשית שממנה רשת המשנה המשנית הזו תקבל את כתובת ה-IP שלה.-
PARENT_NAMESPACE: מרחב השמותPROJECT_NAMESPACEאוplatform.
-
עכשיו אפשר להשתמש בכתובת ה-IP הפרטית בעומסי העבודה הפנימיים, כמו מכונות וירטואליות ומאגרים. מידע נוסף על הגדרת כתובת ה-IP לעומסי העבודה זמין במאמרים יצירת מכונה וירטואלית עם כתובת IP סטטית או כתובת IP דינמית והגדרת מאזן עומסים פנימי לעומסי עבודה של קונטיינרים.
הקצאת רשת משנה אזורית מטווח כתובות IP גלובליות
אם האזור לא מספק מספיק כתובות IP לעומסי העבודה שלכם מטווח כתובות ה-IP הראשי של רשת המשנה האזורית הקיימת, אתם יכולים להקצות כתובות IP נוספות מהטווח הראשי של כתובות ה-IP הגלובליות.
כדי להקצות רשת משנה אזורית מטווח כתובות ה-IP הגלובלי, מבצעים את השלבים הבאים ברשת ה-VPC שמוגדרת כברירת מחדל במרחב השמות platform:
בחלון הטרמינל, מתארים את כל רשתות המשנה הבסיסיות של רשת ה-VPC שמוגדרת כברירת מחדל, ובודקים את בלוקי ה-CIDR הזמינים שלהן:
kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG describe subnets --namespace platform \ -l ipam.gdc.goog/vpc=default-vpc,ipam.gdc.goog/usage=network-root-rangeמחליפים את
GLOBAL_API_SERVER_KUBECONFIGבנתיב לקובץ kubeconfig של שרת ה-API הגלובלי. מידע נוסף זמין במאמר משאבים גלובליים של שרת API. התוויות קבועות וצריכות להישאר ללא שינוי.הפלט אמור להיראות כך:
Name: default-vpc-root-cidr Namespace: platform Labels: ipam.gdc.goog/allocation-preference=default ipam.gdc.goog/subnet-group=default-vpc-root-group ipam.gdc.goog/usage=network-root-range ipam.gdc.goog/vpc=default-vpc Annotations: <none> API Version: ipam.global.gdc.goog/v1 Kind: Subnet Metadata: Creation Timestamp: 2025-06-18T23:05:38Z Finalizers: global-subnet-finalizer Generation: 1 Resource Version: 439434 UID: 5ed1c51a-b5ee-473e-a185-8e065a87ae8f Spec: ipv4Request: Cidr: 10.252.0.0/14 Propagation Strategy: None Type: Root Status: Children Refs: Name: default-vpc-zone1-root-cidr Namespace: platform Type: SingleSubnet Conditions: Last Transition Time: 2025-06-18T23:05:38Z Message: IP allocation finished successfully Observed Generation: 1 Reason: AllocationSucceeded Status: True Type: Ready ipv4Allocation: Available CIDRs: 10.254.0.0/15 10.253.0.0/16 Cidr: 10.252.0.0/14 Events: <none>שימו לב לערכים של
Status.ipv4Allocation.Available CIDRs. הערכים האלה הם בלוקי ה-CIDR הזמינים שאליהם מתייחס השלב הבא. בפלט הקודם, טווחי ה-CIDR10.254.0.0/15ו-10.253.0.0/16זמינים. יכול להיות שיופיעו כמה רשתות משנה בפלט. שימו לב לכל בלוקי ה-CIDR הזמינים ולרשתות המשנה שלהם.משווים בין בלוק ה-CIDR הגדול ביותר שזמין מהשלב הקודם לבין גודל בלוק ה-CIDR שנדרש לאזור שלכם. אם בלוק ה-CIDR הכי גדול שזמין לא מספיק גדול כדי להקצות את רשת המשנה החדשה, הוסיפו רשת משנה גלובלית חדשה של טווח שורש הרשת לפני שתמשיכו. שימו לב לרשת המשנה הראשית שממנה אתם מחליטים לקבל את בלוק ה-CIDR לרשת המשנה החדשה.
לדוגמה, אם אתם צריכים בלוק CIDR של
/13, אבל ה-CIDR הזמינים כוללים רק את/15ו-/16, אתם צריכים להוסיף רשת משנה גלובלית חדשה של טווח הרשת ברמה הבסיסית. אם אתם צריכים רשת משנה של/15, אתם יכולים להקצות רשת משנה אזורית חדשה מבלוק ה-CIDR הקיים של/15.יוצרים את רשת המשנה החדשה בשרת ה-API הגלובלי:
kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG apply -f - <<EOF apiVersion: ipam.global.gdc.goog/v1 kind: Subnet metadata: labels: ipam.gdc.goog/vpc: default-vpc ipam.gdc.goog/usage: zone-network-root-range name: SUBNET_NAME namespace: platform spec: ipv4Request: prefixLength: CIDR_PREFIX_LENGTH zone: ZONE_NAME propagationStrategy: SingleZone type: Branch parentReference: name: PARENT_SUBNET_NAME namespace: ORG_NAME EOFמחליפים את מה שכתוב בשדות הבאים:
-
GLOBAL_API_SERVER_KUBECONFIG: הנתיב לקובץ kubeconfig של שרת ה-API הגלובלי. מידע נוסף זמין במאמר משאבים גלובליים של שרת API. -
SUBNET_NAME: השם של תת-הרשת החדשה. -
CIDR_PREFIX_LENGTH: אורך הקידומת של ה-CIDR של תת-הרשת החדשה שמוקצית באופן דינמי, למשל20. כדי להגדיר את ה-CIDR באופן סטטי, מחליפים את השדהprefixLengthבשדהcidr, ואז מגדירים את בלוק ה-CIDR, למשל10.0.10.0/27. -
ZONE_NAME: האזור שבו מקצים את רשת המשנה, למשלzone1. -
PARENT_SUBNET_NAME: השם של רשת המשנה הראשית, כמוdefault-vpc-root-cidr, או רשת המשנה הגלובלית החדשה של טווח הבסיס של הרשת שיצרתם. -
ORG_NAME: שם הארגון.
מידע נוסף מופיע במאמרי העזרה של ה-API בנושא המשאב
Subnet.-
כדי לוודא שרשת המשנה מוכנה וזמינה בשרת ה-API הגלובלי, בודקים שסוג הסטטוס
Readyשלה הואtrue:kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG get subnet --namespace platform \ SUBNET_NAME --output jsonpath='{.status.conditions[?(@.type=="Ready")].status}'הפלט אמור להיראות כך:
status: conditions: - lastTransitionTime: "2025-06-06T07:28:48Z" message: IP allocation finished successfully observedGeneration: 1 reason: AllocationSucceeded status: "True" type: Readyמוודאים שנוצרת רשת משנה אזורית בשרת ה-API לניהול אזורי, ושהסטטוס
Readyשלה הוא מסוגtrue:kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG get subnet --namespace platform \ SUBNET_NAME --output jsonpath='{.status.conditions[?(@.type=="Ready")].status}'מחליפים את הערך של
MANAGEMENT_API_SERVER_KUBECONFIGבנתיב לקובץ kubeconfig של שרת ה-API לניהול. מידע נוסף זמין במאמר משאבים של שרת API לניהול אזורי.הפלט אמור להיראות כך:
status: conditions: - lastTransitionTime: "2025-06-06T07:29:34Z" message: IP allocation finished successfully observedGeneration: 1 reason: AllocationSucceeded status: "True" type: Readyמתת-הרשת החדשה הזו, אתם יכולים ליצור עוד תתי-רשתות צאצאים אזוריות או להקצות כתובת IP נפרדת ישירות לעומס עבודה פנימי.
חלוקה של רשת משנה גלובלית ברמה הבסיסית (root) בלי הקצאת אזור
כדי לחלק עוד יותר רשת משנה גלובלית בלי להקצות אותה לאזור, יוצרים רשת משנה גלובלית ומשמיטים את אסטרטגיית ההפצה במשאב המותאם אישית Subnet. הגישה הזו שימושית אם רוצים להמשיך לארגן את טווח כתובות ה-IP שנגישות באופן גלובלי מרשת המשנה הבסיסית הגלובלית, בלי להקצות את כתובות ה-IP לאזור.
כדי לחלק את רשת המשנה ברמה הבסיסית (root) הגלובלית בתוך ההיקף הגלובלי, מבצעים את השלבים הבאים במרחב השמות platform:
בחלון הטרמינל, מתארים את כל רשתות המשנה ברמה הבסיסית (root) של ה-VPC שמוגדר כברירת מחדל, ובודקים את בלוקי ה-CIDR הזמינים שלהן:
kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG describe subnets --namespace platform \ -l ipam.gdc.goog/vpc=default-vpc,ipam.gdc.goog/usage=network-root-rangeמחליפים את
GLOBAL_API_SERVER_KUBECONFIGבנתיב לקובץ kubeconfig של שרת ה-API הגלובלי. מידע נוסף זמין במאמר משאבים גלובליים של שרת API. התוויות קבועות וצריכות להישאר ללא שינוי.הפלט אמור להיראות כך:
Name: default-vpc-root-cidr Namespace: platform Labels: ipam.gdc.goog/allocation-preference=default ipam.gdc.goog/subnet-group=default-vpc-root-group ipam.gdc.goog/usage=network-root-range ipam.gdc.goog/vpc=default-vpc Annotations: <none> API Version: ipam.global.gdc.goog/v1 Kind: Subnet Metadata: Creation Timestamp: 2025-06-18T23:05:38Z Finalizers: global-subnet-finalizer Generation: 1 Resource Version: 439434 UID: 5ed1c51a-b5ee-473e-a185-8e065a87ae8f Spec: ipv4Request: Cidr: 10.252.0.0/14 Propagation Strategy: None Type: Root Status: Children Refs: Name: default-vpc-zone1-root-cidr Namespace: platform Type: SingleSubnet Conditions: Last Transition Time: 2025-06-18T23:05:38Z Message: IP allocation finished successfully Observed Generation: 1 Reason: AllocationSucceeded Status: True Type: Ready ipv4Allocation: Available CIDRs: 10.254.0.0/15 10.253.0.0/16 Cidr: 10.252.0.0/14 Events: <none>שימו לב לערכים של
Status.ipv4Allocation.Available CIDRs. הערכים האלה הם בלוקי ה-CIDR הזמינים שאליהם מתייחס השלב הבא. בפלט הקודם, טווחי ה-CIDR10.254.0.0/15ו-10.253.0.0/16זמינים. יכול להיות שיהיו כמה רשתות משנה בפלט, בהתאם למספר רשתות המשנה ברמה הבסיסית (root) שיש לכם. לכן, שימו לב לכל בלוקי ה-CIDR הזמינים, ושימו לב מאיזו רשת משנה מגיע בלוק ה-CIDR הזמין.משווים בין בלוק ה-CIDR הגדול ביותר שזמין מהשלב הקודם לבין הגודל של בלוק ה-CIDR שנדרש לרשת המשנה הגלובלית החדשה. אם בלוק ה-CIDR הכי גדול שזמין לא מספיק גדול כדי להקצות את רשת המשנה החדשה, הוסיפו רשת משנה גלובלית חדשה של טווח בסיס ברשת לפני שתמשיכו. שימו לב לרשת המשנה הראשית שממנה אתם מחליטים לקבל את בלוק ה-CIDR לרשת המשנה החדשה.
לדוגמה, אם אתם צריכים בלוק CIDR של
/13, אבל ה-CIDR הזמינים כוללים רק את/15ו-/16, אתם צריכים ליצור רשת משנה גלובלית חדשה בטווח הבסיס של הרשת. אם אתם צריכים רשת משנה של/15, אתם יכולים להקצות את רשת המשנה הגלובלית החדשה מבלוק ה-CIDR הקיים של/15.יוצרים את רשת המשנה החדשה בשרת ה-API הגלובלי:
kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG apply -f - <<EOF apiVersion: ipam.global.gdc.goog/v1 kind: Subnet metadata: labels: ipam.gdc.goog/vpc: default-vpc ipam.gdc.goog/usage: zone-network-root-range name: SUBNET_NAME namespace: platform spec: ipv4Request: prefixLength: CIDR_PREFIX_LENGTH propagationStrategy: None type: Branch parentReference: name: PARENT_SUBNET_NAME namespace: ORG_NAME EOFמחליפים את מה שכתוב בשדות הבאים:
-
GLOBAL_API_SERVER_KUBECONFIG: הנתיב לקובץ kubeconfig של שרת ה-API הגלובלי. מידע נוסף זמין במאמר משאבים גלובליים של שרת API. -
SUBNET_NAME: השם של תת-הרשת החדשה. -
CIDR_PREFIX_LENGTH: אורך הקידומת של ה-CIDR של תת-הרשת החדשה שמוקצית באופן דינמי, למשל20. כדי להגדיר את ה-CIDR באופן סטטי, מחליפים את השדהprefixLengthבשדהcidr, ואז מגדירים את בלוק ה-CIDR, למשל10.0.10.0/27. -
PARENT_SUBNET_NAME: השם של רשת המשנה הראשית, כמוdefault-vpc-root-cidr, או רשת המשנה הגלובלית החדשה של טווח הבסיס של הרשת שיצרתם. -
ORG_NAME: שם הארגון.
מידע נוסף מופיע במאמרי העזרה של ה-API בנושא המשאב הגלובלי
Subnet.-
כדי לוודא שרשת המשנה מוכנה וזמינה בשרת ה-API הגלובלי, בודקים שסוג הסטטוס
Readyשלה הואtrue:kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG get subnet --namespace platform \ SUBNET_NAME --output jsonpath='{.status.conditions[?(@.type=="Ready")].status}'הפלט אמור להיראות כך:
status: conditions: - lastTransitionTime: "2025-06-06T07:28:48Z" message: IP allocation finished successfully observedGeneration: 1 reason: AllocationSucceeded status: "True" type: Ready
רשת המשנה הגלובלית החדשה של הארגון שלכם זמינה ב-VPC שמוגדר כברירת מחדל. אפשר ליצור רשת משנה לאזור מסוים מרשת המשנה הגלובלית החדשה הזו.
הוספת רשת משנה גלובלית חדשה של טווח בסיס של רשת
רשתות משנה גלובליות עם התווית ipam.gdc.goog/usage: network-root-range מארחות את ה-CIDR לכל האזורים ברשת. אם ה-CIDR נוצל, צריך ליצור רשת משנה חדשה של טווח הבסיס של הרשת בשרת ה-API הגלובלי. אם צריך, אפשר ליצור כמה רשתות משנה גלובליות ברמה הבסיסית.
כדי ליצור רשת משנה חדשה של טווח בסיס ברשת, מבצעים את השלבים הבאים:
בחלון הטרמינל, יוצרים את תת-הרשת הגלובלית החדשה של טווח הבסיס של הרשת בשביל ה-VPC שמוגדר כברירת מחדל במרחב השמות
platform:kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG apply -f - <<EOF apiVersion: ipam.global.gdc.goog/v1 kind: Subnet metadata: labels: ipam.gdc.goog/vpc: default-vpc ipam.gdc.goog/usage: network-root-range name: SUBNET_NAME namespace: platform spec: ipv4Request: cidr: NEW_CIDR type: Root EOFמחליפים את מה שכתוב בשדות הבאים:
-
GLOBAL_API_SERVER_KUBECONFIG: הנתיב לקובץ kubeconfig של שרת ה-API הגלובלי. מידע נוסף זמין במאמר משאבים גלובליים של שרת API. -
SUBNET_NAME: השם של תת-הרשת החדשה. -
NEW_CIDR: ה-CIDR החדש של רשת המשנה. טווח ה-CIDR הזה לא יכול לחפוף לאף טווח CIDR בכל רשתות המשנה הקיימות עם התוויתipam.gdc.goog/usage: network-root-rangeבאותו שרת API גלובלי.
-
אפשר לחלק את רשת המשנה החדשה של טווח הבסיס הגלובלי בתוך שרת ה-API הגלובלי או להקצות אותה לאזור ספציפי.
המאמרים הבאים
- רשתות משנה וכתובות IP
- סקירה כללית על רשתות
- פריסת אפליקציה של מכונה וירטואלית עם זמינות גבוהה
- פריסת אפליקציה בקונטיינר עם זמינות גבוהה