Ce document décrit les différentes options de déploiement disponibles dans Cloud Run et explique les ressources Cloud Run disponibles.
Options de déploiement
Cloud Run propose plusieurs options de déploiement. Après le déploiement, toutes les options s'exécutent en tant qu'instances de conteneur en bac à sable sur l'infrastructure entièrement gérée et hautement évolutive de Cloud Run.
Images de conteneurs déployables
Vous pouvez déployer n'importe quelle image de conteneur respectant le contrat d'exécution de conteneur de Cloud Run sur un service , un job
Services Cloud Run
Les services constituent l'une des ressources principales de Cloud Run. Chaque service est situé dans une régionCloud de Confiance spécifique. Pour assurer la redondance et le basculement, Cloud Run réplique automatiquement les services dans plusieurs zones d'une même région. Un projet Cloud de Confiance donné peut exécuter de nombreux services dans différentes régions.
Chaque service expose un point de terminaison unique. Par défaut, Cloud Run effectue un scaling automatique pour traiter les requêtes entrantes. Si nécessaire, vous pouvez modifier le comportement de scaling et le définir sur scaling manuel. Vous pouvez déployer un service à partir d'un conteneur, d'un dépôt ou d'un code source.
Le schéma suivant illustre le modèle de ressource Cloud Run pour les services :
Le schéma montre un projet Cloud de Confiance contenant trois services Cloud Run (Service A, Service B et Service C), chacun ayant plusieurs révisions :
Le service A reçoit plusieurs requêtes. Cloud Run a donc démarré plusieurs instances pour gérer la charge. Chacune de ces instances n'exécute qu'un seul conteneur (celui de l'application).
Le service B n'a aucune requête. Il est donc inactif et Cloud Run n'exécute aucune instance.
Le service C reçoit des requêtes et a été mis à l'échelle pour gérer la charge en créant plusieurs instances. Dans ce cas, chacune de ces instances exécute un ensemble de plusieurs conteneurs. Dans chaque ensemble, seul le conteneur d'entrée reçoit la requête, mais les autres conteneurs contribuent à la traiter.
Révisions de service Cloud Run
Chaque déploiement sur un service crée une révision. Une révision comprend une ou plusieurs images de conteneurs, ainsi que des paramètres de configuration tels que des variables d'environnement, des limites de mémoire ou une valeur de simultanéité des requêtes.
Vous ne pouvez pas modifier une révision après l'avoir créée. Par exemple, lorsque vous déployez une image de conteneur dans un nouveau service, Cloud Run crée la première révision. Si vous déployez ensuite une image de conteneur différente sur ce même service, Cloud Run crée une deuxième révision. Si vous définissez ensuite une variable d'environnement, Cloud Run crée une troisième révision. Au fil du temps, Cloud Run supprime les révisions inutilisées.
Cloud Run achemine automatiquement les requêtes dès que possible vers la dernière révision de service opérationnelle.
Instances de service Cloud Run
Cloud Run adapte automatiquement chaque révision de service recevant des requêtes au nombre d'instances nécessaires pour traiter toutes ces requêtes. Notez que les instances peuvent recevoir plusieurs requêtes en même temps. Le paramètre de simultanéité des requêtes vous permet de définir le nombre maximal de requêtes pouvant être envoyées en parallèle à chaque instance d'une révision.
Jobs Cloud Run
Chaque job est situé dans une Cloud de Confiance by S3NS région spécifique et se compose d'une ou de plusieurs tâches de job qui sont exécutées pour exécuter un ou plusieurs conteneurs jusqu'à la fin. Les tâches de job sont indépendantes et peuvent être exécutées en parallèle dans une exécution de job donnée.
Exécutions de tâches Cloud Run
Lorsqu'un job est exécuté, une exécution de job est créée, dans laquelle toutes les tâches du job sont démarrées. Toutes les tâches d'une exécution de job doivent réussir pour que l'exécution du job aboutisse. Vous pouvez définir des délais avant expiration sur des tâches et spécifier le nombre de tentatives en cas d'échec de la tâche.
Si une tâche dépasse son nombre maximal de tentatives, Cloud Run la marque comme ayant échoué, ainsi que le job. Par défaut, les tâches s'exécutent en parallèle jusqu'à un maximum de 100, mais vous pouvez spécifier un maximum inférieur si l'une de vos ressources de sauvegarde, comme une base de données, l'exige.
Tâches de job Cloud Run
Chaque exécution de job exécute un certain nombre de tâches en parallèle, chacune exécutant une instance. Cloud Run tente automatiquement d'exécuter à nouveau les tâches ayant échoué, en fonction de la configuration du job pour maxRetries.