הגדרת אשכול

‫Kf משתמש ב-configmap של Kubernetes בשם config-defaults במרחב השמות kf כדי לאחסן הגדרות תצורה ברמת האשכול. במסמך הזה מוסבר על המבנה והשדות שלו.

המבנה של configmap של הגדרות ברירת המחדל

ה-configmap מכיל שלושה סוגים של צמדי מפתח/ערך בשדה .data:

  • מפתחות תגובה עם הקידומת _ מכילים דוגמאות, הערות ואזהרות.
  • מפתחות מחרוזת מכילים ערכים של טקסט פשוט.
  • מפתחות האובייקט מכילים ערך JSON או YAML שעבר קידוד כמחרוזת.

דוגמה:

_note: "This is some note"
stringKey: "This is a string key that's not encoded as JSON or YAML."
objectKey: |
  - "These keys contain nested YAML or JSON."
  - true
  - 123.45

קטע לדוגמה

בקטע הדוגמה שמתחת למפתח _example יש הסברים על שדות אחרים ודוגמאות. אין השפעה לשינויים שמבצעים בקטע הזה.

מאגר קונטיינרים של מרחב

המאפיין spaceContainerRegistry הוא ערך טקסט פשוט שמציין את מאגר ברירת המחדל של הקונטיינרים שכל מרחב משתמש בו כדי לאחסן תמונות שנוצרו.

דוגמה:

spaceContainerRegistry: gcr.io/my-project

דומיינים של אשכולות מרחבים

המאפיין spaceClusterDomains הוא מערך YAML מקודד של אובייקטים של דומיינים.

כל מרחב באשכול מוסיף את כל הפריטים במערך לרשימת הדומיינים שמפתחים יכולים לקשר אליהם את האפליקציות שלהם.

שדות
domain

string

שם הדומיין שרוצים להפוך לזמין. יכול להיות שיופיעו בו אחד מהתחליפים הבאים:

  • $(SPACE_NAME) – מוחלף בכל מרחב בשם של המרחב.
  • $(CLUSTER_INGRESS_IP) – כתובת ה-IP של שער הכניסה של האשכול.
gatewayName

string

(אופציונלי)

ההגדרה הזו מבטלת את מסלולי שער Istio שאליהם יקושרו. ברירת המחדל היא kf/external-gateway, אבל אפשר להשתמש בכל שער אחר במרחב השמות kf.

דוגמה:

spaceClusterDomains: |
  # Support canonical and vanity domains
  - domain: $(SPACE_NAME).prod.example.com
  - domain: $(SPACE_NAME).kf.us-east1.prod.example.com

  # Using a dynamic DNS resolver
  - domain: $(SPACE_NAME).$(CLUSTER_INGRESS_IP).nip.io

  # Creating an internal domain only visible within the cluster
  - domain: $(SPACE_NAME)-apps.internal
    gatewayName: kf/internal-gateway

Buildpacks V2 lifecycle builder

המאפיין buildpacksV2LifecycleBuilder מכיל את הגרסה של קובץ הבינארי builder של Cloud Foundry שמשמש להפעלת buildpack v2.

הערך הוא הפניה ל-Git. כדי להשתמש בגרסה ספציפית, מוסיפים בסוף את הסמל @ ואחריו Git SHA.

דוגמה:

buildpacksV2LifecycleBuilder: "code.cloudfoundry.org/buildpackapplifecycle/builder@GIT_SHA"

מפעיל מחזור החיים של Buildpacks V2

המאפיין buildpacksV2LifecycleLauncher מכיל את הגרסה של קובץ ה-binary של Cloud Foundry launcher שמוטמע בכל אפליקציית Buildpack V2.

הערך הוא הפניה ל-Git. כדי להשתמש בגרסה ספציפית, מוסיפים בסוף את הסמל @ ואחריו Git SHA.

דוגמה:

buildpacksV2LifecycleLauncher: "code.cloudfoundry.org/buildpackapplifecycle/launcher@GIT_SHA"

