הוספת טווחים של כתובות IPv4 של Pod

בדף הזה מוסבר איך להגדיר טווחי כתובות IPv4 נוספים של Pod לאשכולות המותאמים ל-VPC, ואיך לציין טווחי כתובות IPv4 בהתאמה אישית של Pod למאגרי צמתים של אשכול המותאם ל-VPC.

טווח כתובות ה-IPv4 של הפודים באשכולות מקוריים של VPC תמיד מגיע מטווחים משניים של כתובות IPv4 של רשתות משנה. כשיוצרים אשכול חדש, מקצים לאשכול טווח ברירת מחדל של כתובות IPv4 של Pod.

  • באשכולות Autopilot ובאשכולות רגילים, אפשר להגדיר אשכול לשימוש בטווחים נוספים של כתובות IPv4 של Pod. ‫GKE משתמש בטווחי הכתובות הנוספים האלה של Pod IPv4 בשביל כתובות Pod IPv4 בצמתים שנוצרו במאגרי צמתים עתידיים.
  • במערכות Standard, אפשר ליצור מאגרי צמתים שכל אחד מהם משתמש בטווח מותאם אישית של כתובות IPv4 משניות של רשת משנה, עבור כתובות ה-IPv4 של ה-Pod.

לפני שמתחילים

לפני שמתחילים, חשוב לוודא שביצעתם את המשימות הבאות:

  • מפעילים את ממשק ה-API של Google Kubernetes Engine.
  • הפעלת Google Kubernetes Engine API
  • כדי להשתמש ב-CLI של Google Cloud למשימה הזו, צריך להתקין ואז לאתחל את ה-CLI של gcloud. אם התקנתם בעבר את ה-CLI של gcloud, מריצים את הפקודה gcloud components update כדי לקבל את הגרסה העדכנית. יכול להיות שגרסאות קודמות של ה-CLI של gcloud לא יתמכו בהרצת הפקודות שמופיעות במסמך הזה.
  • מוודאים שיש לכם את התפקיד אדמין רשת Compute בממשק של ניהול הזהויות והרשאות הגישה (IAM) בפרויקט שמכיל את רשת המשנה של האשכול. הדרישה הזו חלה על יצירת טווחי כתובות IPv4 משניים חדשים של רשתות משנה. כשמשתמשים ב-VPC משותף, צריך לתאם עם אדמין הרשת בפרויקט המארח של ה-VPC המשותף.
  • כברירת מחדל, כל האשכולות החדשים הם אשכולות מקוריים של VPC. אם אתם צריכים אשכול חדש, צרו אשכול Autopilot. אשכולות מבוססי-נתיבים לא תומכים בטווחי כתובות IPv4 נוספים של Pod או בטווחי כתובות IPv4 בהתאמה אישית של Pod במאגר צמתים.
  • בודקים את הקטע השלבים הבאים.

יצירת טווח כתובות IPv4 משני חדש ברשת המשנה

כדי ליצור טווח חדש של כתובות IPv4 משניות של רשת משנה, משתמשים במסוףCloud de Confiance או ב-Google Cloud CLI. כל תת-רשת תומכת בעד 170 טווחי כתובות IPv4 משניים. מידע נוסף זמין במאמר עריכת טווחי IPv4 משניים במסמכי התיעוד של VPC.

המסוף

  1. נכנסים לדף VPC networks במסוף Cloud de Confiance .

    כניסה לרשתות VPC

  2. ברשימת רשתות VPC, בוחרים את הרשת שרוצים להרחיב.

  3. ברשימה Subnets, בוחרים את רשת המשנה הרצויה.

  4. לוחצים על Edit.

  5. לוחצים על הוספת טווח IP.

  6. בשדה Subnet range name, מזינים את השם של טווח כתובות ה-IPv4 המשני של רשת המשנה החדשה. לדוגמה, pod-range-2.

  7. בשדה Secondary IP range, מזינים את טווח כתובות ה-IPv4 בפורמט CIDR. לדוגמה, 10.2.204.0/22.

  8. לוחצים על Save.

