1. Présentation
Cloud Run est une plate-forme sans serveur entièrement gérée qui vous permet d'exécuter des conteneurs sans état accessibles via des requêtes HTTP. Cloud Run fonctionne sans serveur : il élimine toute gestion de l'infrastructure pour vous permettre de vous concentrer sur ce qui compte le plus : créer des applications de qualité.
Comme il repose sur Knative, vous pouvez exécuter vos conteneurs soit de façon entièrement gérée avec Cloud Run, soit dans votre cluster Google Kubernetes Engine avec Cloud Run sur GKE.
Objectifs de l'atelier
Dans cet atelier, vous allez apprendre à effectuer les tâches suivantes :
- Déployer l'application Cloud Run
Prérequis
- Pour cet atelier, nous partons du principe que vous connaissez la console Cloud et les environnements Cloud Shell.
2. Préparation
Configuration du projet Cloud
- Connectez-vous à la console Google Cloud, puis créez un projet ou réutilisez un projet existant. (Si vous ne possédez pas encore de compte Gmail ou Google Workspace, vous devez en créer un.)
- Le nom du projet est le nom à afficher pour les participants au projet. Il s'agit d'une chaîne de caractères non utilisée par les API Google. Vous pouvez le modifier à tout moment.
- L'ID du projet est unique parmi tous les projets Google Cloud et non modifiable une fois défini. La console Cloud génère automatiquement une chaîne unique. généralement, vous ne vous souciez
pas de ce que c’est. Dans la plupart des ateliers de programmation, vous devrez référencer l'ID du projet (il est généralement identifié comme
PROJECT_ID
). Si l'ID généré ne vous convient pas, vous pouvez en générer un autre au hasard. Vous pouvez également essayer la vôtre pour voir si elle est disponible. Il ne peut pas être modifié après cette étape et restera actif pendant toute la durée du projet. - Pour votre information, il existe une troisième valeur, le numéro de projet, utilisé par certaines API. Pour en savoir plus sur ces trois valeurs, consultez la documentation.
- Vous devez ensuite activer la facturation dans la console Cloud pour utiliser les ressources/API Cloud. L'exécution de cet atelier de programmation est très peu coûteuse, voire sans frais. Pour arrêter les ressources afin d'éviter que des frais ne vous soient facturés au-delà de ce tutoriel, vous pouvez supprimer les ressources que vous avez créées ou l'ensemble du projet. Les nouveaux utilisateurs de Google Cloud peuvent participer au programme d'essai gratuit pour bénéficier d'un crédit de 300 $.
Configuration de l'environnement
Activez Cloud Shell en cliquant sur l'icône située à droite de la barre de recherche.
Dans Cloud Shell, activez l'API Cloud Run:
gcloud services enable run.googleapis.com
Si vous êtes invité à donner votre autorisation, cliquez sur "Autoriser". pour continuer.
Un message semblable à celui qui suit s'affiche pour vous indiquer que l'opération s'est correctement déroulée :
Operation "operations/acf.p2-327036483151-73d90d00-47ee-447a-b600-a6badf0eceae" finished successfully.
3. Préparer la demande
Tout d'abord, vous allez préparer une application Node.js simple basée sur Express, qui répond aux requêtes HTTP.
Dans Cloud Shell, créez un répertoire nommé starter-nodejs
, puis accédez-y:
mkdir starter-nodejs
cd starter-nodejs
Créez un fichier package.json
en exécutant les commandes ci-dessous:
cat > ./package.json << EOF
{
"name": "cloudrun-starter-app",
"version": "1.0.0",
"description": "Node.js Starter Application",
"main": "index.js",
"scripts": {
"start": "node index.js"
},
"author": "",
"license": "Apache-2.0",
"dependencies": {
"express": "^4.18.2"
}
}
EOF
Le fichier ci-dessus contient une commande de script de démarrage et une dépendance vis-à-vis du framework d'application Web Express.
Ensuite, dans le même répertoire, créez un fichier index.js
en exécutant les commandes ci-dessous:
cat > ./index.js << EOF
const express = require('express');
const app = express();
app.get('/', (req, res) => {
console.log('Received a request.');
res.send("Hello Cloud Run!");
});
const port = process.env.PORT || 8080;
app.listen(port, () => {
console.log('Listening on port', port);
});
EOF
Ce code crée un serveur Web de base qui écoute le port défini par la variable d'environnement PORT. Votre application est maintenant terminée, et prête à être conteneurisée et déployée.
4. Déployer une application Cloud Run
Exécutez la commande ci-dessous pour déployer votre application:
gcloud run deploy starter-app \
--source . \
--region us-central1 \
--allow-unauthenticated \
--max-instances=3
Confirmez la création du dépôt Artifact Registry:
Deploying from source requires an Artifact Registry Docker repository to store built containers. A repository named [cloud-run-source-deploy] in region [us-central1] will be created. Do you want to continue (Y/n)? y
À la suite de la commande précédente, les étapes suivantes seront exécutées:
Explorez le résultat de ces étapes dans la console Cloud: Cloud Build, Cloud Storage, Artifact Registry et Cloud Run.
5. Félicitations !
Félicitations ! Vous venez de déployer une application sur Cloud Run.
Points abordés
- Déployer une application de démarrage sur Cloud Run
Étapes suivantes :
Découvrez d'autres ateliers de programmation Cymbal Eats:
- Déclencher Cloud Workflows avec Eventarc
- Déclencher le traitement des événements depuis Cloud Storage
- Se connecter au service Cloud SQL privé depuis Cloud Run
- Se connecter à des bases de données entièrement gérées depuis Cloud Run
- Sécuriser une application sans serveur avec Identity-Aware Proxy (IAP)
- Déclencher des jobs Cloud Run avec Cloud Scheduler
- Déployer une application sur Cloud Run en toute sécurité
- Sécuriser le trafic d'entrée Cloud Run
Effectuer un nettoyage
Pour éviter que les ressources utilisées lors de ce tutoriel soient facturées sur votre compte Google Cloud, supprimez le projet contenant les ressources, ou conservez le projet et supprimez chaque ressource individuellement.
Supprimer le projet
Le moyen le plus simple d'empêcher la facturation est de supprimer le projet que vous avez créé pour ce tutoriel.