יחסי תלות וארכיטקטורה של Kf

כדי להפעיל את Kf נדרשים Kubernetes וכמה פרויקטים אחרים של OSS. חלק מהתלות מסופק על ידי שירותים מנוהלים של Google. לדוגמה, Google Kubernetes Engine‏ (GKE) מספק Kubernetes.

תלויות

רכיבי Kf

‫Kf מתקין כמה משאבים בהתאמה אישית ובקרי של Kubernetes. המשאבים המותאמים אישית משמשים למעשה כ-Kf API, והם נמצאים בשימוש ב-kf CLI כדי ליצור אינטראקציה עם המערכת. הבקרי Kf משתמשים ב-CRD כדי לתזמן את הרכיבים האחרים במערכת.

Kf CRDs

כדי לראות את ה-CRD שהותקנו ומשמשים את Kf, מריצים את הפקודה הבאה:

kubectl api-resources --api-group=kf.dev

הפלט של הפקודה הזו הוא:

NAME                      SHORTNAMES   APIGROUP   NAMESPACED   KIND
apps                                   kf.dev     true         App
builds                                 kf.dev     true         Build
clusterservicebrokers                  kf.dev     false        ClusterServiceBroker
routes                                 kf.dev     true         Route
servicebrokers                         kf.dev     true         ServiceBroker
serviceinstancebindings                kf.dev     true         ServiceInstanceBinding
serviceinstances                       kf.dev     true         ServiceInstance
spaces                                 kf.dev     false        Space

אפליקציות

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

  • גרסאות Build של Kf
  • מסלולים ב-Kf
  • פריסות Kubernetes
  • Kubernetes Services
  • Kubernetes ServiceAccounts
  • סודות של Kubernetes

אפשר לרשום אפליקציות באמצעות Kf או kubectl:

kf apps
kubectl get apps -n space-name

גרסאות Build

גרסאות build משלבות את קוד המקור ואת תצורת ה-build של האפליקציות. הם מספקים TaskRuns של Tekton עם השלבים הנכונים להפעלת Buildpack V2,‏ Buildpack V3 או Dockerfile build.

אפשר להציג רשימה של Builds באמצעות Kf או kubectl:

kf builds
kubectl get builds -n space-name

ClusterServiceBrokers

‫ClusterServiceBrokers מכילים את פרטי החיבור שנדרשים כדי להרחיב את Kf באמצעות מתווך שירותים. הם אחראים לאחזור קטלוג השירותים שהברוקר מספק ולהצגתם בפלט של kf marketplace.

אפשר להציג רשימה של ClusterServiceBrokers באמצעות הפקודה kubectl:

kubectl get clusterservicebrokers

מסלולים

נתיבים הם מבנה ברמה גבוהה שמכיל כללי ניתוב של HTTP. הם אחראים לתיאום של Istio VirtualServices.

אפשר לקבל רשימה של מסלולים באמצעות Kf או kubectl:

kf routes
kubectl get routes -n space-name

ServiceBrokers

ב-ServiceBrokers נשמרים פרטי החיבור שנדרשים כדי להרחיב את Kf באמצעות מתווך שירותים. הם אחראים לאחזור קטלוג השירותים שהברוקר מספק ולהצגתם בפלט של kf marketplace.

אפשר להציג רשימה של ServiceBrokers באמצעות kubectl:

kubectl get servicebrokers -n space-name

ServiceInstanceBinding

‫ServiceInstanceBindings מכילים את הפרמטרים ליצירת קישור ב-service broker ואת פרטי הכניסה שהברוקר מחזיר לקישור. הם אחראים לקריאה ל-API של הקישור בברוקר כדי לקשר את השירות.

אפשר להציג רשימה של ServiceInstanceBindings באמצעות Kf או kubectl:

kf bindings
kubectl get serviceinstancebindings -n space-name

ServiceInstance

ב-ServiceInstances מוגדרים הפרמטרים ליצירת שירות במתווך שירותים. הם אחראים לקריאה ל-API של הקצאת הרשאות בברוקר כדי ליצור את השירות.

אפשר להציג רשימה של ServiceInstances באמצעות Kf או kubectl:

kf services
kubectl get serviceinstances -n space-name

Spaces

במרחבים מאוחסן מידע על ההגדרות, בדומה לארגונים ולמרחבים ב-Cloud Foundry. הם אחראים ל:

  • יצירת מרחב השמות של Kubernetes שבו מוקצים משאבי Kf אחרים.
  • יצירת כללי מדיניות של רשת Kubernetes כדי לאכוף את כללי המדיניות של חיבור לרשת.
  • הגדרות ומדיניות לגבי Builds,‏ Apps ו-Routes.

אפשר לראות את רשימת המרחבים באמצעות Kf או kubectl:

kf spaces
kubectl get spaces

ספריות של צד שלישי

אפשר למצוא את קוד המקור והרישיונות של ספריות צד שלישי בספרייה /third_partyשל כל קובץ אימג' של קונטיינר של Kf.

אפשר גם להריץ את הפקודה kf third-party-licenses כדי לראות את הרישיונות של צד שלישי לגרסה של Kf CLI שהורדתם.