Configuração do cluster

O Kf usa um ConfigMap do Kubernetes chamado config-defaults no namespace kf para armazenar as configurações do cluster. Este documento explica essa estrutura e os campos dela.

Estrutura do ConfigMap config-defaults

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

  • As chaves de comentário com o prefixo _ 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 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

Seção de exemplo

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.

Container Registry do espaço

A propriedade spaceContainerRegistry é um valor de texto simples que especifica o Container Registry padrão que cada espaço usa para armazenar as imagens criadas.

Exemplo:

spaceContainerRegistry: gcr.io/my-project

Domínios de cluster do espaço

A propriedade spaceClusterDomains é uma matriz YAML codificada em string 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 em 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 do gateway do Istio que serão vinculadas. 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

Builder de ciclo de vida para buildpacks da V2

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

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

Exemplo:

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

Tela de início do ciclo de vida para buildpacks da V2

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

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

Exemplo:

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

Lista de buildpacks da V2

A propriedade spaceBuildpacksV2 é uma matriz YAML codificada em string que contém uma lista ordenada de buildpacks padrão usados para criar aplicativos aceitos pelo processo dos buildpacks da V2.

Campos
name

string

Um nome curto que os desenvolvedores podem usar para fazer referência ao buildpack nos manifestos do aplicativo.

url

string

O URL usado para buscar o buildpack.

disabled

boolean

Usado para evitar a execução do buildpack.

Lista de pilhas da V2

A propriedade spaceBuildpacksV2 é uma matriz YAML codificada em string que contém uma lista ordenada de pilhas que podem ser usadas com builds aceitos pelo Cloud Foundry.

Campos
name

string

Um nome curto que os desenvolvedores usam para fazer referência à pilha nos manifestos do aplicativo.

image

string

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

Lista de pilhas da V3

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

Campos
name

string

Um nome curto que os desenvolvedores usam para fazer referência à pilha nos manifestos do aplicativo.

description

string

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

buildImage

string

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

runImage

string

URL da imagem de contêiner a ser usada 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 em quais nós os aplicativos 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 da V3 como padrão

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

Flags de recurso

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

Os nomes de flags que não são aceitos no Kf serão ignorados.

Nome da flag Padrão Finalidade
disable_custom_builds false Desativar o acesso do desenvolvedor a pipelines de build arbitrários do Tekton.
enable_dockerfile_builds true Permitir que os desenvolvedores criem o código-fonte com base em Dockerfiles.
enable_custom_buildpacks true Permitir que os desenvolvedores especifiquem buildpacks externos nos aplicativos.
enable_custom_stacks true Permitir que os desenvolvedores especifiquem pilhas personalizadas nos aplicativos.

Exemplo:

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