Kf requiere Kubernetes y varios otros proyectos de OSS para ejecutarse. Se pueden satisfacer algunas de las dependencias con los servicios administrados de Google. Por ejemplo, Google Kubernetes Engine (GKE) proporciona Kubernetes.
Dependencias
Componentes de Kf
Kf instala varios de sus propios recursos personalizados y controladores de Kubernetes.
Los recursos personalizados funcionan de forma efectiva como la API de Kf y los usa la CLI de kf
para interactuar con el sistema.
Los controladores usan CRD de Kf para organizar los otros componentes del sistema.
CRD de Kf
Puedes ver los CRD que instaló y usó Kf con el siguiente comando:
kubectl api-resources --api-group=kf.dev
Este es el resultado de ese 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
Aplicaciones
Las apps representan una aplicación de doce factores implementada en Kubernetes. Incluyen el código fuente, la configuración y el estado actual de la aplicación. Las aplicaciones son responsables de la conciliación:
- Kf Builds
- Kf Routes
- Implementaciones de Kubernetes
- Servicios de Kubernetes
- Cuentas de servicio de Kubernetes
- Secretos de Kubernetes
Puedes enumerar apps con Kf o kubectl
:
kf apps
kubectl get apps -n space-name
Compilaciones
Las compilaciones combinan el código fuente y la configuración de compilación para apps. Proporcionan a Tekton TaskRuns los pasos correctos para activar una compilación de Buildpack V2, Buildpack V3 o de Dockerfile.
Puedes enumerar compilaciones con Kf o kubectl
:
kf builds
kubectl get builds -n space-name
ClusterServiceBrokers
Los ClusterServiceBrokers contienen la información de conexión necesaria para extender Kf con un agente del servicio. Se encargan de recuperar el catálogo de servicios que el agente proporciona y de mostrarlos en el resultado de kf marketplace
.
Puedes enumerar ClusterServiceBokers con kubectl
:
kubectl get clusterservicebrokers
Rutas
Las rutas son una estructura de alto nivel que contiene reglas de enrutamiento HTTP. Se encargan de conciliar los VirtualServices de Istio.
Puedes enumerar rutas con Kf o kubectl
:
kf routes
kubectl get routes -n space-name
ServiceBrokers
Los ServiceBrokers contienen información de conexión necesaria para extender Kf con un agente del servicio. Se encargan de recuperar el catálogo de servicios que el agente proporciona y de mostrarlos en el resultado de kf marketplace
.
Puedes enumerar ServiceBrokers con kubectl
:
kubectl get servicebrokers -n space-name
ServiceInstanceBinding
Los ServiceInstanceBinding contienen los parámetros para crear una vinculación en un agente del servicio y las credenciales que muestra el agente para la vinculación. Se encargan de llamar a la API de vinculación en el agente para vincular el servicio.
Puedes enumerar los ServiceInstanceBindings con Kf o kubectl
:
kf bindings
kubectl get serviceinstancebindings -n space-name
ServiceInstance
Las ServiceInstance contienen los parámetros para crear un servicio en un agente del servicio. Son responsables de llamar a la API de aprovisionamiento en el agente para crear el servicio.
Puedes enumerar las ServiceInstance con Kf o kubectl
:
kf services
kubectl get serviceinstances -n space-name
Spaces
Los Spaces contienen información de configuración de forma similar a las organizaciones y los espacios de Cloud Foundry. Se encargan de lo siguiente:
- Crear el espacio de nombres de Kubernetes en el que se aprovisionan otros recursos de Kf
- Crear NetworkPolicies de Kubernetes para aplicar las políticas de conexión de red
- Conservar la configuración y las políticas para compilaciones, apps y rutas
Puedes enumerar los Spaces con Kf o kubectl
:
kf spaces
kubectl get spaces
Cuentas de servicio
Kf requiere que el clúster de Kubernetes en el que se ejecuta tenga una cuenta de servicio.
Tekton usa la cuenta de servicio a fin de autenticarse en el registro de contenedores para extraer y enviar imágenes.
Si instalas Kf con las plantillas de Cloud Build, se creará una cuenta de servicio de administración de identidades y accesos con el permiso roles/storage.admin
.
Bibliotecas de terceros
El código fuente y las licencias de las bibliotecas de terceros se pueden encontrar en el directorio /third_party
de cualquier imagen de contenedor de Kf.
También puedes ejecutar kf third-party-licenses
para ver las licencias de terceros de la versión de la CLI de Kf que descargaste.