Tenemos muchas imágenes acoplables que necesitamos cargar en k8s, sin embargo, funciona cuando comenzamos un nuevo nodo, este proceso puede llevar mucho tiempo.
Intentamos cambiar las imágenes para usar compilaciones de "múltiples etapas", sin embargo, este proceso lleva mucho tiempo y no vimos cambios significativos en la hora de inicio en el nuevo nodo.
Ahora intentamos lo siguiente: (sin embargo, no estamos seguros de cuánto impacto veremos...)
Intente (tanto como podamos) usar las mismas imágenes acoplables from , por ejemplo, todas las imágenes que usan alpine para usar exactamente la misma versión (3.11) y no algunas que usan la versión 3.10 y algunas 3.10.1 y algunas 3.11 , etc., esto prevendrá el mecanismo de reutilización de docker a capas que ya cobraron...
Reduzca los números de capas, combinando los comandos RUN en uno en lugar de muchos (necesitamos hacerlo para muchos archivos acoplables ...), no estoy seguro de cómo el mecanismo acoplable ayudará aquí a lograr nuestros objetivos
Todo este proceso para cambiar tanto el uso de la misma versión como la reducción de capas puede llevar mucho tiempo, ¿estamos perdiendo el tiempo o es algo que puede reducir el tiempo de carga? ¿hay alguna otra idea que nos pueda ayudar?
Tenemos muchas imágenes acoplables basadas en Golang, NodeJS, Java, etc.
así que estás en el camino correcto
Creo que no se puede reducir más el tamaño. Simplemente intente con Docker Squash , pero esto no ayudará mucho.
Entonces, ¿cómo puede iniciar sus nodos más rápido?