
Quiero configurar la afinidad de CPU para un Pod en Kubernetes. Pero no pude configurar y tuve problemas para encontrar los documentos correspondientes.
Lo que yo entiendo:
- Básicamente, el administrador de CPU de k8s considera todos los núcleos de CPU de un nodo como un grupo compartido y los utiliza para ejecutar los pods que se implementan en el nodo.
- Si uno establece el campo CPU-manager-policy de kubelet en "estático", se podría establecer la afinidad de la CPU con Pod configurando la solicitud/límite de CPU como un número entero en el archivo .yaml.
Lo que hice:
- Para cambiar el campo CPU-manager-policy a estático, intenté cambiar la configuración de kubelet siguiendo esto:Enlace
- Pero el campo CPU-manager-policy no se cambió y sigue siendo "ninguno".
- Entonces, cambié el campo 'cpuManagerPolicy' en /var/lib/kubelet/config.yaml.
- Luego, ejecuté 'sudo systemctl restart kubelet'.
- El estado del nodo cambió a "No listo" y todos los pods pasaron al estado pendiente.
Entorno que estoy usando:
- versión k8s: v1.13.2
- CNI: Calicó
- Sistema operativo: Ubuntu 16.04
- Número de nodos: 2 (1 maestro, 1 trabajador)
- Aplicación: aplicación de muestra de istio denominadainformación del libro
¡Gracias de antemano!
Respuesta1
Lo resolví. Debe agregar el campo 'kubeReserved' en el archivo config.yaml. Además, debe eliminar el archivo /var/lib/kubelet/cpu_manager_state. Luego, reinicie kubelet ejecutando 'systemctl restart kubelet'.