Personalizzazione delle funzionalità di Kf

Aumentare la fidelizzazione

Puoi controllare quante build di Knowledge Fusion vengono conservate prima di essere sottoposte al garbage collection.

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

Attiva o disattiva 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}]"

Limiti delle risorse del pod di compilazione

Le dimensioni predefinite delle risorse pod possono essere aumentate per supportare build di grandi dimensioni. 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'}}}]"

Leggi la documentazione sulle risorse dei container Kubernetes per saperne di più sulla gestione delle risorse dei container.

Certificati autofirmati per i service broker

Se vuoi utilizzare certificati autofirmati per TLS (https anziché http) per l'URL del service broker, 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 questo.

  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'}}}]"
    

Impostare i valori 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 in genere espresse in millicpu (m), ovvero millesimi di una CPU.

La proprietà spec.kf.config.appCPUMin specifica una quantità minima di CPU per applicazione, anche se lo sviluppatore ne ha specificata una inferiore.

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 massimizzare l'utilizzo.
  • Scegli un rapporto di 1 CPU per 4 GB di RAM, che in genere funziona bene per le applicazioni web legate all'I/O o alla memoria.
kubectl patch \
    kfsystem kfsystem \
    --type='json' \
    -p="[{'op':'add','path':'/spec/kf/config/appCPUPerGBOfRAM','value':'250m'}]"