En el siguiente diagrama se muestra el modelo de recursos de Knative Serving:
En el diagrama se muestra un Google Cloud proyecto que contiene dos servicios de Knative Serving, Service A
y Service B
, cada uno de los cuales tiene varias revisiones.
En el diagrama, Service A
recibe muchas solicitudes, lo que provoca que se inicien y se ejecuten varias instancias de contenedor. Ten en cuenta que Service B
no recibe solicitudes en este momento, por lo que aún no se ha iniciado ninguna instancia de contenedor.
Servicios de Knative Serving
El servicio es el recurso principal del servicio de Knative. Cada servicio se encuentra en un espacio de nombres de clúster de GKE específico.
Un proyecto determinado puede ejecutar muchos servicios en diferentes regiones o clústeres de GKE. Google Cloud
Cada servicio expone un punto final único y escala automáticamente la infraestructura subyacente para gestionar las solicitudes entrantes.
Revisiones de Knative Serving
Cada despliegue en un servicio crea una revisión. Una revisión comprende la imagen concreta de un contenedor y los ajustes del entorno, como las variables de entorno, los límites de memoria o el valor de simultaneidad.
Las revisiones son inmutables: una vez que se ha creado una revisión, no se puede modificar. Por ejemplo, cuando implementas una imagen de contenedor en un nuevo servicio de Knative Serving, se crea la primera revisión. Si después despliegas otra imagen de contenedor en ese mismo servicio, se creará una segunda revisión. Si posteriormente defines una variable de entorno, se creará una tercera revisión, y así sucesivamente.
Las solicitudes se enrutan automáticamente lo antes posible a la revisión de servicio más reciente y correcta. Puedes dividir el tráfico entre las diferentes revisiones como quieras.
Instancias de contenedor de servicio de Knative
Cada revisión que recibe solicitudes se escala automáticamente al número de instancias de contenedor necesarias para gestionar todas estas solicitudes. Ten en cuenta que una instancia de contenedor puede recibir muchas solicitudes al mismo tiempo. Con la configuración de simultaneidad, puedes definir el número máximo de solicitudes que se pueden enviar en paralelo a una instancia de contenedor determinada.