Kf richiede Kubernetes e diversi altri progetti OSS per l'esecuzione. Alcune dipendenze sono soddisfatte dei servizi gestiti di Google. Ad esempio, Google Kubernetes Engine (GKE) fornisce Kubernetes.
Dipendenze
Componenti Kf
Kf installa diverse risorse e controller Kubernetes personalizzati.
Le risorse personalizzate fungono efficacemente da API Kf e vengono utilizzate dall'interfaccia a riga di comando di kf
per interagire con il sistema.
I controller utilizzano i CRD di Kf per orchestrare gli altri componenti del sistema.
CRD Kf
Puoi visualizzare i CRD installati e utilizzati da Kf con il seguente comando:
kubectl api-resources --api-group=kf.dev
L'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 di cui è stato eseguito il deployment in Kubernetes. Esse comprendono il codice sorgente, la configurazione e lo stato attuale dell'applicazione. Le app sono responsabili della riconciliazione:
- Build Kf
- Percorsi Kf
- Deployment Kubernetes
- Servizi Kubernetes
- Account di servizio Kubernetes
- Secret di Kubernetes
Puoi elencare le app utilizzando Kf o kubectl
:
kf apps
kubectl get apps -n space-name
Build
Le build combinano il codice sorgente e la configurazione della build per le app. Esegue il provisioning di Tekton TaskRuns con i passaggi corretti per attivare una build Buildpack V2, Buildpack V3 o Dockerfile.
Puoi elencare le build utilizzando Kf o kubectl
:
kf builds
kubectl get builds -n space-name
ClusterServiceBrokers
ClusterServiceBrokers contiene le informazioni di connessione necessarie per estendere Kf con un service broker. È responsabile del recupero del catalogo dei servizi forniti dal broker e della relativa visualizzazione nell'output di kf marketplace
.
Puoi elencare ClusterServiceBrokers utilizzando kubectl
:
kubectl get clusterservicebrokers
Route
Le route sono una struttura di alto livello che contiene regole di routing HTTP. Sono responsabili della riconciliazione dei servizi virtuali Istio.
Puoi elencare le route utilizzando Kf o kubectl
:
kf routes
kubectl get routes -n space-name
ServiceBrokers
ServiceBrokers contiene le informazioni di connessione necessarie per estendere Kf con un service broker. È responsabile del recupero del catalogo dei servizi forniti dal broker e della relativa visualizzazione nell'output di kf marketplace
.
Puoi elencare i ServiceBroker utilizzando kubectl
:
kubectl get servicebrokers -n space-name
ServiceInstanceBinding
ServiceInstanceBindings contiene i parametri per creare un'associazione su un service broker e le credenziali che il broker restituisce per l'associazione. È la responsabilità di chiamare l'API bind sul broker per vincolare il servizio.
Puoi elencare ServiceInstanceBindings utilizzando Kf o kubectl
:
kf bindings
kubectl get serviceinstancebindings -n space-name
ServiceInstance
ServiceInstances contiene i parametri per creare un servizio su un service broker. È responsabile di chiamare l'API di provisioning sul broker per creare il servizio.
Puoi elencare le istanze di servizio utilizzando Kf o kubectl
:
kf services
kubectl get serviceinstances -n space-name
Spazi
Gli spazi contengono informazioni di configurazione simili alle organizzazioni e agli spazi di Cloud Foundry. Sono responsabili di:
- Creazione dello spazio dei nomi Kubernetes in cui viene eseguito il provisioning delle altre risorse Kf.
- Creazione di NetworkPolicy Kubernetes per l'applicazione dei criteri di connessione di rete.
- Blocco della configurazione e dei criteri per build, app e route.
Puoi elencare gli spazi utilizzando Kf o kubectl
:
kf spaces
kubectl get spaces
Librerie di terze parti
Il codice sorgente e le licenze della libreria di terze parti sono disponibili nella directory /third_party
di qualsiasi immagine container Kf.
Puoi anche eseguire kf third-party-licenses
per visualizzare le licenze di terze parti per
la versione dell'interfaccia a riga di comando Kf che hai scaricato.