Usa Knative serving para administrar de forma automática la infraestructura necesaria para alojar software en Google Kubernetes Engine (GKE). Para administrar tus aplicaciones, Knative serving usa una estructura organizacional llamada modelo de recursos. Este modelo de recursos consta de tres partes principales: servicios, revisiones y instancias de contenedor.
En el siguiente diagrama, se ilustran estos componentes y sus interacciones: un Google Cloud proyecto contiene dos servicios de Knative serving, el servicio A y el servicio B, cada uno con varias revisiones. El servicio A procesa solicitudes con varias instancias de contenedor en ejecución, mientras que el servicio B está inactivo.
Servicios de Knative serving
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 determinado Google Cloud 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 Knative serving
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 nuevo de Knative serving, 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 posteriormente configuras una variable de entorno, se crea una tercera revisión. Cada cambio de configuración posterior crea una revisión nueva.
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 según sea necesario.
Instancias de contenedor de Knative serving
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.