gcloud

gcloud compute networks subnets update SUBNET_NAME \
    --region=REGION \
    --add-secondary-ranges=SECONDARY_RANGE_NAME=SECONDARY_RANGE_CIDR

מחליפים את מה שכתוב בשדות הבאים:

  • ‫SUBNET_NAME: השם של תת-הרשת של האשכול (אותה תת-רשת שהוקצתה לאשכול כשהוא נוצר).
  • ‫REGION: האזור של רשת המשנה של האשכול. האזור של רשת המשנה של האשכול הוא האזור שמכיל את אשכול GKE.
  • ‫SECONDARY_RANGE_NAME: השם של טווח כתובות IPv4 משני חדש של רשת המשנה, שישמש כטווח כתובות IPv4 נוסף של הפוד בשביל האשכול. לדוגמה, pod-range-2.
  • ‫SECONDARY_RANGE_CIDR: ה-CIDR שבו ישתמש טווח כתובות ה-IPv4 המשני של רשת המשנה החדשה. לדוגמה, 10.2.204.0/22.

אפשר להוסיף שני טווחים משניים חדשים של כתובות IPv4 לתת-רשת, או יותר, על ידי ציון זוגות נוספים של SECONDARY_RANGE_NAME=SECONDARY_RANGE_CIDR, מופרדים בפסיקים, אחרי הדגל --add-secondary-ranges.

הקצאת טווחי כתובות IPv4 נוספים של Pod לאשכול

אפשר להקצות טווחי כתובות IPv4 נוספים של Pod ברמת האשכול, רלוונטי לצמתים חדשים שנוצרו במאגרי צמתים חדשים שיוצרים באשכול. כדי להקצות ל-Cluster טווחי כתובות IPv4 נוספים של Pod, צריך קודם ליצור טווח כתובות IPv4 משני חדש של רשת משנה.

הוספה של טווחי כתובות IPv4 חדשים של Pod לאשכול לא הופכת אותם לזמינים באופן אוטומטי למאגרי צמתים קיימים. ההתנהגות הזו מתרחשת כי טווח כתובות ה-IP של מאגר צמתים הוא הגדרה שלא ניתנת לשינוי, שמוגדרת כשיוצרים את מאגר הצמתים. מאגר צמתים קיים מודע רק לטווח המקורי שלו. כדי להשתמש בטווח חדש של כתובות IPv4 של Pod, צריך ליצור מאגר צמתים חדש ולהקצות לו את הטווח החדש של כתובות IPv4 של Pod.

אפשר להקצות לאשכול טווחי כתובות IPv4 נוספים של Pods באמצעות:

  • אשכולות Autopilot שפועלים ב-GKE בגרסה 1.26 ואילך
  • אשכולות רגילים

המסוף

  1. נכנסים לדף Google Kubernetes Engine במסוף Cloud de Confiance .

    מעבר אל Google Kubernetes Engine

  2. לצד האשכול שרוצים לערוך, לוחצים על Actions (פעולות) ואז על Edit (עריכה).

  3. בקטע Networking, לצד Cluster Pod IPv4 ranges (additional), לוחצים על Edit.

  4. בתיבת הדו-שיח Edit additional Cluster Pod IPv4 ranges, לוחצים על Pod secondary CIDR ranges ובוחרים את השמות של טווח אחד או יותר של טווחי CIDR משניים של כתובות IPv4 של רשתות משנה קיימות ברשת המשנה של האשכול. אם אין טווחי כתובות IPv4 משניים נוספים של רשתות משנה, קודם צריך ליצור טווח כתובות IPv4 משני חדש של רשת משנה ואז לחזור על השלבים האלה.

  5. לוחצים על שמירת השינויים.

gcloud

  1. מעדכנים את האשכול באמצעות הדגל --additional-pod-ipv4-ranges:

    gcloud container clusters update CLUSTER_NAME \
        --additional-pod-ipv4-ranges=SECONDARY_RANGE_NAME \
        --location=COMPUTE_LOCATION
    

    מחליפים את מה שכתוב בשדות הבאים:

