Personalizzazione delle funzionalità di Kf

Crea fidelizzazione

Puoi controllare il numero di build Kf conservate prima della garbage collection.

kubectl patch \
kfsystem kfsystem \
--type='json' \
-p="[{'op': 'replace', 'path': '/spec/kf/config/buildRetentionCount', 'value': 1}]"

Abilita o disabilita il sidecar Istio

Se non hai bisogno del sidecar Istio per i pod di compilazione, puoi disattivarlo impostando il valore su true. Attiva impostando il valore su false.

kubectl patch \
kfsystem kfsystem \
--type='json' \
-p="[{'op': 'replace', 'path': '/spec/kf/config/buildDisableIstioSidecar', 'value': true}]"

Crea limiti di risorse dei pod

Le dimensioni predefinite della risorsa pod possono essere aumentate rispetto al valore predefinito per supportare build molto grandi. Le unità del valore sono in Mi o Gi.

kubectl patch \
kfsystem kfsystem \
--type='json' \
-p="[{'op': 'replace', 'path': '/spec/kf/config/buildPodResources', 'value': {'limits': {'memory': '234Mi'}}}]"

Per ulteriori informazioni sulla gestione delle risorse dei container, consulta la documentazione sulle risorse per container Kubernetes.

Certificati autofirmati per i service broker

Se vuoi utilizzare certificati autofirmati per TLS (https anziché http) per l'URL del broker di servizi, il controller Kf richiede il certificato CA. Per configurare Kf per questo scenario, crea un secret Kubernetes immutabile nello spazio dei nomi kf e aggiorna l'oggetto kfsystem.spec.kf.config.secrets.controllerCACerts.name in modo che punti a quell'oggetto.

  1. Crea un secret per archiviare il certificato autofirmato.

    kubectl create secret generic cacerts -nkf --from-file /path/to/cert/certs.pem
    
  2. Rendi il secret immutabile.

    kubectl patch -nkf secret cacerts \
      --type='json' \
      -p="[{'op':'add','path':'/immutable','value':true}]"
    
  3. Aggiorna kfsystem in modo che punti al secret.

    kubectl patch \
      kfsystem kfsystem \
      --type='json' \
      -p="[{'op':'add','path':'/spec/kf/config/secrets','value':{'controllerCACerts':{'name':'cacerts'}}}]"
    

Imposta i minimi e i rapporti della CPU

I rapporti e i valori minimi della CPU predefiniti dell'applicazione possono essere impostati nell'operatore.

I valori sono impostati in Unità CPU. Le unità sono generalmente espresse in millicpu (m) o millesimi di CPU.

La proprietà spec.kf.config.appCPUMin specifica una quantità minima di CPU per anche se lo sviluppatore ha specificato meno risorse.

kubectl patch \
    kfsystem kfsystem \
    --type='json' \
    -p="[{'op':'add','path':'/spec/kf/config/appCPUMin','value':'200m'}]"

La proprietà spec.kf.config.appCPUPerGBOfRAM specifica una quantità predefinita di CPU da assegnare a ogni app per GB o RAM richiesto.

Puoi scegliere approcci diversi in base al risultato desiderato:

  • Scegli il rapporto tra CPU e RAM per i nodi del cluster se vuoi per massimizzare l'utilizzo.
  • Scegli un rapporto tra 1 CPU e 4 GB di RAM che in genere funziona bene per I/0 applicazioni web legate alla memoria.
kubectl patch \
    kfsystem kfsystem \
    --type='json' \
    -p="[{'op':'add','path':'/spec/kf/config/appCPUPerGBOfRAM','value':'250m'}]"