Dans «Lancement d'une application sur Code Engine à l'aide d'IBM Cloud CLI», j'ai écrit l'autre jour, j'ai utilisé l'IBM Cloud CLI installé sur mon PC. Pour l'instant, utilisons IBM Cloud Shell pour lancer un conteneur sur IBM Cloud Code Engine. La grande différence est qu'il n'y a pas d'opération de connexion à IBM Cloud à partir de l'interface de ligne de commande IBM Cloud et que vous devez spécifier "us-south" comme emplacement d'IBM Cloud Shell.
IBM Cloud Shell
C'est un environnement dans lequel vous pouvez exécuter le shell bash sur un navigateur Web. Il peut être utilisé sur IBM Cloud. Selon le manuel en ligne officiel "FAQ sur IBM Cloud Shell", l'environnement d'exécution du shell est Il existe Ubuntu Linux.
Depuis octobre 2020, la version d'Ubuntu utilisée dans IBM Cloud Shell est 18.04.5 LTS (Bionic Beaver). Pour vérifier, essayez d'exécuter la commande suivante dans IBM Cloud Shell.
$ cat /etc/os-release
Après vous être connecté à IBM Cloud avec un navigateur Web tel que Chrome, cliquez sur l'icône «IBM Cloud Shell» en haut à droite de l'écran.
Depuis octobre 2020, «IBM Cloud Code Engine» utilisé ici est uniquement «Dallas» comme emplacement d'IBM Cloud, changez donc l'emplacement d'IBM Cloud Shell en «us-south».
Cliquez sur Modifier en haut de l'écran IBM Cloud Shell.
Le message "Modifier l'emplacement Cloud Shell" s'affiche. Remplacez l'emplacement par "Dallas (us-south)" et cliquez sur "Continuer".
En haut de l'écran IBM Cloud Shell, l'emplacement devient Dallas.
Vérifiez si vous pouvez appeler la commande pour Code-Engine dans IBM Cloud Shell.
$ ibmcloud plugin show code-engine
C'est OK s'il est affiché comme indiqué dans la figure ci-dessous. Vous pouvez voir qu'IBM Cloud Shell peut utiliser la version bêta d'IBM Cloud Code Engine à partir d'octobre 2020.
Consultez le manuel en ligne officiel (https://cloud.ibm.com/docs/cli?topic=cli-ibmcloud_commands_resource&locale=ja) pour une description du groupe de ressources lui-même. Si vous ne spécifiez pas de groupe de ressources, IBM Cloud Code Engine ne pourra pas créer de "projet" qui organisera vos applications et vos travaux.
Exécutez la commande suivante pour afficher les groupes de ressources existants.
$ ibmcloud resource groups
Exemple de résultat
Nom ID État du groupe par défaut
default xxxxxxxxxxxxxxxxx true ACTIVE
Ici, la cible est le groupe de ressources dont le nom est "par défaut".
$ ibmcloud target -g default
Dans IBM Cloud Code Engine, le navire pour l'exécution des applications et des tâches est appelé un «projet» et doit être préparé. Exécutez la commande suivante. Le nom du projet à créer est 2ndproject. Vous pouvez utiliser des caractères alphanumériques pour le nom du projet, vous pouvez donc utiliser le nom de votre choix.
$ ibmcloud ce project create --name 2ndproject
Vous pouvez vérifier le projet existant qui a été créé en exécutant la commande suivante.
$ ibmcloud ce project list
Exemple de résultat d'exécution
Name ID Status Tags Location Resource Group Time to deletion
2ndproject ab70ec5f-3fb4-4272-88c6-78dc63024173 active us-south default 7 days from now
À partir d'octobre 2020, IBM Cloud Code Engine est en version bêta, vous serez donc informé qu'il sera automatiquement supprimé après 7 jours.
Pour créer l'application, exécutez la commande suivante pour spécifier le projet. Ici, le 2ème projet créé est spécifié. En fait, le 2ème projet est l'endroit où spécifier le nom du projet, alors remplacez-le par le nom du projet que vous avez créé et exécutez la commande.
$ ibmcloud ce project select -n 2ndproject
Exemple de résultat d'exécution
Selecting project '2ndproject'...
OK
Appelez l'image Nginx Docker publiée sur DockerHub et créez-la en tant qu'application sur IBM Cloud Code Engine. Exécutez la commande suivante:
$ ibmcloud ce application create --name nodered --image nodered/node-red --cpu 1 --memory 512Mi
Ici, 1 CPU et 512 Mo de mémoire sont alloués au conteneur Node-RED. Exemple de résultat d'exécution
Project '2ndproject' and all its contents will be automatically deleted 7 days from now.
Creating application 'nodered'...
The Configuration is still working to reflect the latest desired specification.
The Route is still working to reflect the latest desired specification.
Configuration 'nodered' is waiting for a Revision to become ready.
Configuration 'nodered' is waiting for a Revision to become ready.
Ingress has not yet been reconciled.
Waiting for load balancer to be ready
Run 'ibmcloud ce application get -n nodered' to check the application status.
OK
https://nodered.ab70ec5f-3fb4.us-south.codeengine.appdomain.cloud
Vous pouvez accéder à l'application créée en accédant à l'URL ci-dessus. nodered est le nom de l'application spécifié dans ibmcloud ce application create, et ab70ec5f-3fb4 fait partie de l'ID du projet auquel l'application appartient, il est donc différent pour chaque personne. À compter d'octobre 2020, IBM Cloud Code Engine est en version bêta, il est donc indiqué qu'il sera automatiquement supprimé dans 7 jours.
$ ibmcloud ce application get -n nodered
Ce qui précède correspondra au nom de l'application spécifié dans ibmcloud ce application create. Si les noms d'application sont différents, remplacez-les par le nom d'application que vous avez utilisé et exécutez la commande.
Exemple de résultat d'exécution
Name: nodered
ID: ed33006e-da81-4030-b7d6-98d7265da9ab
Project Name: 2ndproject
Project ID: ab70ec5f-3fb4-4272-88c6-78dc63024173
Age: 5m9s
Created: 2020-10-06 13:12:37 +0000 UTC
URL: https://nodered.ab70ec5f-3fb4.us-south.codeengine.appdomain.cloud
Console URL: https://cloud.ibm.com/codeengine/project/us-south/ab70ec5f-3fb4-4272-88c6-78dc63024173/application/nodered/configuration
Image: nodered/node-red
Resource Allocation:
CPU: 1
Memory: 512Mi
Revisions:
nodered-arbhb-1:
Age: 5m8s
Traffic: 100%
Image: nodered/node-red (pinned to 7903d6)
Running Instances: 0
Runtime:
Concurrency: 10
Concurrency Target: 10
Maximum Scale: 10
Minimum Scale: 0
Timeout: 300
Conditions:
Type OK Age Reason
ConfigurationsReady true 4m39s
Ready true 4m32s
RoutesReady true 4m32s
Parmi les éléments affichés comme résultats d'exécution, accéder à "URL" affichera l'application, et accéder à "URL de la console" vous permettra de vérifier les paramètres de l'application créée sur le navigateur Web.
Exemple d'accès à "URL de la console"
Vérifiez si l'application est en cours d'exécution en accédant à l'URL affichée lors de la création de l'application ou en vérifiant l'état de l'application. Puisque Node-RED a été spécifié ici, Node-RED est affiché.
Comme vous pouvez le voir, Node-RED est dans l'état initial.
Puisque vous pouvez démarrer le conteneur en tant que serveur sans serveur, l'instance (conteneur de départ) sera automatiquement supprimée s'il n'y a pas d'accès, et le nombre d'instances augmentera à mesure que l'accès augmente. Même si vous démarrez Node-RED comme décrit ci-dessus, le nombre d'instances augmentera ou diminuera automatiquement. Ainsi, même si vous démarrez Node-RED sur IBM Cloud Code Engine et définissez le flux, il reviendra immédiatement à l'état initial. ..
Par conséquent, on peut dire qu'il s'agit d'une utilisation pratique pour créer un flux que vous souhaitez exécuter avec Node-RED sur votre PC, créer une image de conteneur et exécuter l'image de conteneur créée avec IBM Cloud Code Engine.
Vous pouvez vérifier le journal de l'application exécutée dans le conteneur en fonctionnant de la même manière que dans le cas d'IBM Cloud CLI.