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 |
El nombre de dominio que estará disponible. Puede contener una de las siguientes sustituciones:
|
gatewayName |
(Opcional)
Anula la rutas de la puerta de enlace de Istio que se vincularán.
La configuración predeterminada es |
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 |
Un nombre corto que los desarrolladores pueden usar para hacer referencia al paquete de compilación en los manifiestos de su aplicación. |
url |
La URL utilizada para obtener el paquete de compilación. |
disabled |
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 |
Un nombre corto que los desarrolladores pueden usar para hacer referencia a la pila en los manifiestos de sus aplicaciones. |
image |
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 |
Un nombre corto que los desarrolladores pueden usar para hacer referencia a la pila en los manifiestos de sus aplicaciones. |
description |
Una breve descripción de la pila que se muestra cuando se ejecuta |
buildImage |
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 |
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 |
(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 | Predeterminado | 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