Utilisez Knative serving pour gérer automatiquement l'infrastructure nécessaire à l'hébergement de logiciels sur Google Kubernetes Engine (GKE). Pour gérer vos applications, Knative serving utilise une structure organisationnelle appelée modèle de ressource. Ce modèle de ressource comporte trois parties principales : les services, les révisions et les instances de conteneur.
Le schéma suivant illustre ces composants et leurs interactions : un Google Cloud projet contient deux services Knative serving, le service A et le service B, chacun comportant plusieurs révisions. Le service A traite les requêtes avec plusieurs instances de conteneur en cours d'exécution, tandis que le service B est inactif.
Services Knative serving
Le service est la ressource principale de Knative serving. Chaque service est situé dans un espace de noms de cluster GKE spécifique.
Un Google Cloud projet donné peut exécuter de nombreux services dans différentes régions ou différents clusters GKE.
Chaque service expose un point de terminaison unique et adapte automatiquement l'infrastructure sous-jacente pour gérer les requêtes entrantes.
Révisions de Knative serving
Chaque déploiement sur un service crée une révision. Une révision comprend une image de conteneur spécifique, ainsi que des paramètres d'environnement tels que des variables d'environnement, des limites de mémoire ou une valeur de simultanéité.
Les révisions sont immuables : une fois une révision créée, elle ne peut plus être modifiée. Par exemple, lorsque vous déployez une image de conteneur dans un nouveau service Knative serving, la première révision est créée. Si vous déployez ensuite une image de conteneur différente sur ce même service, une deuxième révision est créée. Si vous définissez ensuite une variable d'environnement, une troisième révision est créée. Chaque modification de configuration ultérieure crée une révision.
Les requêtes sont automatiquement acheminées dès que possible vers la dernière révision de service opérationnelle. Vous pouvez répartir le trafic entre différentes révisions selon vos besoins.
Instances de conteneur Knative serving
Chaque révision recevant des requêtes est automatiquement adaptée au nombre d'instances de conteneur nécessaires pour les traiter en totalité. Notez qu'une instance de conteneur peut recevoir plusieurs requêtes en même temps. Le paramètre de simultanéité vous permet de définir le nombre maximal de requêtes pouvant être envoyées en parallèle à une instance de conteneur donnée.