Configurazione cluster

Kf utilizza una configmap Kubernetes denominata config-defaults nello spazio dei nomi kf per archiviare le impostazioni di configurazione a livello di cluster. Questo documento ne illustra la struttura e i campi.

Struttura della mappa di configurazione config-defaults

Il file configmap contiene tre tipi di coppie chiave/valore nel campo .data:

  • Le chiavi dei commenti con prefisso _ contengono esempi, note e avvisi.
  • Le chiavi delle stringhe contengono valori di testo normale.
  • Le chiavi degli oggetti contengono un valore JSON o YAML che è stato codificato come stringa.

Esempio:

_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

Sezione di esempio

La sezione di esempi sotto la chiave _example contiene spiegazioni per altri campi ed esempi. Le modifiche apportate a questa sezione non hanno effetto.

Container Registry dello spazio

La proprietà spaceContainerRegistry è un valore di testo normale che specifica il Container Registry predefinito utilizzato da ogni spazio per archiviare le immagini create.

Esempio:

spaceContainerRegistry: gcr.io/my-project

Domini dei cluster di spazio

La proprietà spaceClusterDomains è un array YAML codificato di oggetti dominio con codifica stringa.

Ogni spazio nel cluster aggiunge tutti gli elementi dell'array al proprio elenco di domini a cui gli sviluppatori possono associare le loro app.

Campi
domain

string

Il nome di dominio da rendere disponibile. Può contenere una delle seguenti sostituzioni:

  • $(SPACE_NAME): sostituito in ogni spazio con il nome dello spazio.
  • $(CLUSTER_INGRESS_IP): l'indirizzo IP del gateway in entrata del cluster.
gatewayName

string

(facoltativo)

Esegue l'override delle route del gateway Istio a cui verranno associate. Il valore predefinito è kf/external-gateway, ma è possibile utilizzare qualsiasi altro gateway nello spazio dei nomi kf.

Esempio:

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 del ciclo di vita di Buildpacks V2

La proprietà buildpacksV2LifecycleBuilder contiene la versione del programma binario di Cloud Foundry builder utilizzato per eseguire le build buildpack v2.

Il valore è un riferimento Git. Per utilizzare una versione specifica, aggiungi alla fine un simbolo @ seguito da una SHA di Git.

Esempio:

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

Avvio app del ciclo di vita di Buildpack V2

La proprietà buildpacksV2LifecycleLauncher contiene la versione del programma binario di Cloud Foundry launcher integrato in ogni applicazione buildpack V2.

Il valore è un riferimento Git. Per utilizzare una versione specifica, aggiungi alla fine un simbolo @ seguito da una SHA di Git.

Esempio:

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

Elenco Buildpacks V2

La proprietà spaceBuildpacksV2 è un array YAML codificato in stringa che contiene un elenco ordinato di buildpack predefiniti utilizzati per creare applicazioni compatibili con il processo V2 buildpack.

Campi
name

string

Un nome breve che gli sviluppatori possono utilizzare per fare riferimento al buildpack nei manifest dell'applicazione.

url

string

L'URL utilizzato per recuperare il buildpack.

disabled

boolean

Utilizzato per impedire l'esecuzione di questo buildpack.

Elenco Stack V2

La proprietà spaceBuildpacksV2 è un array YAML codificato in stringa che contiene un elenco ordinato di stack che possono essere utilizzati con build compatibili con Cloud Foundry.

Campi
name

string

Un nome breve che gli sviluppatori possono utilizzare per fare riferimento allo stack nei manifest dell'applicazione.

image

string

URL dell'immagine container da utilizzare come stack. Per ulteriori informazioni, visita la pagina https://kubernetes.io/docs/concepts/containers/images.

Elenco Stack V3

La proprietà spaceStacksV3 è un array YAML codificato in stringa che contiene un elenco ordinato di stack che possono essere utilizzati con le build di Cloud Native Buildpack.

Campi
name

string

Un nome breve che gli sviluppatori possono utilizzare per fare riferimento allo stack nei manifest dell'applicazione.

description

string

Una breve descrizione dello stack mostrato durante l'esecuzione di kf stacks.

buildImage

string

URL dell'immagine container da utilizzare come generatore. Per ulteriori informazioni, visita la pagina https://kubernetes.io/docs/concepts/containers/images.

runImage

string

URL dell'immagine container da utilizzare come base per tutte le app create con . Per ulteriori informazioni, visita la pagina https://kubernetes.io/docs/concepts/containers/images.

nodeSelector

map (key: string, value: string)

(facoltativo)

Un NodeSelector utilizzato per indicare su quali nodi possono essere eseguite le applicazioni create con questo stack.

Esempio:

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

Il valore predefinito è Stack V3

La proprietà spaceDefaultToV3Stack contiene un valore true o false tra virgolette che indica se gli spazi devono utilizzare gli stack V3 nel caso in cui un utente non ne specifichi uno.

Flag funzionalità

La proprietà featureFlags contiene una mappa YAML con codifica stringa di flag funzionalità che possono attivare e disattivare le funzionalità di Kf.

I nomi dei flag non supportati da Kf verranno ignorati.

Nome flag Predefinito Finalità
disable_custom_builds false Disabilita l'accesso degli sviluppatori alle pipeline di build Tekton arbitrarie.
enable_dockerfile_builds true Consenti agli sviluppatori di creare codice sorgente da file Docker.
enable_custom_buildpacks true Consente agli sviluppatori di specificare buildpack esterni nelle proprie applicazioni.
enable_custom_stacks true Consenti agli sviluppatori di specificare stack personalizzati nelle loro applicazioni.

Esempio:

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