Conservation des compilations
Vous pouvez contrôler le nombre de compilations Kf conservées avant la récupération de mémoire.
kubectl patch \ kfsystem kfsystem \ --type='json' \ -p="[{'op': 'replace', 'path': '/spec/kf/config/buildRetentionCount', 'value': 1}]"
Activer ou désactiver le side-car Istio
Si vous n'avez pas besoin du side-car Istio pour les pods de compilation, ceux-ci peuvent être désactivés en définissant la valeur sur true
. Activez cette fonctionnalité en définissant la valeur sur false
.
kubectl patch \ kfsystem kfsystem \ --type='json' \ -p="[{'op': 'replace', 'path': '/spec/kf/config/buildDisableIstioSidecar', 'value': true}]"
Limites de ressources des pods de compilation
La taille par défaut des ressources du pod peut être augmentée pour prendre en charge les compilations très volumineuses. Les unités de cette valeur sont exprimées en Mi
ou en Gi
.
kubectl patch \ kfsystem kfsystem \ --type='json' \ -p="[{'op': 'replace', 'path': '/spec/kf/config/buildPodResources', 'value': {'limits': {'memory': '234Mi'}}}]"
Consultez la documentation sur les ressources de conteneur Kubernetes pour en savoir plus sur la gestion des ressources de conteneur.
Certificats autosignés pour les agents de service
Si vous souhaitez utiliser des certificats autosignés pour TLS (https
au lieu de http
) pour l'URL de l'agent de service, le contrôleur Kf nécessite le certificat CA. Pour configurer Kf pour ce scénario, créez un secret Kubernetes immuable dans l'espace de noms kf
, puis mettez à jour l'objet kfsystem.spec.kf.config.secrets.controllerCACerts.name
pour qu'il pointe vers celui-ci.
Créez un secret pour stocker le certificat autosigné.
kubectl create secret generic cacerts -nkf --from-file /path/to/cert/certs.pem
Rendez le secret immuable.
kubectl patch -nkf secret cacerts \ --type='json' \ -p="[{'op':'add','path':'/immutable','value':true}]"
Mettez à jour kfsystem pour qu'il pointe vers le secret.
kubectl patch \ kfsystem kfsystem \ --type='json' \ -p="[{'op':'add','path':'/spec/kf/config/secrets','value':{'controllerCACerts':{'name':'cacerts'}}}]"
Définir des ratios et des minimums de processeur
Les ratios et les minimums de processeur par défaut de l'application peuvent être définis dans l'opérateur.
Les valeurs sont définies en unités de processeur.
Ces unités sont généralement exprimées en milliprocesseurs (m
) ou en millièmes de processeur.
La propriété spec.kf.config.appCPUMin
spécifie une quantité minimale de processeurs par application, qui est prioritaire même si le développeur en a spécifié moins.
kubectl patch \ kfsystem kfsystem \ --type='json' \ -p="[{'op':'add','path':'/spec/kf/config/appCPUMin','value':'200m'}]"
La propriété spec.kf.config.appCPUPerGBOfRAM
spécifie une quantité de processeurs par défaut à attribuer à chaque application, par Go de RAM demandé.
Vous pouvez choisir différentes approches en fonction du résultat souhaité :
- Choisissez le ratio processeur/mémoire RAM en fonction des nœuds du cluster, si vous souhaitez optimiser l'utilisation.
- Choisissez un ratio de 1 processeur pour 4 Go de RAM, qui fonctionne généralement bien pour les applications Web d'E/S ou liées à la mémoire.
kubectl patch \ kfsystem kfsystem \ --type='json' \ -p="[{'op':'add','path':'/spec/kf/config/appCPUPerGBOfRAM','value':'250m'}]"