כדי להפעיל את 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 appskubectl get apps -n space-name
גרסאות Build
גרסאות build משלבות את קוד המקור ואת תצורת ה-build של האפליקציות. הם מספקים TaskRuns של Tekton עם השלבים הנכונים להפעלת Buildpack V2, Buildpack V3 או Dockerfile build.
אפשר להציג רשימה של Builds באמצעות Kf או kubectl:
kf buildskubectl get builds -n space-name
ClusterServiceBrokers
ClusterServiceBrokers מכילים את פרטי החיבור שנדרשים כדי להרחיב את Kf באמצעות מתווך שירותים. הם אחראים לאחזור קטלוג השירותים שהברוקר מספק ולהצגתם בפלט של kf marketplace.
אפשר להציג רשימה של ClusterServiceBrokers באמצעות הפקודה kubectl:
kubectl get clusterservicebrokersמסלולים
נתיבים הם מבנה ברמה גבוהה שמכיל כללי ניתוב של HTTP. הם אחראים לתיאום של Istio VirtualServices.
אפשר לקבל רשימה של מסלולים באמצעות Kf או kubectl:
kf routeskubectl get routes -n space-name
ServiceBrokers
ב-ServiceBrokers נשמרים פרטי החיבור שנדרשים כדי להרחיב את Kf באמצעות מתווך שירותים. הם אחראים לאחזור קטלוג השירותים שהברוקר מספק ולהצגתם בפלט של kf marketplace.
אפשר להציג רשימה של ServiceBrokers באמצעות kubectl:
kubectl get servicebrokers -n space-nameServiceInstanceBinding
ServiceInstanceBindings מכילים את הפרמטרים ליצירת קישור ב-service broker ואת פרטי הכניסה שהברוקר מחזיר לקישור. הם אחראים לקריאה ל-API של הקישור בברוקר כדי לקשר את השירות.
אפשר להציג רשימה של ServiceInstanceBindings באמצעות Kf או kubectl:
kf bindingskubectl get serviceinstancebindings -n space-name
ServiceInstance
ב-ServiceInstances מוגדרים הפרמטרים ליצירת שירות במתווך שירותים. הם אחראים לקריאה ל-API של הקצאת הרשאות בברוקר כדי ליצור את השירות.
אפשר להציג רשימה של ServiceInstances באמצעות Kf או kubectl:
kf serviceskubectl get serviceinstances -n space-name
Spaces
במרחבים מאוחסן מידע על ההגדרות, בדומה לארגונים ולמרחבים ב-Cloud Foundry. הם אחראים ל:
- יצירת מרחב השמות של Kubernetes שבו מוקצים משאבי Kf אחרים.
- יצירת כללי מדיניות של רשת Kubernetes כדי לאכוף את כללי המדיניות של חיבור לרשת.
- הגדרות ומדיניות לגבי Builds, Apps ו-Routes.
אפשר לראות את רשימת המרחבים באמצעות Kf או kubectl:
kf spaceskubectl get spaces
ספריות של צד שלישי
אפשר למצוא את קוד המקור והרישיונות של ספריות צד שלישי בספרייה /third_partyשל כל קובץ אימג' של קונטיינר של Kf.
אפשר גם להריץ את הפקודה kf third-party-licenses כדי לראות את הרישיונות של צד שלישי לגרסה של Kf CLI שהורדתם.