Für Kf ist Kubernetes und mehrere andere OSS-Projekte erforderlich. Einige Abhängigkeiten sind mit den von Google verwalteten Diensten erfüllt. Google Kubernetes Engine (GKE) bietet beispielsweise Kubernetes.
Abhängigkeiten
Kf-Komponenten
kf installiert einige seiner eigenen benutzerdefinierten Ressourcen und Controller von Kubernetes.
Die benutzerdefinierten Ressourcen dienen effektiv als Kf API und werden von der kf
-Befehlszeile verwendet, um mit dem System zu interagieren.
Die Controller verwenden die CRDs von Kf, um die anderen Komponenten im System zu orchestrieren.
Kf CRDs
Mit dem folgenden Befehl können Sie die von Kf installierten und verwendeten CRDs anzeigen lassen:
kubectl api-resources --api-group=kf.dev
Die Ausgabe dieses Befehls lautet:
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
Apps
Anwendungen stellen eine Twelve-Factor-Anwendung in Kubernetes bereit. Sie umfassen Quellcode, Konfiguration und den aktuellen Status der Anwendung. Apps müssen für den Abgleich verwendet werden:
- Kf-Builds
- Kf-Routes
- Kubernetes-Deployments
- Kubernetes-Dienste
- Kubernetes-Dienstkonten
- Kubernetes-Secrets
Sie können Anwendungen mithilfe von Kf oder kubectl
auflisten:
kf apps
kubectl get apps -n space-name
Builds
Builds kombinieren den Quellcode und die Build-Konfiguration für Anwendungen. Sie stellen Tekton TaskRuns mit den richtigen Schritten bereit, mit denen ein Buildpack V2, Buildpack V3 oder Dockerfile-Build erstellt wird.
Sie können Builds mit Kf oder kubectl
auflisten:
kf builds
kubectl get builds -n space-name
ClusterServiceBrokers
ClusterServiceBrokers enthalten die erforderlichen Verbindungsinformationen, um Kf mit einem Service Broker zu erweitern. Sie sind dafür verantwortlich, den Katalog der Dienste, die der Broker bereitstellt, abzurufen und in der Ausgabe von kf marketplace
anzuzeigen.
Sie können ClusterServiceBrokers mit kubectl
auflisten:
kubectl get clusterservicebrokers
Routen
Routen sind eine allgemeine Struktur, die HTTP-Routingregeln enthält. Sie sind für den Abgleich von Istio VirtualServices verantwortlich.
Sie können Routes mit Kf oder kubectl
auflisten:
kf routes
kubectl get routes -n space-name
ServiceBrokers
ServiceBrokers enthalten die erforderlichen Verbindungsinformationen, um Kf mit einem Service Broker zu erweitern. Sie sind dafür verantwortlich, den Katalog der Dienste, die der Broker bereitstellt, abzurufen und in der Ausgabe von kf marketplace
anzuzeigen.
Sie können ServiceBrokers mit kubectl
auflisten:
kubectl get servicebrokers -n space-name
ServiceInstanceBinding
ServiceInstanceBindings enthalten die Parameter zum Erstellen einer Bindung für einen Dienstbroker und die Anmeldedaten, die der Broker für die Bindung zurückgibt. Sie sind für den Aufruf der bind API auf dem Broker verantwortlich, um den Dienst zu binden.
Sie können ServiceInstanceBindings mit Kf oder kubectl
auflisten:
kf bindings
kubectl get serviceinstancebindings -n space-name
ServiceInstance
ServiceInstances enthalten die Parameter zum Erstellen eines Dienstes in einem Service Broker. Sie müssen die Provisioning API auf dem Broker aufrufen, um den Dienst zu erstellen.
Sie können ServiceInstances mit Kf oder kubectl
auflisten:
kf services
kubectl get serviceinstances -n space-name
Spaces
Spaces enthalten Konfigurationsinformationen, die den Cloud Foundry-Organisationen und -Bereichen ähneln. Sie sind verantwortlich für:
- das Erstellen des Kubernetes-Namespace, in dem andere Kf-Ressourcen bereitgestellt werden.
- das Erstellen der Kubernetes-NetworkPolicies, um Netzwerkverbindungsrichtlinien zu erzwingen.
- das Halten der Konfiguration und Richtlinie für Builds, Anwendungen und Routen.
Sie können Spaces mit Kf oder kubectl
auflisten:
kf spaces
kubectl get spaces
Dienstkonten
Für Kf muss der Kubernetes-Cluster, in dem es ausgeführt wird, ein Dienstkonto haben.
Das Dienstkonto wird von Tekton für die Authentifizierung bei der Container Registry verwendet, um Images abzurufen und zu übertragen.
Wenn Sie Kf mit den CloudBuild-Vorlagen installieren, wird ein Identity and Access Management-Dienstkonto mit der Berechtigung roles/storage.admin
erstellt.
Bibliotheken von Drittanbietern
Quellcode und Lizenzen von Drittanbietern finden Sie im Verzeichnis /third_party
eines beliebigen Kf-Container-Images.
Sie können auch kf third-party-licenses
ausführen, um die Drittanbieterlizenzen für die heruntergeladene Version der Kf CLI anzuzeigen.