Kf nécessite Kubernetes et plusieurs autres projets OSS pour s'exécuter. Certaines dépendances sont assurées par les services gérés par Google. Par exemple, Google Kubernetes Engine (GKE) fournit Kubernetes.
Dépendances
Composants Kf
Kf installe plusieurs de ses propres ressources personnalisées et contrôleurs Kubernetes.
Les ressources personnalisées servent efficacement d'API Kf et sont utilisées par la CLI kf
pour interagir avec le système.
Les contrôleurs utilisent les CRD de Kf pour orchestrer les autres composants du système.
CRD Kf
Vous pouvez afficher les CRD installés et utilisés par Kf à l'aide de la commande suivante :
kubectl api-resources --api-group=kf.dev
Le résultat de cette commande est le suivant :
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
Applications
Les applications représentent des applications douze facteurs déployées sur Kubernetes. Elles englobent le code source, la configuration et l'état actuel de l'application. Les applications sont chargées du rapprochement des éléments suivants :
- Builds Kf
- Routes Kf
- Déploiements Kubernetes
- Services Kubernetes
- Comptes de service Kubernetes
- Secrets Kubernetes
Vous pouvez répertorier les applications à l'aide de Kf ou de kubectl
:
kf apps
kubectl get apps -n space-name
Builds
Les builds combinent le code source et la configuration de compilation des applications. Ils indiquent aux exécutions de tâche Tekton la procédure appropriée pour activer un build Buildpack V2, Buildpack V3 ou Dockerfile.
Vous pouvez répertorier les compilations à l'aide de Kf ou de kubectl
:
kf builds
kubectl get builds -n space-name
ClusterServiceBrokers
Les agents de service des clusters contiennent les informations de connexion nécessaires pour étendre l'utilisation de Kf avec un agent de service. Ils sont chargés d'extraire le catalogue de services fourni par l'agent et de l'afficher dans le résultat de la commande kf marketplace
.
Vous pouvez répertorier les agents de service des clusters à l'aide de kubectl
:
kubectl get clusterservicebrokers
Routes
Les routes représentent une structure de haut niveau contenant les règles de routage HTTP. Elles sont chargées du rapprochement des services virtuels Istio.
Vous pouvez répertorier les routes à l'aide de Kf ou de kubectl
:
kf routes
kubectl get routes -n space-name
ServiceBrokers
Les agents de service contiennent les informations de connexion nécessaires pour étendre l'utilisation de Kf avec un agent de service. Ils sont chargés d'extraire le catalogue de services fourni par l'agent et de l'afficher dans le résultat de la commande kf marketplace
.
Vous pouvez répertorier les agents de service à l'aide de kubectl
:
kubectl get servicebrokers -n space-name
ServiceInstanceBinding
Les liaisons d'instances de service contiennent les paramètres permettant de créer une liaison sur un agent de service et les identifiants renvoyés par celui-ci pour la liaison. Elles sont chargées d'appeler l'API de liaison sur l'agent pour lier le service.
Vous pouvez répertorier les liaisons d'instances de service à l'aide de Kf ou de kubectl
:
kf bindings
kubectl get serviceinstancebindings -n space-name
ServiceInstance
Les instances de service contiennent les paramètres permettant de créer un service sur un agent de service. Elles sont chargées d'appeler l'API de provisionnement sur l'agent pour lier le service.
Vous pouvez répertorier les instances de service à l'aide de Kf ou de kubectl
:
kf services
kubectl get serviceinstances -n space-name
Espaces
Les espaces contiennent des informations de configuration semblables à celles des organisations et des espaces Cloud Foundry. Ils sont chargés des opérations suivantes :
- Créer l'espace de noms Kubernetes dans lequel d'autres ressources Kf sont provisionnées
- Créer des règles de réseau Kubernetes pour appliquer les règles de connexion réseau
- Conserver la configuration et les règles des builds, des applications et des routes
Vous pouvez répertorier les espaces à l'aide de Kf ou de kubectl
:
kf spaces
kubectl get spaces
Comptes de service
Kf nécessite le cluster Kubernetes dans lequel il s'exécute pour créer un compte de service.
Le compte de service est utilisé par Tekton pour s'authentifier auprès du Container Registry afin de récupérer et de transférer des images.
Si vous installez Kf avec les modèles CloudBuild, un compte de service Identity and Access Management sera créé avec l'autorisation roles/storage.admin
.
Bibliothèques tierces
Le code source et les licences des bibliothèques tierces se trouvent dans le répertoire /third_party
de chaque image de conteneur Kf.
Vous pouvez également exécuter la commande kf third-party-licenses
pour afficher les licences tierces correspondant à la version de la CLI Kf que vous avez téléchargée.