[JAVA] Wenn Sie Ihre Container nur in der Cloud ausführen möchten, ist Azure Container Instances ganz einfach

Einführung

Es wurde beschlossen, Azure für das Projekt zu verwenden, das ich gerade durchführe, und ich dachte daran, den Bildschirm mit Java (Springboot) zu entwickeln und in einem Container bereitzustellen. Container können mit AKS und WebApp unter Linux bereitgestellt werden, ACI (Azure Container Instances) kann jedoch einfacher bereitgestellt werden.

Ich möchte den Ablauf der Bereitstellung in Azure Container-Instanzen mithilfe von Jib für die Bereitstellung in der Registrierung vorstellen.

Lösungseinführung

Azure Container Registry

jib-gradle-plugin

Azure Container Instances

Drücken Sie mit Jib auf ACR

Plugin hinzufügen

build.gradle


plugins {
    id 'com.google.cloud.tools.jib' version '1.4.0'
}

Erstellen Sie ein ACR-Repository und ändern Sie den Bildnamen. Der Benutzername und das Passwort sollten in gradle.properties beschrieben werden.

build.gradle


jib {
    to {
        image = 'xxxxxx.azurecr.io/web'
        auth {
            username = "${USERNAME}"
            password = "${PASSWORD}"
        }
    }
}

gradle.properties


USERNAME=xxxx
PASSWORD=xxxx

Wenn Sie danach einen Befehl eingeben, wird ein Container erstellt und an ACR gesendet.

$ gradlew jib

Geben Sie den folgenden Befehl ein, um nur den Container zu erstellen. (Sobald der Container erstellt ist, empfiehlt es sich, den Vorgang mit Docker-Lauf zu überprüfen.)

$ gradlew jibDockerBuild

Bereitstellung auf Containerinstanzen

Starten Sie nach der Anmeldung bei Azure einfach Cloud Shell und geben Sie den folgenden Befehl ein.

az container create -g TEST-RG \
   --name poc-web \
   --image xxxxx.azurecr.io/web \
   --ip-address public \
   --registry-username xxxxx \
   --registry-password yyyyyyyyy \
   --ports 80 \
   --dns-name-label zzzzzzz \
   --environment-variables SPRING_PROFILES_ACTIVE=development 

Andere Operationen an Containerinstanzen

Holen Sie sich das Protokoll

az container logs --resource-group TEST-RG --name poc-web

An Protokoll anhängen (führt zur Standardausgabe des Containers)

az container attach --resource-group TEST-RG --name poc-web

Containr-Instanzen löschen

az container delete -g TEST-RG --name poc-web 

Überwachung

Sie können mit Azure Monitor überwachen, aber es scheint, dass Sie die Details mit CPU, Speicher und Netzwerkeingang / -ausgang nicht sehen können. Im Moment denke ich, es wäre wie eine Überwachung mit SideCar, um mehr Metriken zu erhalten.

image.png

Zusammenfassung

Containerinstanzen sind die einfachste Möglichkeit, Container in Azure bereitzustellen.

Recommended Posts

Wenn Sie Ihre Container nur in der Cloud ausführen möchten, ist Azure Container Instances ganz einfach
Wenn Sie die übergeordnete Klasse in Lomboks @builder aufnehmen möchten
Was tun, wenn Cloud 9 im Rails-Lernprogramm voll ist?
Wenn Sie die Testabdeckung privater Methoden in JUnit erfüllen möchten
[Rails] Was tun, wenn Sie versehentlich eine Bundle-Installation in einer Produktionsumgebung in Ihrer lokalen Umgebung durchführen?
Was tun, wenn Sie die Quellposition wissen möchten, an der die Methode in bind.pry definiert ist?
Wenn Sie eine Methode in RSpec verspotten möchten, sollten Sie die Methode allow für mock und die Singleton-Methode verwenden.
ProxyFactory ist praktisch, wenn Sie AOP mit Spring testen möchten!
Wenn Sie die Java-Entwicklungsumgebung von Eclipse aus ändern möchten
Was tun, wenn Sie Ihr Root-Passwort unter CentOS7 vergessen haben?
Wenn Sie in Ihrem Herzen denken, "Ersetzen Sie das Produktbild"! Zu diesem Zeitpunkt ist die Aktion beendet! ~ part4 ~
[RSpec] Wenn Sie die Instanzvariable des Controllers im Test verwenden möchten [Zuweisungen wird nicht empfohlen]
Was tun, wenn der Vorgang nicht zulässig ist, wenn ein Befehl im Terminal ausgeführt wird?
Was tun, wenn das Präfix c in JSP nicht gebunden ist?
Wenn Sie Werte dynamisch einbetten und Attributwerten in Thymeleaf 3 Text hinzufügen möchten
[Cloud9] Yay! Du bist auf Schienen! Wird im Schienen-Tutorial nicht angezeigt
Installieren Sie IBM Cloud CLI in einem Container
Lassen Sie uns mit Azure Batch einen Stapel in einem Container ausführen
Möglicherweise möchten Sie die Methode remove in ArrayList nicht sehr oft verwenden
Wenn Sie Android Room verwenden und die Spaltendefinition ändern möchten
Was tun, wenn Um die fehlende Version zu installieren, führen Sie `gem install bundler: 2.1.4` aus
Auch wenn ich den Inhalt eines Datenobjekts in Java in JSON konvertieren möchte, gibt es einen Zirkelverweis ...
Ich möchte, dass Sie die Geschichte erzählen, dass der Fehler behoben wurde, als Sie das Ladegerät in die Ecke Ihres Kopfes gestochen haben