רשימת Buildpacks V2

המאפיין spaceBuildpacksV2 הוא מחרוזת של מערך YAML מקודד שמכילה רשימה מסודרת של חבילות buildpack שמשמשות ליצירת אפליקציות שתואמות לתהליך buildpack V2.

שדות
name

string

שם מקוצר שהמפתחים יכולים להשתמש בו כדי להפנות אל ה-buildpack במניפסטים של האפליקציות שלהם.

url

string

כתובת ה-URL שמשמשת לאחזור חבילת ה-buildpack.

disabled

boolean

המאפיין הזה משמש כדי למנוע את ההפעלה של חבילת ה-buildpack הזו.

רשימת מקבצים גרסה 2

המאפיין spaceBuildpacksV2 הוא מחרוזת של מערך YAML מקודד שמכיל רשימה מסודרת של מחסניות שאפשר להשתמש בהן עם גרסאות build שתואמות ל-Cloud Foundry.

שדות
name

string

שם קצר שהמפתחים יכולים להשתמש בו כדי להפנות ל-stack במניפסטים של האפליקציות שלהם.

image

string

כתובת ה-URL של קובץ האימג' של הקונטיינר שבו רוצים להשתמש כסטאק. מידע נוסף זמין בכתובת https://kubernetes.io/docs/concepts/containers/images.

רשימת Stacks V3

המאפיין spaceStacksV3 הוא מחרוזת של מערך YAML מקודד שמכיל רשימה מסודרת של מחסניות שאפשר להשתמש בהן ב-builds של Cloud Native Buildpack.

שדות
name

string

שם קצר שהמפתחים יכולים להשתמש בו כדי להפנות ל-stack במניפסטים של האפליקציות שלהם.

description

string

תיאור קצר של ה-stack שמוצג כשמריצים את הפקודה kf stacks.

buildImage

string

כתובת ה-URL של קובץ האימג' של הקונטיינר שמשמש ככלי ליצירת build. מידע נוסף זמין בכתובת https://kubernetes.io/docs/concepts/containers/images.

runImage

string

כתובת ה-URL של קובץ האימג' של הקונטיינר שמשמש כבסיס לכל האפליקציות שנוצרות באמצעות . מידע נוסף זמין בכתובת https://kubernetes.io/docs/concepts/containers/images.

nodeSelector

map (key: string, value: string)

(אופציונלי)

‫NodeSelector שמשמש לציון הצמתים שבהם אפשר להריץ אפליקציות שנבנו באמצעות הסטאק הזה.

דוגמה:

spaceStacksV3: |
  - name: heroku-18
    description: The official Heroku stack based on Ubuntu 18.04
    buildImage: heroku/pack:18-build
    runImage: heroku/pack:18
    nodeSelector:
       kubernetes.io/os: windows

ברירת המחדל היא V3 Stack

המאפיין spaceDefaultToV3Stack מכיל ערך במירכאות true או false שמציין אם במרווחים צריך להשתמש במערכי V3 אם המשתמש לא מציין מערך.

מתגי feature flag

המאפיין featureFlags מכיל מפת YAML של דגלי תכונות בקידוד מחרוזת, שיכולים להפעיל ולהשבית תכונות של Kf.

שמות של דגלים שלא נתמכים על ידי Kf יקבלו התעלמות.

שם ההתרעה ברירת מחדל מטרה
disable_custom_builds false השבתת הגישה של מפתחים לצינורות (pipelines) שרירותיים של Tekton build.
enable_dockerfile_builds true מפתחים יוכלו ליצור קוד מקור מקובצי Dockerfile.
enable_custom_buildpacks true מאפשר למפתחים לציין חבילות buildpack חיצוניות באפליקציות שלהם.
enable_custom_stacks true מפתחים יכולים לציין מחסניות מותאמות אישית באפליקציות שלהם.

דוגמה:

featureFlags: |
  disable_custom_builds: false
  enable_dockerfile_builds: true
  enable_some_feature: true