חיפוש טווחי כתובות IPv4 של Pod באשכול

כדי לחפש את טווח כתובות ה-IPv4 של ה-Pod שמוגדר כברירת מחדל באשכול, וכל טווח כתובות IPv4 נוסף של ה-Pod שהוקצה לאשכול, משתמשים בפקודה הבאה:

gcloud container clusters describe CLUSTER_NAME \
    --location=COMPUTE_LOCATION

מחליפים את מה שכתוב בשדות הבאים:

הפלט אמור להיראות כך, כולל IPAllocationPolicy של האשכול:

ipAllocationPolicy:
  clusterSecondaryRangeName: cluster-pods
  clusterIpv4CidrBlock: 10.10.0.0/23
  additionalPodRangesConfig:
    podRangeNames:
      - pod-range-1
      - pod-range-2

where:

  • ‫clusterSecondaryRangeName: השם של טווח כתובות ה-IPv4 המשני של רשת המשנה שמשמש כטווח כתובות ה-IPv4 של הפוד שמוגדר כברירת מחדל באשכול, שהוגדר כשנוצר האשכול.
  • ‫clusterIpv4CidrBlock: ה-CIDR של טווח כתובות ה-IPv4 המשני של תת-הרשת לכתובות ה-IPv4 של הפודים, שמוגדר כשיוצרים את האשכול.
  • ‫additionalPodRangesConfig.podRangeNames: רשימה של טווחים נוספים של כתובות IPv4 משניות של רשתות משנה שהוקצו לכתובות IPv4 של Pod.

מאגר צמתים עם טווחי כתובות IPv4 מותאמים אישית של Pod

באשכולות רגילים שמופעלת בהם גרסה GKE 1.20.4-gke.500 ומעלה, אפשר להקצות טווח כתובות IPv4 מותאם אישית של Pod למאגר צמתים חדש באמצעות אחת מהשיטות הבאות:

  • טווח כתובות IPv4 מותאם אישית של Pod במאגר צמתים שמנוהל על ידי GKE: באפשרות הזו, יוצרים מאגר צמתים חדש ומספקים ל-GKE את המידע שנדרש כדי ליצור טווח כתובות IPv4 משני חדש של רשת משנה, ברשת המשנה של האשכול. לכל צומת חדש שנוצר במאגר הצמתים החדש מוקצה טווח של כתובות IP וירטואליות לכתובות ה-IPv4 של ה-Pod שלו, וכל טווח של כתובות IP וירטואליות מגיע מטווח כתובות ה-IPv4 המשני של תת-הרשת החדשה שנוצרת על ידי GKE. אפשר להשתמש באפשרות הזו רק אם האשכול ורשת ה-VPC שמכילה את רשת המשנה של האשכול נמצאים באותו פרויקט.

  • טווח כתובות IPv4 מותאם אישית של Pod במאגר צמתים בניהול המשתמש: באפשרות הזו, יוצרים מאגר צמתים חדש שבו GKE משתמש בטווח כתובות IPv4 משני של רשת משנה קיימת. לכל צומת חדש שנוצר במאגר הצמתים החדש מוקצה טווח כתובות IP של כינוי לכתובות ה-IPv4 של ה-Pod, וכל טווח כתובות IP של כינוי מגיע מטווח כתובות ה-IPv4 המשני של תת-הרשת, שאתם מנחים את GKE להשתמש בו. אם האשכול שלכם נמצא בפרויקט שירות של VPC משותף, ותת-הרשת של האשכול נמצאת ברשת ה-VPC המשותפת של הפרויקט המארח, אתם צריכים להשתמש באפשרות הזו.

טווח כתובות ה-IPv4 המותאם אישית של Pod במאגר צמתים מבטל את כל טווחי כתובות ה-IPv4 של Pod שמוגדרים ברמת האשכול, כולל טווחי כתובות IPv4 נוספים של Pod שמוקצים לאשכול. טווחים מותאמים אישית של כתובות IPv4 של Pod שמוקצים למאגרי צמתים נקראים גם CIDR של כמה Pod לא רציפים.

