In "Starten einer Anwendung auf Code Engine mit IBM Cloud CLI" habe ich neulich die auf meinem PC installierte IBM Cloud CLI verwendet. Verwenden wir zunächst die IBM Cloud Shell, um einen Container in der IBM Cloud Code Engine zu starten. Der große Unterschied besteht darin, dass keine Operation zum Anmelden bei IBM Cloud über die IBM Cloud CLI erforderlich ist und Sie "us-south" als Speicherort der IBM Cloud Shell angeben müssen.
IBM Cloud Shell
In dieser Umgebung können Sie die Bash-Shell in einem Webbrowser ausführen. Es kann in der IBM Cloud verwendet werden. Laut dem offiziellen Online-Handbuch "FAQ zu IBM Cloud Shell" ist die Shell-Ausführungsumgebung Es gibt Ubuntu Linux.
Ab Oktober 2020 ist die in IBM Cloud Shell verwendete Ubuntu-Version 18.04.5 LTS (Bionic Beaver). Führen Sie zur Überprüfung den folgenden Befehl in der IBM Cloud Shell aus.
$ cat /etc/os-release
Klicken Sie nach der Anmeldung bei IBM Cloud mit einem Webbrowser wie Chrome oben rechts auf dem Bildschirm auf das Symbol "IBM Cloud Shell".
Ab Oktober 2020 ist die hier verwendete "IBM Cloud Code Engine" nur "Dallas" als Standort der IBM Cloud. Ändern Sie daher den Standort der IBM Cloud Shell in "us-south".
Klicken Sie oben im IBM Cloud Shell-Bildschirm auf Ändern.
Die Meldung "Cloud Shell-Standort ändern" wird angezeigt. Ändern Sie den Standort in "Dallas (USA-Süd)" und klicken Sie auf "Weiter".
Am oberen Rand des IBM Cloud Shell-Bildschirms ändert sich der Speicherort in Dallas.
Überprüfen Sie, ob Sie den Befehl für Code-Engine in IBM Cloud Shell aufrufen können.
$ ibmcloud plugin show code-engine
Es ist in Ordnung, wenn es wie in der folgenden Abbildung gezeigt angezeigt wird. Sie können sehen, dass IBM Cloud Shell ab Oktober 2020 die Beta-Version von IBM Cloud Code Engine verwenden kann.
Eine Beschreibung der Ressourcengruppe selbst finden Sie im offiziellen Online-Handbuch (https://cloud.ibm.com/docs/cli?topic=cli-ibmcloud_commands_resource&locale=ja). Wenn Sie keine Ressourcengruppe angeben, kann IBM Cloud Code Engine kein "Projekt" erstellen, das Ihre Anwendungen und Jobs organisiert.
Führen Sie den folgenden Befehl aus, um die vorhandenen Ressourcengruppen anzuzeigen.
$ ibmcloud resource groups
Beispiel Ergebnis
Name ID Standardgruppenstatus
default xxxxxxxxxxxxxxxxx true ACTIVE
Hier ist das Ziel die Ressourcengruppe, deren Name "Standard" ist.
$ ibmcloud target -g default
In IBM Cloud Code Engine wird ein Gerät zum Ausführen von Anwendungen und Jobs als "Projekt" bezeichnet und muss vorbereitet werden. Führen Sie den folgenden Befehl aus: Der Name des zu erstellenden Projekts lautet 2ndproject. Sie können alphanumerische Zeichen für den Projektnamen verwenden, sodass Sie einen beliebigen Namen verwenden können.
$ ibmcloud ce project create --name 2ndproject
Sie können das vorhandene Projekt überprüfen, das erstellt wurde, indem Sie den folgenden Befehl ausführen.
$ ibmcloud ce project list
Beispiel für das Ausführungsergebnis
Name ID Status Tags Location Resource Group Time to deletion
2ndproject ab70ec5f-3fb4-4272-88c6-78dc63024173 active us-south default 7 days from now
Ab Oktober 2020 befindet sich IBM Cloud Code Engine in der Beta-Phase, sodass Sie benachrichtigt werden, dass es nach 7 Tagen automatisch entfernt wird.
Führen Sie zum Erstellen der Anwendung den folgenden Befehl aus, um das Projekt anzugeben. Hier wird das erstellte 2. Projekt angegeben. Tatsächlich ist das 2. Projekt der Ort, an dem der Projektname angegeben wird. Ersetzen Sie ihn daher durch den von Ihnen erstellten Projektnamen und führen Sie den Befehl aus.
$ ibmcloud ce project select -n 2ndproject
Beispiel für das Ausführungsergebnis
Selecting project '2ndproject'...
OK
Rufen Sie das auf DockerHub veröffentlichte Nginx Docker-Image auf und erstellen Sie es als Anwendung in der IBM Cloud Code Engine. Führen Sie den folgenden Befehl aus:
$ ibmcloud ce application create --name nodered --image nodered/node-red --cpu 1 --memory 512Mi
Hier werden dem Node-RED-Container 1 CPU und 512 MB Speicher zugeordnet. Beispiel für das Ausführungsergebnis
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
Sie können auf die erstellte Anwendung zugreifen, indem Sie auf die obige URL zugreifen. nodered ist der Anwendungsname, der in ibmcloud ce application create angegeben ist, und ab70ec5f-3fb4 ist Teil der ID des Projekts, zu dem die Anwendung gehört, sodass er für jede Person unterschiedlich ist. Ab Oktober 2020 befindet sich die IBM Cloud Code Engine in der Beta-Phase. Es wird daher angegeben, dass sie innerhalb von 7 Tagen automatisch gelöscht wird.
$ ibmcloud ce application get -n nodered
Der oben angegebene Knoten ist der Anwendungsname, der in ibmcloud ce application create angegeben ist. Wenn die Anwendungsnamen unterschiedlich sind, ersetzen Sie sie durch den von Ihnen verwendeten Anwendungsnamen und führen Sie den Befehl aus.
Beispiel für das Ausführungsergebnis
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
Von den als Ausführungsergebnisse angezeigten Elementen wird beim Zugriff auf "URL" die Anwendung angezeigt, und beim Zugriff auf "Konsolen-URL" können Sie die Einstellungen der im Webbrowser erstellten Anwendung überprüfen.
Beispiel für den Zugriff auf "Konsolen-URL"
Überprüfen Sie, ob die Anwendung ausgeführt wird, indem Sie auf die beim Erstellen der Anwendung angezeigte URL zugreifen oder den Status der Anwendung überprüfen. Da hier Node-RED angegeben wurde, wird Node-RED angezeigt.
Wie Sie sehen können, befindet sich Node-RED im Ausgangszustand.
Da Sie den Container als serverlos starten können, wird die Instanz (Startcontainer) automatisch gelöscht, wenn kein Zugriff vorhanden ist, und die Anzahl der Instanzen nimmt mit zunehmendem Zugriff zu. Selbst wenn Sie Node-RED wie oben beschrieben starten, wird die Anzahl der Instanzen automatisch erhöht oder verringert. Selbst wenn Sie Node-RED in IBM Cloud Code Engine starten und den Ablauf festlegen, kehrt es sofort in den Ausgangszustand zurück. ..
Daher kann gesagt werden, dass es eine praktische Verwendung ist, einen Flow zu erstellen, den Sie mit Node-RED auf Ihrem PC ausführen möchten, ein Container-Image zu erstellen und das erstellte Container-Image mit IBM Cloud Code Engine auszuführen.
Sie können das Protokoll der im Container ausgeführten Anwendung überprüfen, indem Sie auf die gleiche Weise wie im Fall von IBM Cloud CLI arbeiten.
Recommended Posts