Hola compañeros de DevOps,
Estoy tratando de entender si se trata de una solicitud base y/o un límite por contenedor/vaina en k8s como lo son hoy o si sabe de un cambio en el futuro con respecto a eso.
He visto esta respuesta: ¿Cuál es la memoria predeterminada asignada para un pod que indica que no hay ninguna, al menos para la implementación de k8s de Google y me gustaría estar seguro de eso también para el estado actual de k8s en implementaciones locales.
¿Hay alguna solicitud base o valores límite para un contenedor\pod?
EDITAR: ¿También hay alguna forma en que k8s prediga la solicitud de memoria del contenedor por parte del lenguaje de desarrollo de la aplicación o las variables de entorno establecidas para la implementación (como desde el comando EJECUTAR contenedor de Java o env: JVM_OPTS -Xms1G -Xmx1G)?
De forma predeterminada, no hay solicitudes ni límites de recursos, lo que significa que cada pod se crea utilizando BestEffort QoS . Si desea configurar valores predeterminados para solicitudes y límites, debe utilizar LimitRange .
Los pods de BestEffort, por definición, son "para que un Pod reciba una clase de QoS de BestEffort, los Contenedores en el Pod no deben tener ningún límite o solicitud de memoria o CPU". Los pods de BestEffort tienen la prioridad más baja para el programador de Kubernetes y se pueden desalojar en caso de contención de recursos
Todo lo dicho anteriormente es cierto para todas las distribuciones de Kubernetes, incluida OpenShift.
No hay un límite predeterminado o una solicitud. Para configurar los recursos predeterminados, debe crear un recurso LimitRange como se describe aquí: https://docs.openshift.com/container-platform/3.11/dev_guide/compute_resources.html#dev-viewing-limit-ranges
Si desea que cada nuevo proyecto se cree con ciertos límites de recursos, puede modificar la plantilla de proyecto predeterminada como se describe aquí: https://docs.openshift.com/container-platform/3.11/admin_guide/managing_projects.html#modifying-the- plantilla-para-nuevos-proyectos
Esto tampoco cambia en 4.6, solo la implementación de cómo modificar el LimitRange o la plantilla de proyecto predeterminada. (La metodología es exactamente la misma)
En cuanto a su cuestión de predecir los recursos de las aplicaciones, hay algunos jugadores en torno a este tema. Solo he oído hablar de turbonomic, que incluso puede cambiar sus recursos de implementación automáticamente por utilización y tal vez también algunas métricas personalizadas.