Modelo de recursos

En el siguiente diagrama, se muestra el modelo de recursos de entrega de Knative:

Servicios y revisiones de entrega de Knative

En el diagrama, se muestra un proyecto de Google Cloud que contiene dos servicios de entrega de Knative, Service A y Service B, cada uno de los cuales tiene varias revisiones.

En el diagrama, Service A recibe muchas solicitudes, lo que hace que se inicien y ejecuten varias instancias de contenedor. Ten en cuenta que Service B no recibe solicitudes por el momento, por lo que aún no se inició ninguna instancia de contenedor.

Servicios de entrega de Knative

El servicio es el recurso principal de Knative serving. Cada servicio se ubica en un espacio de nombres de clúster de GKE específico.

Un proyecto de Google Cloud determinado puede ejecutar muchos servicios en diferentes regiones o clústeres de GKE.

Cada servicio expone un extremo único y ajusta de forma automática la escala de la infraestructura subyacente para controlar las solicitudes entrantes.

Revisiones de entrega de Knative

Cada implementación en un servicio conlleva la creación de una revisión. Una revisión consta de una imagen de contenedor específica, además de la configuración 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 crean, no se pueden modificar. Por ejemplo, cuando implementas una imagen de contenedor en un servicio de entrega de Knative nuevo, se crea la primera revisión. Si, luego, implementas una imagen de contenedor diferente en ese mismo servicio, se crea una segunda revisión. Si después configuras una variable de entorno, se crea una tercera revisión, y así sucesivamente.

Las solicitudes se enrutan de forma automática a la revisión del servicio en buen estado más reciente lo antes posible. Puedes dividir el tráfico entre diferentes revisiones como desees.

Instancias de contenedor de entrega de Knative

Cada revisión que recibe solicitudes se escala de forma automática a la cantidad de instancias de contenedor necesarias para manejar 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 establecer la cantidad máxima de solicitudes que se pueden enviar en paralelo a una instancia de contenedor determinada.