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

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

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

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

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

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

  • מפעילים את ממשק Google Kubernetes Engine API.
  • הפעלת 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 משניות חדש של רשת משנה, משתמשים במסוףGoogle Cloud או ב-Google Cloud CLI. כל תת-רשת תומכת בעד 170 טווחי כתובות IPv4 משניות. מידע נוסף זמין במאמר בנושא עריכת טווחי IPv4 משניים במסמכי התיעוד של VPC.

המסוף

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

    מעבר לרשתות VPC

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

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

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

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

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

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

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

gcloud

gcloud compute networks subnets update SUBNET_NAME \
    --region=REGION \
    --add-secondary-ranges=POD_RANGE_NAME=SECONDARY_RANGE

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

  • 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 נוספים של Pod לאשכול נתמכת על ידי:

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

המסוף

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

    מעבר אל Google Kubernetes Engine

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

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

  4. בתיבת הדו-שיח Edit additional Cluster Pod IPv4 ranges (עריכת טווחי כתובות IPv4 נוספים של אשכולות Pod), לוחצים על Pod secondary CIDR ranges (טווחי CIDR משניים של אשכולות Pod) ובוחרים את השמות של טווחי כתובות 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 של ה-Pod, שמוגדר כשיוצרים את האשכול.
  • 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 של הפודים בהתאמה אישית של מאגר הצמתים מבטל את כל טווחי כתובות ה-IPv4 של הפודים שהוגדרו ברמת האשכול, כולל טווחי כתובות ה-IPv4 של הפודים הנוספים שהוקצו לאשכול. טווחים מותאמים אישית של כתובות IPv4 של Pod שמוקצים למאגרי צמתים נקראים גם CIDR של ��מ�� Pod ל�� ��ציפים.

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

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

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

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

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

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

כדי ליצור מאגר צמתים עם טווח כתובות IPv4 של Pod בהתאמה אישית שמנוהל על ידי 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 משניות של רשת משנה שלא מתנגש עם טווחי כתובות IPv4 קיימים של רשתות משנה ברשת ה-VPC שמכילה את רשת המשנה של האשכול./14

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 של פודים שמוגדר כברירת מחדל באשכול.

השלבים הבאים

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

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

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