בידוד מחשוב

אפשר לפרוס אפליקציות של Kf בצמתים ייעודיים באשכול. התכונה הזו נדרשת אם אתם רוצים יותר שליטה בצומת שבו ינחת פוד של אפליקציה. לדוגמה, אם אתם משתפים את אותו אשכול בין אפליקציות שונות, אבל רוצים צמתים ייעודיים לאפליקציה מסוימת, אם אתם רוצים צמתים ייעודיים לארגון מסוים(מרחב Kf), אם אתם רוצים לטרגט מערכת הפעלה ספציפית כמו Windows, או אם אתם רוצים למקם יחד פודים משני שירותים שמתקשרים לעיתים קרובות.

כדי להפעיל בידוד של מחשוב, Kf משתמש ב-nodeSelector של Kubernetes. כדי להשתמש בתכונה הזו, קודם מוסיפים תוויות לצמתים או למאגרי הצמתים שבהם רוצים שה-Pods של האפליקציה ינחתו, ואז מוסיפים את אותן תוויות שעומדות בדרישות למרחב Kf. כל האפליקציות שהותקנו במרחב הזה יופיעו בצמתים עם תוויות תואמות.

הגדרת nodeSelector באשכול Kf

כברירת מחדל, בידוד המחשוב מושבת. כדי להגדיר תוויות ו-nodeSelector, פועלים לפי השלבים הבאים.

  1. מוסיפים תווית (distype=ssd) לצומת שבו רוצים שה-Pods של האפליקציה ינחתו.

    kubectl label nodes nodeid disktype=ssd 
  2. מוסיפים את אותה תווית במרחב Kf. כל האפליקציות שנפרסו במרחב הזה ינחתו בצמתים שעומדים בדרישות.

    kf configure-space set-nodeselector space-name disktype ssd

    אפשר להוסיף כמה תוויות על ידי הפעלת אותה פקודה שוב.

  3. בודקים שהתווית מוגדרת.

    kf configure-space get-nodeselector space-name
  4. למחוק את התווית מהמרחב.

    kf configure-space unset-nodeselector space-name disktype

ביטול nodeSelector עבור kf Stacks

אפשר לכוון את הפריסה של אפליקציות Kf לפי ה-Stack (buildpack) שמשמש לבנייה ולאריזה של האפליקציה. לדוגמה, אם רוצים שהאפליקציות שנבנו באמצעות spaceStacksV2 יגיעו לצמתים עם ליבת Linux 4.4.1. ערכי nodeSelector ב-Stack יבטלו את הערכים שהוגדרו ב-Space.

כדי להגדיר את nodeSelector ב-Stack.

  1. עורכים את config-defaults של אשכול Kf ומוסיפים את התוויות.

    $ kubectl -n kf edit configmaps config-defaults
    
  2. מוסיפים את nodeSelector להגדרת הערימות.

    .....
    .....
    spaceStacksV2: |
    - name:  cflinuxfs3
            image: cloudfoundry/cflinuxfs3
            nodeSelector:
                  OS_KERNEL: LINUX_4.4.1 
    .....
    .....