Kf memerlukan Kubernetes dan beberapa project OSS lainnya untuk dijalankan. Beberapa dependensi dipenuhi dengan layanan terkelola Google. Misalnya, Google Kubernetes Engine (GKE) menyediakan Kubernetes.
Dependensi
Komponen Kf
Kf menginstal beberapa resource kustom dan pengontrol Kubernetes-nya sendiri.
Resource kustom berfungsi secara efektif sebagai Kf API dan digunakan oleh CLI kf untuk berinteraksi dengan sistem.
Pengontrol menggunakan CRD Kf untuk mengatur komponen lain dalam sistem.
CRD Kf
Anda dapat melihat CRD yang diinstal dan digunakan oleh Kf dengan perintah berikut:
kubectl api-resources --api-group=kf.devOutput perintah tersebut adalah:
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
Aplikasi
Aplikasi mewakili aplikasi dua belas faktor yang di-deploy ke Kubernetes. File ini mencakup kode sumber, konfigurasi, dan status aplikasi saat ini. Aplikasi bertanggung jawab untuk merekonsiliasi:
- Build Kf
- Kf Routes
- Deployment Kubernetes
- Layanan Kubernetes
- ServiceAccounts Kubernetes
- Secret Kubernetes
Anda dapat mencantumkan Aplikasi menggunakan Kf atau kubectl:
kf appskubectl get apps -n space-name
Build
Build menggabungkan kode sumber dan konfigurasi build untuk Aplikasi. Buildpack menyediakan Tekton TaskRun dengan langkah-langkah yang benar untuk mengaktifkan build Buildpack V2, Buildpack V3, atau Dockerfile.
Anda dapat mencantumkan Build menggunakan Kf atau kubectl:
kf buildskubectl get builds -n space-name
ClusterServiceBrokers
ClusterServiceBrokers menyimpan informasi koneksi yang diperlukan untuk memperluas
Kf dengan broker layanan. Fungsi ini bertanggung jawab untuk
mengambil katalog layanan yang disediakan broker dan menampilkannya dalam
output kf marketplace.
Anda dapat mencantumkan ClusterServiceBrokers menggunakan kubectl:
kubectl get clusterservicebrokersRute
Rute adalah struktur tingkat tinggi yang berisi aturan pemilihan rute HTTP. VirtualService ini bertanggung jawab untuk merekonsiliasi VirtualServices Istio.
Anda dapat mencantumkan Rute menggunakan Kf atau kubectl:
kf routeskubectl get routes -n space-name
ServiceBrokers
ServiceBrokers menyimpan informasi koneksi yang diperlukan untuk memperluas
Kf dengan broker layanan. Fungsi ini bertanggung jawab untuk
mengambil katalog layanan yang disediakan broker dan menampilkannya dalam
output kf marketplace.
Anda dapat mencantumkan ServiceBrokers menggunakan kubectl:
kubectl get servicebrokers -n space-nameServiceInstanceBinding
ServiceInstanceBindings menyimpan parameter untuk membuat binding pada broker layanan dan kredensial yang ditampilkan broker untuk binding. API ini bertanggung jawab untuk memanggil API binding di broker guna mengikat layanan.
Anda dapat mencantumkan ServiceInstanceBindings menggunakan Kf atau kubectl:
kf bindingskubectl get serviceinstancebindings -n space-name
ServiceInstance
ServiceInstances menyimpan parameter untuk membuat layanan di broker layanan. API ini bertanggung jawab untuk memanggil API penyediaan di broker untuk membuat layanan.
Anda dapat mencantumkan ServiceInstance menggunakan Kf atau kubectl:
kf serviceskubectl get serviceinstances -n space-name
Ruang
Ruang menyimpan informasi konfigurasi yang mirip dengan organisasi dan ruang Cloud Foundry. Mereka bertanggung jawab untuk:
- Membuat Namespace Kubernetes tempat resource Kf lainnya disediakan.
- Membuat NetworkPolicies Kubernetes untuk menerapkan kebijakan koneksi jaringan.
- Menyimpan konfigurasi dan kebijakan untuk Build, Aplikasi, dan Rute.
Anda dapat mencantumkan Ruang menggunakan Kf atau kubectl:
kf spaceskubectl get spaces
Akun Layanan
Kf mewajibkan cluster Kubernetes tempatnya berjalan untuk memiliki akun layanan.
Akun layanan digunakan oleh Tekton untuk melakukan autentikasi ke container registry untuk mengambil dan mengirim image.
Jika Anda menginstal Kf dengan template CloudBuild, Kf akan membuat Akun Layanan Identity and Access Management dengan izin roles/storage.admin.
Library Pihak Ketiga
Kode sumber dan lisensi library pihak ketiga dapat ditemukan di direktori /third_party
dari image container Kf apa pun.
Anda juga dapat menjalankan kf third-party-licenses untuk melihat lisensi pihak ketiga untuk
versi Kf CLI yang telah Anda download.