
Veo que con Kubernetes es posible establecer la afinidad de nodos para ciertas cargas de trabajo. Me pregunto si existen instalaciones en las diversas tecnologías de contenedores, como Docker, Rocket, etc., que le permitan fijar procesos a los núcleos. ¿O si esto es posible incluso en entornos multiinquilino? ¿Quizás implicaría una configuración básica?
Respuesta1
Si su sistema admite SMP (multiprocesamiento simétrico) con alguna combinación de múltiples CPU físicas, núcleos de CPU y CPU lógicas, puede asignar contenedores Docker a recursos de CPU específicos.
Comandos de ejemplo para afinidad de CPU con contenedores Docker
Los ejemplos que se muestran aquí cubren la asignación del contenedor Docker mycontainer a recursos de CPU específicos cuando los contenedores se crean con el comando docker run. Al ejecutar comandos, debe sustituir el nombre del contenedor Docker y los números de componentes de la CPU para adaptarlos a su entorno.
Este comando asignará el contenedor Docker mycontainer a la primera CPU (CPU0):
# docker run --cpuset 0 /bin/bash mycontainer
Se pueden especificar varias CPU. Este comando asignará el contenedor Docker mycontainer a las CPU 0 y 1:
# docker run --cpuset 0,1 /bin/bash mycontainer
Se puede especificar una variedad de CPU. Este comando asignará mycontainer Docker Container a las CPU 0, 1 y 2:
# docker run --cpuset 0-2 /bin/bash mycontainer