במאמר הזה מוסבר איך לציין את צפיפות ה-Pods למאגרי צמתים ספציפיים באשכול, וכך לבטל את ההגדרה שחלה על האשכול כולו. למרות שהגדרות ברמת הצומת חלות בדרך כלל על כל האשכול, אפשר להגדיר את צפיפות ה-Pod במאגר צמתים ספציפי. החלפת צפיפות ה-Pod עבור מאגרי צמתים ספציפיים יכולה לשפר את יעילות המשאבים. היכולת הזו שימושית למאגרי צמתים מיוחדים, כמו צמתים עם יחידות GPU, שבהם דרישות ספציפיות של עומס עבודה או הקצאה יעילה של כתובות IP מחייבות ערך שונה למקסימום הפודים לכל צומת.
האפשרות לשנות את הגדרת צפיפות ה-Pod ברמת האשכול זמינה באשכולות מגרסה 1.33 ומעלה.
לפני שמתחילים
היכולת לציין את צפיפות ה-Pods במאגרי צמתים זמינה רק באשכולות עם אחת מהגדרות הרשת הבאות:
הגדרת צפיפות של Pod למאגר צמתים
אפשר להגדיר את צפיפות ה-Pod במפרט NodePool כדי לשנות את ההגדרות ברמת האשכול. ההגדרה הזו היא אופציונלית. המערכת גוזרת את הגודל של טווח ה-CIDR שהוקצה לצומת מפרמטר המקסימום של הפודים לכל צומת.
אי אפשר לשנות את ההגדרה maxPodsPerNode אחרי שיוצרים את מאגר הצמתים. המערכת מאמתת את ההגדרה maxPodsPerNode כדי לוודא שיש מספיק כתובות IP לצמתים במאגר הצמתים. האימות הזה משתמש בקשירת תוויות מחמירה, שבה ClusterCIDRConfig נקשר למאגר צמתים באמצעות בורר צמתים. אפשר לדלג על האימות הזה על ידי הגדרת ההערה baremetal.cluster.gke.io/skip-pod-cidr-size-check ב-Cluster CR או ברמה של NodePool.
יוצרים משאב
ClusterCIDRConfig.המשאב הזה נקשר ל-NodePool ספציפי באמצעות בורר צמתים.
apiVersion: networking.gke.io/v1alpha1 kind: ClusterCIDRConfig metadata: name: my-nodepool-cidr-config spec: nodeSelector: matchLabels: baremetal.cluster.gke.io/node-pool: NODE_POOL_NAME # ... other CIDR config fields (e.g., podCIDR, perNodeMaskSize)מחליפים את
NODE_POOL_NAMEבשם של NodePool.יוצרים את מאגר הצמתים עם צפיפות הפודים שהוגדרה מחדש.
מציינים את השדה
nodeConfigOverrideבהגדרת NodePool. השדה הזה מכיל את ההגדרהpodDensity.apiVersion: baremetal.cluster.gke.io/v1 kind: NodePool metadata: name: NODEPOOL_NAME namespace: CLUSTER_NAMESPACE spec: cluster: CLUSTER_NAME nodeConfigOverride: podDensity: maxPodsPerNode: MAX_PODS_PER_NODE # ... other NodePoolSpec fields like nodeCount, taints, labels etc. ...מחליפים את מה שכתוב בשדות הבאים:
NODEPOOL_NAME: השם של משאב מאגר הצמתים שאת הערך המקסימלי של הפודים לכל צומת שלו אתם משנים.
CLUSTER_NAMESPACE: מרחב השמות של האשכול שבו נמצא מאגר הצמתים.
CLUSTER_NAME: שם האשכול שבו מבטלים את ההגדרות של מאגר הצמתים.
MAX_PODS_PER_NODE: מספר הפודים המקסימלי שאפשר להריץ בצומת יחיד במאגר הצמתים שצוין.
המאמרים הבאים
- ההבדלים בין מודלים של רשתות במצב שטוח ובמצב איים
- איך מטמיעים מודל רשת שטוח במצב IPv4
- איך יוצרים אשכול עם רשת IPv4/IPv6 dual-stack
- מידע על NVIDIA GPU Operator
- הסבר על הקשר בין בלוקים של Pod CIDR, מספר הצמתים וצפיפות ה-Pod.