O Kf usa um configmap do Kubernetes denominado config-defaults
no espaço de nomes kf
para armazenar definições de configuração ao nível do cluster.
Este documento explica a respetiva estrutura e campos.
Estrutura do configmap config-defaults
O configmap contém três tipos de pares de chave/valor no campo .data
:
- As chaves de comentários com o prefixo
_
contêm exemplos, notas e avisos. - As chaves de string contêm valores de texto simples.
- As chaves de objetos contêm um valor JSON ou YAML que foi codificado como uma string.
Exemplo:
_note: "This is some note"
stringKey: "This is a string key that's not encoded as JSON or YAML."
objectKey: |
- "These keys contain nested YAML or JSON."
- true
- 123.45
Secção de exemplo
A secção de exemplo na chave _example
contém explicações para outros campos e exemplos. As alterações a esta secção não têm efeito.
Space container registry
A propriedade spaceContainerRegistry
é um valor de texto simples que especifica o registo de contentores predefinido que cada espaço usa para armazenar imagens criadas.
Exemplo:
spaceContainerRegistry: gcr.io/my-project
Domínios de cluster de espaços
A propriedade spaceClusterDomains
é uma string codificada em YAML de objetos de domínio.
Cada espaço no cluster adiciona todos os itens na matriz à respetiva lista de domínios aos quais os programadores podem associar as respetivas apps.
Campos | |
---|---|
domain |
O nome do domínio a disponibilizar. Pode conter uma das seguintes substituições:
|
gatewayName |
(Opcional)
Substitui os trajetos do gateway do Istio aos quais o serviço vai estar associado.
A predefinição é |
Exemplo:
spaceClusterDomains: |
# Support canonical and vanity domains
- domain: $(SPACE_NAME).prod.example.com
- domain: $(SPACE_NAME).kf.us-east1.prod.example.com
# Using a dynamic DNS resolver
- domain: $(SPACE_NAME).$(CLUSTER_INGRESS_IP).nip.io
# Creating an internal domain only visible within the cluster
- domain: $(SPACE_NAME)-apps.internal
gatewayName: kf/internal-gateway
Buildpacks V2 lifecycle builder
A propriedade buildpacksV2LifecycleBuilder
contém a versão do binário do Cloud Foundry
builder
usado para executar compilações do buildpack v2.
O valor é uma referência Git. Para usar uma versão específica, acrescente um símbolo @
seguido de um SHA do Git no final.
Exemplo:
buildpacksV2LifecycleBuilder: "code.cloudfoundry.org/buildpackapplifecycle/builder@GIT_SHA"
Launcher do ciclo de vida dos buildpacks V2
A propriedade buildpacksV2LifecycleLauncher
contém a versão do binário do Cloud Foundry
launcher
incorporado em todas as aplicações do buildpack V2.
O valor é uma referência Git. Para usar uma versão específica, acrescente um símbolo @
seguido de um SHA do Git no final.
Exemplo:
buildpacksV2LifecycleLauncher: "code.cloudfoundry.org/buildpackapplifecycle/launcher@GIT_SHA"
Lista de buildpacks V2
A propriedade spaceBuildpacksV2
é uma matriz YAML codificada em string que contém uma lista ordenada de buildpacks predefinidos que são usados para criar aplicações compatíveis com o processo de buildpacks V2.
Campos | |
---|---|
name |
Um nome abreviado que os programadores podem usar para fazer referência ao buildpack nos manifestos das respetivas aplicações. |
url |
O URL usado para obter o buildpack. |
disabled |
Usado para impedir a execução deste buildpack. |
Lista de camadas V2
A propriedade spaceBuildpacksV2
é uma matriz YAML codificada em string que contém uma lista ordenada de stacks que podem ser usadas com compilações compatíveis com o Cloud Foundry.
Campos | |
---|---|
name |
Um nome abreviado que os programadores podem usar para fazer referência à pilha nos respetivos manifestos de aplicações. |
image |
URL da imagem do contentor a usar como a pilha. Para mais informações, consulte https://kubernetes.io/docs/concepts/containers/images. |
Lista de camadas V3
A propriedade spaceStacksV3
é uma matriz YAML codificada em string que contém uma lista ordenada de stacks que podem ser usadas com compilações do Cloud Native Buildpack.
Campos | |
---|---|
name |
Um nome abreviado que os programadores podem usar para fazer referência à pilha nos respetivos manifestos de aplicações. |
description |
Uma breve descrição da pilha apresentada quando executa |
buildImage |
URL da imagem do contentor a usar como criador. Para mais informações, consulte https://kubernetes.io/docs/concepts/containers/images. |
runImage |
URL da imagem do contentor a usar como base para todas as apps criadas com . Para mais informações, consulte https://kubernetes.io/docs/concepts/containers/images. |
nodeSelector |
(Opcional) Um NodeSelector usado para indicar em que nós as aplicações criadas com esta pilha podem ser executadas. |
Exemplo:
spaceStacksV3: |
- name: heroku-18
description: The official Heroku stack based on Ubuntu 18.04
buildImage: heroku/pack:18-build
runImage: heroku/pack:18
nodeSelector:
kubernetes.io/os: windows
Predefinição para a pilha V3
A propriedade spaceDefaultToV3Stack
contém um valor entre aspas true
ou false
que indica se os espaços devem usar conjuntos V3 se um utilizador não especificar um.
Sinalizações de funcionalidades
A propriedade featureFlags
contém um mapa YAML codificado em string de flags de funcionalidades
que podem ativar e desativar funcionalidades do Kf.
Os nomes de flags que não são suportados pelo Kf são ignorados.
Nome do sinalizador | Predefinição | Finalidade |
---|---|---|
disable_custom_builds |
false |
Desativar o acesso de programadores a pipelines de compilação do Tekton arbitrários. |
enable_dockerfile_builds |
true |
Permitir que os programadores criem código-fonte a partir de ficheiros Dockerfile. |
enable_custom_buildpacks |
true |
Permitir que os programadores especifiquem buildpacks externos nas respetivas aplicações. |
enable_custom_stacks |
true |
Permitir que os programadores especifiquem stacks personalizadas nas respetivas aplicações. |
Exemplo:
featureFlags: |
disable_custom_builds: false
enable_dockerfile_builds: true
enable_some_feature: true