אפשר לפרוס אפליקציות של Kf בצמתים ייעודיים באשכול. התכונה הזו נדרשת אם אתם רוצים יותר שליטה בצומת שבו ינחת פוד של אפליקציה. לדוגמה, אם אתם משתפים את אותו אשכול בין אפליקציות שונות, אבל רוצים צמתים ייעודיים לאפליקציה מסוימת, אם אתם רוצים צמתים ייעודיים לארגון מסוים(מרחב Kf), אם אתם רוצים לטרגט מערכת הפעלה ספציפית כמו Windows, או אם אתם רוצים למקם יחד פודים משני שירותים שמתקשרים לעיתים קרובות.
כדי להפעיל בידוד של מחשוב, Kf משתמש ב-nodeSelector של Kubernetes. כדי להשתמש בתכונה הזו, קודם מוסיפים תוויות לצמתים או למאגרי הצמתים שבהם רוצים שה-Pods של האפליקציה ינחתו, ואז מוסיפים את אותן תוויות שעומדות בדרישות למרחב Kf. כל האפליקציות שהותקנו במרחב הזה יופיעו בצמתים עם תוויות תואמות.
הגדרת nodeSelector באשכול Kf
כברירת מחדל, בידוד המחשוב מושבת. כדי להגדיר תוויות ו-nodeSelector, פועלים לפי השלבים הבאים.
מוסיפים תווית (
distype=ssd) לצומת שבו רוצים שה-Pods של האפליקציה ינחתו.kubectl label nodes nodeid disktype=ssdמוסיפים את אותה תווית במרחב Kf. כל האפליקציות שנפרסו במרחב הזה ינחתו בצמתים שעומדים בדרישות.
kf configure-space set-nodeselector space-name disktype ssdאפשר להוסיף כמה תוויות על ידי הפעלת אותה פקודה שוב.
בודקים שהתווית מוגדרת.
kf configure-space get-nodeselector space-nameלמחוק את התווית מהמרחב.
kf configure-space unset-nodeselector space-name disktype
ביטול nodeSelector עבור kf Stacks
אפשר לכוון את הפריסה של אפליקציות Kf לפי ה-Stack (buildpack) שמשמש לבנייה ולאריזה של האפליקציה. לדוגמה, אם רוצים שהאפליקציות שנבנו באמצעות spaceStacksV2 יגיעו לצמתים עם ליבת Linux 4.4.1. ערכי nodeSelector ב-Stack יבטלו את הערכים שהוגדרו ב-Space.
כדי להגדיר את nodeSelector ב-Stack.
עורכים את
config-defaultsשל אשכול Kf ומוסיפים את התוויות.$ kubectl -n kf edit configmaps config-defaultsמוסיפים את
nodeSelectorלהגדרת הערימות...... ..... spaceStacksV2: | - name: cflinuxfs3 image: cloudfoundry/cflinuxfs3 nodeSelector: OS_KERNEL: LINUX_4.4.1 ..... .....