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.devDie 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 appskubectl 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 buildskubectl 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 clusterservicebrokersRouten
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 routeskubectl 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-nameServiceInstanceBinding
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 bindingskubectl 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 serviceskubectl 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 spaceskubectl 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.