דוגמה לטווח כתובות IPv4 של Pod בהתאמה אישית במאגר צמתים

בתרשים הבא מוצג אשכול מקורי של VPC עם טווחים של כתובות IPv4 של פודים בניהול המשתמש:

הוספת מאגר צמתים לאשכול עם טווח כתובות IP משני של Pod שמוצה באמצעות CIDR רב-Pod לא רציף
תרשים: דוגמה לטווח כתובות IPv4 מותאם אישית של Pod במאגר צמתים

בתרשים שלמעלה:

  • המספר המקסימלי של Pods לכל צומת לכל מאגר צמתים באשכול הוגדר ל-64. כדי לאפשר עד 64 תרמילים לכל צומת, מערכת GKE יוצרת כל צומת עם טווח של /25 כתובות IP של כינוי, ומספקת 128 כתובות IPv4 של תרמילים לכל צומת.
  • טווח ברירת המחדל של כתובות ה-IPv4 של Pod באשכול הוא /24. מכיוון שכל צומת דורש /25 לכתובות IPv4 של Pod, טווח כתובות ה-IPv4 של Pod שמוגדר כברירת מחדל באשכול תומך רק בשני צמתים.
  • כדי לתמוך בצמתים נוספים, אדמין של אשכול יצר מאגר צמתים נוסף, תוך שמירה על 64 מספר הפודים המקסימלי לכל צומת. מאגר הצמתים הנוסף משתמש בטווח כתובות IPv4 מותאם אישית של Pod ב-/20, שתומך ב-32 צמתים נוספים.

טווח כתובות IPv4 מותאם אישית של Pod במאגר צמתים שמנוהל על ידי GKE

כדי ליצור מאגר צמתים עם טווח כתובות IPv4 מותאם אישית של Pods שמנוהל על ידי GKE, משתמשים ב-CLI של gcloud או ב-GKE API באופן הבא:

gcloud

gcloud container node-pools create POOL_NAME \
  --cluster=CLUSTER_NAME \
  --location=COMPUTE_LOCATION \
  --create-pod-ipv4-range=name=SECONDARY_RANGE_NAME,range=CIDR_OR_NETMASK

מחליפים את מה שכתוב בשדות הבאים:

  • ‫POOL_NAME: השם של מאגר הצמתים החדש.
  • ‫CLUSTER_NAME: שם האשכול.
  • ‫COMPUTE_LOCATION: המיקום של Compute Engine של האשכול.
  • ‫SECONDARY_RANGE_NAME: השם של טווח כתובות ה-IPv4 המשני של רשת המשנה שנוצר על ידי GKE. אם לא מציינים את name=SECONDARY_RANGE_NAME, ‏ GKE יוצר באופן אוטומטי את השם של טווח כתובות ה-IPv4 המשני של תת-הרשת החדשה.
  • ‫CIDR_OR_NETMASK: טווח כתובות ה-IPv4 של ה-Pod, בפורמט CIDR (לדוגמה, 10.12.4.0/20) או כמסיכת תת-רשת (לדוגמה, /20).
    • אם תספקו רק מסכה של רשת משנה, GKE ינסה ליצור טווח כתובות IPv4 משני חדש של רשת משנה שלא מתנגש עם טווחי כתובות IPv4 קיימים של רשת משנה ברשת ה-VPC שמכילה את רשת המשנה של האשכול.
    • אם משמיטים את range=CIDR_OR_NETMASK, ‏GKE מנסה ליצור טווח כתובות IPv4 משני חדש של רשת משנה /14 שלא מתנגש עם טווחי כתובות IPv4 קיימים של רשת משנה ברשת ה-VPC שמכילה את רשת המשנה של האשכול.

API

"nodePool": {
  "name": "POOL_NAME",
  ...
  "networkConfig": {
    "createPodRange": true,
    "podRange": "SECONDARY_RANGE_NAME",
    "podIpv4CidrBlock": "CIDR_OR_NETMASK"
    }
}

