Configuración de clústeres

Kf usa un mapa de configuración de Kubernetes llamado config-defaults en el espacio de nombres kf para almacenar los ajustes de configuración de todo el clúster. En este documento se explica su estructura y sus campos.

Estructura del configmap config-defaults

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

  • Las claves de comentarios que empiezan por _ contienen ejemplos, notas y advertencias.
  • Las claves de cadena contienen valores de texto sin formato.
  • Las claves de objeto contienen un valor JSON o YAML que se ha codificado como una cadena.

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 de la clave _example contiene explicaciones de otros campos y ejemplos. Los cambios en esta sección no tienen ningún efecto.

Registro de contenedores de espacios

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

Ejemplo:

spaceContainerRegistry: gcr.io/my-project

Dominios de clúster de espacio

La propiedad spaceClusterDomains es una matriz YAML codificada como cadena de objetos de dominio.

Cada espacio del clúster añade todos los elementos de la matriz a su lista de dominios a los que los desarrolladores pueden vincular sus aplicaciones.

Campos
domain

string

Nombre de dominio que se va a poner a disposición. Puede contener una de las siguientes sustituciones:

  • $(SPACE_NAME): se sustituye en cada espacio por el nombre del espacio.
  • $(CLUSTER_INGRESS_IP): la dirección IP de la pasarela de entrada del clúster.
gatewayName

string

(Opcional)

Anula las rutas de la pasarela de Istio a las que se enlazará. El valor predeterminado es kf/external-gateway, pero se puede usar cualquier otra pasarela del 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 del ciclo de vida de Buildpacks V2

La propiedad buildpacksV2LifecycleBuilder contiene la versión del archivo binario builder de Cloud Foundry que se usa para ejecutar compilaciones de buildpack v2.

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

Ejemplo:

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

Launcher del ciclo de vida de los paquetes de compilación V2

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

El valor es una referencia de Git. Para usar una versión específica, añade 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 una cadena codificada en YAML que contiene una lista ordenada de paquetes de compilación predeterminados que se usan para compilar aplicaciones compatibles con el proceso de paquetes de compilación V2.

Campos
name

string

Nombre corto que los desarrolladores pueden usar para hacer referencia al paquete de compilación en los manifiestos de sus aplicaciones.

url

string

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

disabled

boolean

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

Lista de Stacks V2

La propiedad spaceBuildpacksV2 es una matriz YAML codificada como cadena que contiene una lista ordenada de pilas que se pueden usar con compilaciones compatibles con Cloud Foundry.

Campos
name

string

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 va a usar como pila. Para obtener más información, consulta https://kubernetes.io/docs/concepts/containers/images.

Lista de Stacks V3

La propiedad spaceStacksV3 es una matriz YAML codificada como cadena que contiene una lista ordenada de pilas que se pueden usar con compilaciones de Cloud Native Buildpack.

Campos
name

string

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

description

string

Breve descripción de la pila que se muestra al ejecutar kf stacks.

buildImage

string

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

runImage

string

URL de la imagen de contenedor que se usará como base para todas las aplicaciones creadas 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 las aplicaciones creadas 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

Usar la pila de la versión 3 de forma predeterminada

La propiedad spaceDefaultToV3Stack contiene un valor entre comillas true o false que indica si los espacios deben usar pilas de la versión 3 si un usuario no especifica ninguna.

Marcas de funciones

La propiedad featureFlags contiene un mapa YAML codificado como cadena de marcas de funciones que pueden habilitar e inhabilitar funciones de Kf.

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

Nombre de la marca Predeterminado Finalidad
disable_custom_builds false Inhabilita el acceso de desarrolladores a las canalizaciones de compilación de Tekton arbitrarias.
enable_dockerfile_builds true Permite a los desarrolladores compilar código fuente a partir de archivos Dockerfile.
enable_custom_buildpacks true Permite a los desarrolladores especificar buildpacks externos en sus aplicaciones.
enable_custom_stacks true Permite a los desarrolladores especificar pilas personalizadas en sus aplicaciones.

Ejemplo:

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