Aumentar la retención
Puedes controlar cuántas compilaciones de Kf se conservan antes de que se recoja el espacio no utilizado.
kubectl patch \ kfsystem kfsystem \ --type='json' \ -p="[{'op': 'replace', 'path': '/spec/kf/config/buildRetentionCount', 'value': 1}]"
Habilitar o inhabilitar el sidecar de Istio
Si no necesitas el sidecar de Istio para los pods de compilación, puedes inhabilitarlos asignando el valor true
. Para habilitarlo, asigna el valor false
.
kubectl patch \ kfsystem kfsystem \ --type='json' \ -p="[{'op': 'replace', 'path': '/spec/kf/config/buildDisableIstioSidecar', 'value': true}]"
Compilar límites de recursos de pods
El tamaño predeterminado de los recursos de los pods se puede aumentar para dar cabida a compilaciones muy grandes. Las unidades del valor son Mi
o Gi
.
kubectl patch \ kfsystem kfsystem \ --type='json' \ -p="[{'op': 'replace', 'path': '/spec/kf/config/buildPodResources', 'value': {'limits': {'memory': '234Mi'}}}]"
Consulta la documentación sobre recursos de contenedores de Kubernetes para obtener más información sobre la gestión de recursos de contenedores.
Certificados autofirmados para agentes de servicio
Si quieres usar certificados autofirmados para TLS (https
en lugar de http
) en la URL del agente de servicios, el controlador de Kf requiere el certificado de la autoridad de certificación. Para configurar Kf en este caso, crea un secreto de Kubernetes inmutable en el espacio de nombres kf
y actualiza el objeto kfsystem.spec.kf.config.secrets.controllerCACerts.name
para que apunte a él.
Crea un secreto para almacenar el certificado autofirmado.
kubectl create secret generic cacerts -nkf --from-file /path/to/cert/certs.pem
Hacer que el secreto sea inmutable.
kubectl patch -nkf secret cacerts \ --type='json' \ -p="[{'op':'add','path':'/immutable','value':true}]"
Actualiza kfsystem para que apunte al secreto.
kubectl patch \ kfsystem kfsystem \ --type='json' \ -p="[{'op':'add','path':'/spec/kf/config/secrets','value':{'controllerCACerts':{'name':'cacerts'}}}]"
Definir mínimos y ratios de CPU
Las relaciones y los mínimos de CPU predeterminados de las aplicaciones se pueden definir en el operador.
Los valores se definen en unidades de CPU.
Las unidades suelen expresarse en milicpus (m
), o milésimas de una CPU.
La propiedad spec.kf.config.appCPUMin
especifica una cantidad mínima de CPU por aplicación, aunque el desarrollador haya especificado una cantidad inferior.
kubectl patch \ kfsystem kfsystem \ --type='json' \ -p="[{'op':'add','path':'/spec/kf/config/appCPUMin','value':'200m'}]"
La propiedad spec.kf.config.appCPUPerGBOfRAM
especifica la cantidad predeterminada de CPU que se asignará a cada aplicación por GB de RAM solicitado.
Puedes elegir diferentes enfoques en función del resultado que quieras obtener:
- Elige la relación entre CPU y RAM de los nodos del clúster si quieres maximizar la utilización.
- Elige una proporción de 1 CPU por cada 4 GB de RAM, que suele funcionar bien en aplicaciones web con muchas operaciones de E/S o con limitaciones de memoria.
kubectl patch \ kfsystem kfsystem \ --type='json' \ -p="[{'op':'add','path':'/spec/kf/config/appCPUPerGBOfRAM','value':'250m'}]"