מחליפים את מה שכתוב בשדות הבאים:

  • ‫POOL_NAME: השם של מאגר הצמתים החדש.
  • ‫SECONDARY_RANGE_NAME: אופציונלי – השם של טווח כתובות ה-IPv4 המשני של רשת המשנה שנוצר על ידי GKE. אם משתמשים בערך "" עבור networkConfig.podRange או אם משמיטים את הפרמטר podRange בבקשה, GKE יוצר באופן אוטומטי את השם של טווח כתובות ה-IPv4 המשני של רשת המשנה החדשה.
  • ‫CIDR_OR_NETMASK: טווח כתובות ה-IPv4 של ה-Pod, בפורמט CIDR (לדוגמה, 10.12.4.0/20) או כמסיכת תת-רשת (לדוגמה, /20).
    • אם מספקים רק מסכה של רשת משנה,‏ GKE מנסה ליצור טווח כתובות IPv4 משניות חדש ברשת המשנה, שלא מתנגש עם טווחי כתובות IPv4 קיימים ברשת ה-VPC שמכילה את רשת המשנה של האשכול.
    • אם משתמשים בערך "" בשביל networkConfig.podIpv4CidrBlock, ‏GKE מנסה ליצור טווח כתובות IPv4 משני חדש של רשת משנה /14 שלא מתנגש עם טווחי כתובות IPv4 קיימים של רשת משנה ברשת ה-VPC שמכילה את רשת המשנה של האשכול.

טווח כתובות IPv4 מותאם אישית של Pod במאגר צמתים בניהול המשתמש

כדי ליצור מאגר צמתים עם טווח כתובות IPv4 של Pod בהתאמה אישית בניהול משתמש, משתמשים ב-CLI של gcloud או ב-GKE API באופן הבא:

gcloud

gcloud container node-pools create POOL_NAME \
    --cluster=CLUSTER_NAME \
    --location=COMPUTE_LOCATION \
    --pod-ipv4-range SECONDARY_RANGE_NAME

מחליפים את מה שכתוב בשדות הבאים:

API

"nodePool": {
  "name": "POOL_NAME",
  ...
  "networkConfig": {
    "createPodRange": false,
    "podRange": "SECONDARY_RANGE_NAME"
    }
}

מחליפים את מה שכתוב בשדות הבאים:

חיפוש טווחי כתובות IPv4 של Pod במאגר צמתים

כדי לחפש את טווח כתובות ה-IPv4 של Pod במאגר צמתים, משתמשים בפקודה הבאה:

gcloud container node-pools describe POOL_NAME \
    --cluster=CLUSTER_NAME \
    --location=COMPUTE_LOCATION

מחליפים את מה שכתוב בשדות הבאים:

הפלט דומה לפלט הבא, שכולל את NodeNetworkConfig של מאגר הצמתים:

  networkConfig:
    podRange: podrange
    podIpv4CidrBlock: 192.168.0.0/18

where:

  • ‫podRange: השם של טווח כתובות ה-IPv4 המשני של רשת המשנה לכתובות ה-IPv4 של ה-Pod במאגר הצמתים.
  • ‫podIpv4CidrBlock: ה-CIDR של טווח כתובות ה-IPv4 המשני של רשת המשנה לכתובות ה-IPv4 של הפודים במאגר הצמתים.

אם מאגר הצמתים משתמש בטווח כתובות IPv4 מותאם אישית של פודים, הערכים של podRange ושל podIpv4CidrBlock שונים מטווח כתובות IPv4 של פודים שמוגדר כברירת מחדל באשכול.

שלבי המשך

אחרי שמקצים טווחי כתובות IPv4 נוספים של Pods לאשכול, או מגדירים טווחי כתובות IPv4 בהתאמה אישית של Pods למאגר צמתים, GKE מעדכן את כלל חומת האש של VPC gke-[cluster-name]-[cluster-hash]-all שנוצר באופן אוטומטי, כך שטווח המקור שלו כולל את כל כתובות ה-IPv4 של ה-Pods.

יכול להיות שתצטרכו גם:

המאמרים הבאים