Configuration du cluster

Kf utilise un ConfigMap Kubernetes nommé config-defaults dans l'espace de noms kf pour stocker les paramètres de configuration à l'échelle du cluster. Ce document explique sa structure et ses champs.

Structure du fichier ConfigMap config-defaults

Le configmap contient trois types de paires clé/valeur dans le champ .data :

  • Les clés de commentaire précédées de _ contiennent des exemples, des notes et des avertissements.
  • Les clés de chaîne contiennent des valeurs en texte brut.
  • Les clés d'objet contiennent une valeur JSON ou YAML encodée sous forme de chaîne.

Exemple :

_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

Exemple de section

La section "Exemple" sous la clé _example contient des explications pour d'autres champs et exemples. Les modifications apportées à cette section n'ont aucun effet.

Registre de conteneurs de l'espace

La propriété spaceContainerRegistry est une valeur sous forme de texte brut qui spécifie le registre de conteneurs par défaut que chaque espace utilise pour stocker les images créées.

Exemple :

spaceContainerRegistry: gcr.io/my-project

Domaines de cluster d'espace

La propriété spaceClusterDomains est un tableau YAML d'objets de domaine encodé sous forme de chaîne.

Chaque espace du cluster ajoute tous les éléments du tableau à sa liste de domaines auxquels les développeurs peuvent lier leurs applications.

Champs
domain

string

Nom de domaine mis à disposition. Peut contenir l'une des substitutions suivantes :

  • $(SPACE_NAME) : remplacé dans chaque espace par le nom de l'espace.
  • $(CLUSTER_INGRESS_IP) : adresse IP de la passerelle d'entrée du cluster.
gatewayName

string

(facultatif)

Remplace les passerelles Istio auxquelles il est lié. La valeur par défaut est kf/external-gateway, mais toute autre passerelle de l'espace de noms kf peut être utilisée.

Exemple :

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

Buildpacks du compilateur de cycle de vie V2

La propriété buildpacksV2LifecycleBuilder contient la version du binaire builder de Cloud Foundry utilisé pour exécuter les builds d'un buildpack V2.

La valeur est une référence Git. Pour utiliser une version spécifique, ajoutez un symbole @ suivi d'un hachage Git SHA à la fin.

Exemple :

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

Buildpacks du lanceur de cycle de vie V2

La propriété buildpacksV2LifecycleLauncher contient la version du binaire launcher de Cloud Foundry intégré à chaque application d'un buildpack V2.

La valeur est une référence Git. Pour utiliser une version spécifique, ajoutez un symbole @ suivi d'un hachage Git SHA à la fin.

Exemple :

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

Liste des buildpacks V2

La propriété spaceBuildpacksV2 est un tableau YAML encodé sous forme de chaîne qui contient une liste ordonnée de buildpacks par défaut, qui sont utilisés pour créer des applications compatibles avec le processus des buildpacks V2.

Champs
name

string

Un nom court que les développeurs peuvent utiliser pour faire référence au buildpack dans leurs fichiers manifestes d'application.

url

string

URL utilisée pour récupérer le buildpack.

disabled

boolean

Utilisé pour empêcher l'exécution de ce buildpack.

Liste des piles V2

La propriété spaceBuildpacksV2 est un tableau YAML encodé sous forme de chaîne qui contient une liste numérotée de piles pouvant être utilisées avec les builds compatibles avec Cloud Foundry.

Champs
name

string

Un nom court que les développeurs peuvent utiliser pour faire référence à la pile dans les fichiers manifestes de leur application.

image

string

URL de l'image de conteneur à utiliser comme pile. Pour en savoir plus, consultez la page https://kubernetes.io/docs/concepts/containers/images.

Liste des piles V3

La propriété spaceStacksV3 est un tableau YAML encodé sous forme de chaîne qui contient une liste ordonnée de piles pouvant être utilisées avec les builds Cloud Native Buildpack.

Champs
name

string

Un nom court que les développeurs peuvent utiliser pour faire référence à la pile dans les fichiers manifestes de leur application.

description

string

Description courte de la pile affichée lors de l'exécution de kf stacks.

buildImage

string

URL de l'image de conteneur à utiliser comme compilateur. Pour en savoir plus, consultez la page https://kubernetes.io/docs/concepts/containers/images.

runImage

string

URL de l'image de conteneur à utiliser comme base pour toutes les applications créées avec . Pour en savoir plus, consultez la page https://kubernetes.io/docs/concepts/containers/images.

nodeSelector

map (key: string, value: string)

(facultatif)

NodeSelector utilisé pour indiquer les nœuds sur lesquels les applications créées avec cette pile peuvent s'exécuter.

Exemple :

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

Utiliser par défaut la pile V3

La propriété spaceDefaultToV3Stack contient une valeur entre guillemets true ou false indiquant si les espaces doivent utiliser des piles V3 si aucune n'est spécifiée par un utilisateur.

Flags de fonctionnalité

La propriété featureFlags contient une carte YAML d'indicateurs de commutateur de fonctionnalité encodée sous forme de chaîne, qui peut activer et désactiver les fonctionnalités de Kf.

Les noms d'options non compatibles avec Kf seront ignorés.

Nom d'option Par défaut Objectif
disable_custom_builds false Désactiver l'accès des développeurs à des pipelines de compilation Tekton arbitraires.
enable_dockerfile_builds true Autoriser les développeurs à compiler le code source à partir de Dockerfile.
enable_custom_buildpacks true Autoriser les développeurs à spécifier des buildpacks externes dans leurs applications.
enable_custom_stacks true Autoriser les développeurs à spécifier des piles personnalisées dans leurs applications.

Exemple :

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