Kf richiede l'esecuzione di Kubernetes e di diversi altri progetti open source. Alcune dipendenze sono soddisfatte con i servizi gestiti da Google. Ad esempio, Google Kubernetes Engine (GKE) fornisce Kubernetes.
Dipendenze
Componenti KF
Kf installa diverse risorse personalizzate e controller Kubernetes.
Le risorse personalizzate fungono efficacemente da API Kf e vengono utilizzate dall'interfaccia a riga di comando kf per interagire con il sistema.
I controller utilizzano le CRD di Kf per orchestrare gli altri componenti del sistema.
CRD di Kf
Puoi visualizzare i CRD installati e utilizzati da Kf con il seguente comando:
kubectl api-resources --api-group=kf.devL'output di questo comando è:
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
App
Le app rappresentano un'applicazione a 12 fattori implementata in Kubernetes. Includono il codice sorgente, la configurazione e lo stato corrente dell'applicazione. Le app sono responsabili della riconciliazione di:
- Kf Builds
- Route di kf
- Deployment Kubernetes
- Servizi Kubernetes
- Account di servizio Kubernetes
- Kubernetes Secrets
Puoi elencare le app utilizzando Kf o kubectl:
kf appskubectl get apps -n space-name
Build
Le build combinano il codice sorgente e la configurazione di build per le app. Eseguono il provisioning delle esecuzioni di task Tekton con i passaggi corretti per attivare una compilazione di Buildpack V2, Buildpack V3 o Dockerfile.
Puoi elencare le build utilizzando Kf o kubectl:
kf buildskubectl get builds -n space-name
ClusterServiceBrokers
ClusterServiceBrokers contiene le informazioni di connessione necessarie per estendere
Kf con un broker di servizi. Sono responsabili del recupero del catalogo dei servizi forniti dal broker e della loro visualizzazione nell'output di kf marketplace.
Puoi elencare ClusterServiceBrokers utilizzando kubectl:
kubectl get clusterservicebrokersRoute
Le route sono una struttura di alto livello che contiene regole di routing HTTP. Sono responsabili della riconciliazione dei VirtualService di Istio.
Puoi elencare le route utilizzando Kf o kubectl:
kf routeskubectl get routes -n space-name
ServiceBrokers
ServiceBrokers contiene le informazioni di connessione necessarie per estendere
Kf con un service broker. Sono responsabili del recupero del catalogo dei servizi forniti dal broker e della loro visualizzazione nell'output di kf marketplace.
Puoi elencare i ServiceBroker utilizzando kubectl:
kubectl get servicebrokers -n space-nameServiceInstanceBinding
ServiceInstanceBindings contiene i parametri per creare un'associazione in un broker di servizi e le credenziali restituite dal broker per l'associazione. Sono responsabili di chiamare l'API di binding sul broker per eseguire il binding del servizio.
Puoi elencare ServiceInstanceBindings utilizzando Kf o kubectl:
kf bindingskubectl get serviceinstancebindings -n space-name
ServiceInstance
ServiceInstances contiene i parametri per creare un servizio su un service broker. È responsabile della chiamata all'API di provisioning sul broker per creare il servizio.
Puoi elencare le istanze di servizio utilizzando Kf o kubectl:
kf serviceskubectl get serviceinstances -n space-name
Spaces
Gli spazi contengono informazioni di configurazione simili a quelle delle organizzazioni e degli spazi Cloud Foundry. Sono responsabili di:
- Crea lo spazio dei nomi Kubernetes in cui viene eseguito il provisioning di altre risorse Kf.
- Creazione di NetworkPolicies di Kubernetes per applicare i criteri di connessione di rete.
- Contiene la configurazione e i criteri per build, app e route.
Puoi elencare gli spazi utilizzando Kf o kubectl:
kf spaceskubectl get spaces
Librerie di terze parti
Il codice sorgente e le licenze delle librerie di terze parti sono disponibili nella /third_party
directory di qualsiasi immagine contenitore Kf.
Puoi anche eseguire kf third-party-licenses per visualizzare le licenze di terze parti per la versione della CLI di Kf che hai scaricato.