Configuración del clúster

Kf usa un configmap de Kubernetes llamado config-defaults en el espacio de nombres kf para almacenar la configuración del clúster. En este documento, se explican su estructura y sus campos.

Estructura del config-defaults del ConfigMap

El ConfigMap contiene tres tipos de pares clave-valor en el campo .data:

  • Las claves de comentarios con el prefijo _ contienen ejemplos, notas y advertencias.
  • Las claves de string contienen valores de texto sin formato.
  • Las claves de objetos contienen un valor JSON o YAML que se codificó como una string.

Ejemplo:

_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

Sección de ejemplo:

La sección de ejemplo en la clave _example contiene explicaciones para otros campos y ejemplos. Los cambios en esta sección no tienen efecto.

Registro de contenedores de espacio

La propiedad spaceContainerRegistry es un valor de texto sin formato que especifica el registro de contenedores predeterminado que usa cada espacio para almacenar imágenes compiladas.

Ejemplo:

spaceContainerRegistry: gcr.io/my-project

Dominios de clústeres de espacio

La propiedad spaceClusterDomains es un array de YAML codificado en strings de objetos de dominio.

Cada espacio en el clúster agrega todos los elementos del array a su lista de dominios a los que los desarrolladores pueden vincular sus aplicaciones.

Campos
domain

string

El nombre de dominio que estará disponible. Puede contener una de las siguientes sustituciones:

  • $(SPACE_NAME): Se reemplaza en cada espacio por el nombre del espacio.
  • $(CLUSTER_INGRESS_IP): Es la dirección IP de la puerta de enlace de entrada del clúster.
gatewayName

string

(Opcional)

Anula la rutas de la puerta de enlace de Istio que se vincularán. La configuración predeterminada es kf/external-gateway, pero se puede usar cualquier otra puerta de enlace en el espacio de nombres kf.

Ejemplo:

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

Compilador de ciclos de vida de paquetes de compilación V2

La propiedad buildpacksV2LifecycleBuilder contiene la versión del objeto binario builder de Cloud Foundry utilizado para ejecutar las compilaciones del paquete de compilación V2.

El valor es una referencia de Git. Para usar una versión específica, agrega un símbolo @ seguido de un SHA de Git al final.

Ejemplo:

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

Iniciador de ciclos de vida de paquetes de compilación V2

La propiedad buildpacksV2LifecycleLauncher contiene la versión del objeto binario launcher de Cloud Foundry integrado en cada aplicación del paquete de compilación V2.

El valor es una referencia de Git. Para usar una versión específica, agrega un símbolo @ seguido de un SHA de Git al final.

Ejemplo:

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

Lista de paquetes de compilación V2

La propiedad spaceBuildpacksV2 es un array YAML codificado en string que contiene una lista ordenada de paquetes de compilación predeterminados que se utilizan para compilar aplicaciones compatibles con el proceso de compilación V2.

Campos
name

string

Un nombre corto que los desarrolladores pueden usar para hacer referencia al paquete de compilación en los manifiestos de su aplicación.

url

string

La URL utilizada para obtener el paquete de compilación.

disabled

boolean

Se usa para evitar que se ejecute este paquete de compilación.

Lista de pilas V2

La propiedad spaceBuildpacksV2 es un array YAML codificado en string que contiene una lista ordenada de pilas que pueden usarse con compilaciones compatibles con Cloud Foundry.

Campos
name

string

Un nombre corto que los desarrolladores pueden usar para hacer referencia a la pila en los manifiestos de sus aplicaciones.

image

string

URL de la imagen de contenedor que se usará como pila. Para obtener más información, consulta https://kubernetes.io/docs/concepts/containers/images.

Lista de pilas V3

La propiedad spaceStacksV3 es un array YAML codificado en string que contiene una lista ordenada de pilas que pueden usarse con compilaciones de Cloud Native Buildpack.

Campos
name

string

Un nombre corto que los desarrolladores pueden usar para hacer referencia a la pila en los manifiestos de sus aplicaciones.

description

string

Una breve descripción de la pila que se muestra cuando se ejecuta kf stacks.

buildImage

string

URL de la imagen del contenedor que se usará como compilador. Para obtener más información, consulta https://kubernetes.io/docs/concepts/containers/images.

runImage

string

URL de la imagen del contenedor que se usará como base para todas las aplicaciones compiladas con . Para obtener más información, consulta https://kubernetes.io/docs/concepts/containers/images.

nodeSelector

map (key: string, value: string)

(Opcional)

Un NodeSelector que se usa para indicar en qué nodos se pueden ejecutar aplicaciones compiladas con esta pila.

Ejemplo:

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

Valores predeterminados de la pila V3

La propiedad spaceDefaultToV3Stack contiene un valor entre comillas true o false que indica si los espacios deben usar pilas V3 si un usuario no especifica una.

Marcas de función

La propiedad featureFlags contiene un mapa YAML con codificación de string de marcas de función que puede habilitar o inhabilitar funciones de Kf.

Los nombres de las marcas que no sean compatibles con Kf se ignorarán.

Nombre de la marca Predeterminada Objetivo
disable_custom_builds false Inhabilita el acceso de los desarrolladores a las canalizaciones de compilación arbitrarias de Tekton.
enable_dockerfile_builds true Permite que los desarrolladores compilen código fuente a partir de dockerfiles.
enable_custom_buildpacks true Permite que los desarrolladores especifiquen paquetes de compilación externos en sus aplicaciones.
enable_custom_stacks true Permite que los desarrolladores especifiquen pilas personalizadas en sus aplicaciones.

Ejemplo:

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