Configuração do cluster

O Kf usa um configmap do Kubernetes chamado config-defaults no namespace kf para armazenar as configurações de todo o cluster. Este documento explica a estrutura e os campos.

Estrutura do config-defaults configmap

O configmap contém três tipos de pares de chave-valor no campo .data:

  • As chaves de comentário prefixadas por _ contêm exemplos, observações e avisos.
  • As chaves de string contêm valores de texto simples.
  • As chaves de objeto 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

Exemplo de seção

A seção de exemplo na chave _example contém explicações de outros campos e exemplos. As alterações nesta seção não têm efeito.

Registro do contêiner de espaço

A propriedade spaceContainerRegistry é um valor de texto simples que especifica o registro de contêiner padrão que cada espaço usa para armazenar imagens criadas.

Exemplo:

spaceContainerRegistry: gcr.io/my-project

Domínios de cluster espacial

A propriedade spaceClusterDomains é uma matriz YAML de string codificada de objetos de domínio.

Cada espaço no cluster adiciona todos os itens da matriz à lista de domínios a que os desenvolvedores podem vincular os apps.

Campos
domain

string

O nome de domínio a ser disponibilizado. Pode conter uma das seguintes substituições:

  • $(SPACE_NAME): substituído por cada espaço pelo nome do espaço.
  • $(CLUSTER_INGRESS_IP): o endereço IP do gateway de entrada do cluster.
gatewayName

string

(Opcional)

Substitui as rotas que se conectam ao gateway do Istio. O padrão é kf/external-gateway, mas qualquer outro gateway no namespace kf pode ser usado.

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

Criador de ciclo de vida da Buildpacks V2

A propriedade buildpacksV2LifecycleBuilder contém a versão do binário builder do Cloud Foundry usado para executar builds de buildpack v2.

O valor é uma referência do Git. Para usar uma versão específica, anexe um símbolo @ seguido por um SHA Git do final.

Exemplo:

buildpacksV2LifecycleBuilder: "code.cloudfoundry.org/buildpackapplifecycle/builder@GIT_SHA"

Tela de início do ciclo de vida do Buildpacks V2

A propriedade buildpacksV2LifecycleLauncher contém a versão do binário launcher do Cloud Foundry incorporado em cada aplicativo da versão do pacote V2.

O valor é uma referência do Git. Para usar uma versão específica, anexe um símbolo @ seguido por um SHA Git do final.

Exemplo:

buildpacksV2LifecycleLauncher: "code.cloudfoundry.org/buildpackapplifecycle/launcher@GIT_SHA"

Lista de Buildpacks V2

A propriedade spaceBuildpacksV2 é uma matriz YAML codificada em strings que contém uma lista ordenada de pacotes de criação padrão usados para criar apps compatíveis com o processo de pacotes de versão V2.

Campos
name

string

Um nome curto que os desenvolvedores podem usar para referenciar o pacote de compilação nos manifestos do aplicativo.

url

string

O URL usado para buscar o buildpack.

disabled

boolean

Usado para evitar a execução deste pacote de compilação.

Lista de pilhas V2

A propriedade spaceBuildpacksV2 é uma matriz YAML codificada em strings que contém uma lista ordenada de pilhas que podem ser usadas com builds compatíveis com o Cloud Foundry.

Campos
name

string

É um nome abreviado que os desenvolvedores usam para referenciar a pilha nos manifestos do aplicativo.

image

string

URL da imagem do contêiner a ser usado como a pilha. Para mais informações, consulte https://kubernetes.io/docs/concepts/containers/images.

Lista de pilhas V3

A propriedade spaceStacksV3 é uma matriz YAML codificada em strings que contém uma lista ordenada de pilhas que podem ser usadas com versões do Cloud Native Buildpack.

Campos
name

string

É um nome abreviado que os desenvolvedores usam para referenciar a pilha nos manifestos do aplicativo.

description

string

Uma breve descrição da pilha mostrada ao executar kf stacks.

buildImage

string

URL da imagem do contêiner a ser usado como a pilha. Para mais informações, consulte https://kubernetes.io/docs/concepts/containers/images.

runImage

string

URL da imagem do contêiner a ser usado como base para todos os apps criados com . Para mais informações, consulte https://kubernetes.io/docs/concepts/containers/images.

nodeSelector

map (key: string, value: string)

(Opcional)

Um NodeSelector usado para indicar quais aplicativos de nós criados com essa pilha podem ser executados.

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

Usar a pilha V3 como padrão

A propriedade spaceDefaultToV3Stack contém um valor citado true ou false para indicar se os espaços devem usar pilhas V3 se o usuário não especificar um.

Flags de recursos

A propriedade featureFlags contém um mapa YAML codificado em string que permite ativar e desativar recursos do Kf.

Os nomes de sinalizações que não forem compatíveis com Kf serão ignorados.

Nome da sinalização Padrão Finalidade
disable_custom_builds false Desative o acesso do desenvolvedor a pipelines de criação arbitrários do Tekton.
enable_dockerfile_builds true Permitir que os desenvolvedores criem código-fonte a partir do dockerfiles.
enable_custom_buildpacks true Permitir que os desenvolvedores especifiquem pacotes de criação externos nos aplicativos.
enable_custom_stacks true Permitir que os desenvolvedores especifiquem pilhas personalizadas nos apps.

Exemplo:

featureFlags: |
  disable_custom_builds: false
  enable_dockerfile_builds: true
  enable_some_feature: true