Parece que no puedo encontrar una respuesta a esto, pero ¿cuál es la relación entre un HPA y ReplicaSet? Por lo que sé, definimos un objeto de implementación que define réplicas que crea el RS y el RS es responsable de supervisar nuestros pods y escalar hacia arriba y hacia abajo.
¿Dónde encaja la HPA en esta imagen? ¿Se envuelve sobre el objeto de implementación? Estoy un poco confundido al definir la cantidad de réplicas en el manifiesto para el objeto de implementación.
¡Gracias!
Cuando creamos una implementación, crea un conjunto de réplicas y una cantidad de pods (que proporcionamos en replicas
). La implementación controla el RS y los pods de controles de RS. Ahora, HPA es otra abstracción que da las instrucciones para la implementación y, a través de RS, se asegura de que los pods cumplan con la escala respectiva.
En lo que respecta al documento k8s: Horizontal Pod Autoscaler escala automáticamente la cantidad de pods en un controlador de replicación, implementación, conjunto de réplicas o conjunto con estado en función de la utilización de CPU observada (o, con soporte de métricas personalizadas, en algunas otras métricas proporcionadas por la aplicación). Tenga en cuenta que el ajuste de escala automático de pod horizontal no se aplica a los objetos que no se pueden escalar, por ejemplo, DaemonSets.
Una breve descripción general de alto nivel es: Básicamente, se trata del controlador. Cada objeto k8s tiene un controlador, cuando se crea un objeto de implementación, el controlador respectivo crea el rs y los pods asociados, rs controla los pods, la implementación controla rs. Por otro lado, cuando los controladores de hpa ven que, en cualquier momento, la cantidad de pods es mayor o menor de lo esperado, entonces habla de implementación.
Leer más del documento k8s