O Kf requer o Kubernetes e vários outros projetos de software de código aberto para ser executado. Algumas das dependências são satisfeitas com os serviços geridos pela Google. Por exemplo, o Google Kubernetes Engine (GKE) fornece o Kubernetes.
Dependências
Kf Components
O Kf instala vários dos seus próprios recursos personalizados e controladores do Kubernetes.
Os recursos personalizados servem efetivamente como a API Kf e são usados pela CLI kf
para interagir com o sistema.
Os controladores usam os CRDs do Kf para orquestrar os outros componentes no sistema.
CRDs do Kf
Pode ver os CRDs instalados e usados pelo Kf com o seguinte comando:
kubectl api-resources --api-group=kf.dev
O resultado desse 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
Apps
As apps representam uma aplicação de doze fatores implementada no Kubernetes. Abrangem o código-fonte, a configuração e o estado atual da aplicação. As apps são responsáveis pela conciliação dos seguintes elementos:
- Kf Builds
- Rotas Kf
- Implementações do Kubernetes
- Serviços do Kubernetes
- ServiceAccounts do Kubernetes
- Segredos do Kubernetes
Pode listar apps através de Kf ou kubectl
:
kf apps
kubectl get apps -n space-name
Compilações
As compilações combinam o código-fonte e a configuração de compilação para apps. Aprovisionam TaskRuns do Tekton com os passos corretos para acionar uma compilação de Buildpack V2, Buildpack V3 ou Dockerfile.
Pode listar as compilações através de Kf ou kubectl
:
kf builds
kubectl get builds -n space-name
ClusterServiceBrokers
Os ClusterServiceBrokers contêm as informações de ligação necessárias para expandir o Kf com um agente de serviços. São responsáveis por obter o catálogo de serviços que o agente fornece e apresentá-los no resultado de kf marketplace
.
Pode listar ClusterServiceBrokers através do comando kubectl
:
kubectl get clusterservicebrokers
Trajetos
As rotas são uma estrutura de nível superior que contém regras de encaminhamento HTTP. São responsáveis por conciliar os VirtualServices do Istio.
Pode listar rotas através de Kf ou kubectl
:
kf routes
kubectl get routes -n space-name
ServiceBrokers
Os ServiceBrokers contêm as informações de ligação necessárias para expandir o Kf com um agente de serviços. São responsáveis por obter o catálogo de serviços que o agente fornece e apresentá-los no resultado de kf marketplace
.
Pode listar ServiceBrokers através de kubectl
:
kubectl get servicebrokers -n space-name
ServiceInstanceBinding
Os ServiceInstanceBindings contêm os parâmetros para criar uma associação num agente de serviços e as credenciais que o agente devolve para a associação. São responsáveis por chamar a API de associação no agente para associar o serviço.
Pode listar ServiceInstanceBindings através do Kf ou do kubectl
:
kf bindings
kubectl get serviceinstancebindings -n space-name
ServiceInstance
As ServiceInstances contêm os parâmetros para criar um serviço num mediador de serviços. São responsáveis por chamar a API de aprovisionamento no agente para criar o serviço.
Pode listar ServiceInstances através do Kf ou do kubectl
:
kf services
kubectl get serviceinstances -n space-name
Espaços
Os espaços contêm informações de configuração semelhantes às organizações e aos espaços do Cloud Foundry. São responsáveis por:
- Criar o espaço de nomes do Kubernetes no qual outros recursos do Kf são aprovisionados.
- Criar NetworkPolicies do Kubernetes para aplicar políticas de ligação de rede.
- Contém a configuração e a política para compilações, apps e rotas.
Pode listar espaços através do Kf ou do kubectl
:
kf spaces
kubectl get spaces
Contas de serviço
O Kf requer que o cluster do Kubernetes em que está a ser executado tenha uma conta de serviço.
A conta de serviço é usada pelo Tekton para fazer a autenticação no registo de contentores para extrair e enviar imagens.
Se instalar o Kf com os modelos do Cloud Build, é criada uma conta de serviço de gestão de identidade e de acesso com a autorização roles/storage.admin
.
Bibliotecas de terceiros
Pode encontrar o código fonte e as licenças de bibliotecas de terceiros no /third_party
diretório de qualquer imagem de contentor do Kf.
Também pode executar kf third-party-licenses
para ver as licenças de terceiros da versão da CLI Kf que transferiu.