[JAVA] Si vous souhaitez simplement exécuter vos conteneurs dans le cloud, Azure Container Instances est facile

introduction

Il a été décidé d'utiliser Azure pour le projet que je fais actuellement, et je pensais développer l'écran avec Java (Springboot) et le déployer dans un conteneur. Les conteneurs peuvent être déployés avec AKS et WebApp sur Linux, mais ACI (Azure Container Instances) peut être déployé plus facilement.

Je voudrais présenter le flux de déploiement sur Azure Container Instances à l'aide de Jib pour le déploiement dans le registre.

Présentation de la solution

Azure Container Registry

jib-gradle-plugin

Azure Container Instances

Push to ACR à l'aide de Jib

Ajouter un plugin

build.gradle


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

Créez un référentiel ACR et modifiez la partie du nom de l'image. Le nom d'utilisateur et le mot de passe doivent être décrits dans gradle.properties.

build.gradle


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

gradle.properties


USERNAME=xxxx
PASSWORD=xxxx

Après cela, si vous tapez une commande, il créera un conteneur et le poussera vers ACR.

$ gradlew jib

Pour créer uniquement le conteneur, tapez la commande suivante. (Une fois le conteneur créé, c'est une bonne idée de vérifier l'opération avec docker run)

$ gradlew jibDockerBuild

Déployer sur des instances de conteneur

Après vous être connecté à Azure, démarrez simplement Cloud Shell et saisissez la commande suivante.

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 

Autres opérations sur les instances de conteneur

Obtenez le journal

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

Joindre au journal (conduit à la sortie standard du conteneur)

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

Supprimer les instances de conteneur

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

Surveillance

Vous pouvez surveiller à l'aide d'Azure Monitor, mais il semble que vous ne pouvez pas voir les détails avec le processeur, la mémoire, l'entrée / sortie réseau. Pour l'instant, je pense que ce serait comme surveiller avec SideCar pour obtenir plus de métriques.

image.png

Résumé

Container Instances est le moyen le plus simple de déployer des conteneurs sur Azure.

Recommended Posts

Si vous souhaitez simplement exécuter vos conteneurs dans le cloud, Azure Container Instances est facile
Si vous souhaitez inclure la classe parente dans @builder de Lombok
Que faire lorsque Cloud 9 est plein dans le didacticiel Rails
Si vous souhaitez satisfaire la couverture de test des méthodes privées dans JUnit
[Rails] Que faire si vous effectuez accidentellement une installation groupée dans un environnement de production de votre environnement local
Que faire lorsque vous souhaitez connaître la position source où la méthode est définie dans binding.pry
Si vous souhaitez simuler une méthode dans RSpec, vous devez utiliser la méthode allow pour mock et la méthode singleton.
ProxyFactory est pratique lorsque vous souhaitez tester AOP avec Spring!
Si vous souhaitez modifier l'environnement de développement Java d'Eclipse
Que faire si vous oubliez votre mot de passe root sur CentOS7
Si vous pensez dans votre cœur, "Remplacez l'image du produit"! À ce moment-là, l'action est terminée! ~ part4 ~
[RSpec] Lorsque vous souhaitez utiliser la variable d'instance du contrôleur dans le test [attribuer n'est pas recommandé]
Que faire si l'opération non autorisée s'affiche lors de l'exécution d'une commande dans le terminal
Que faire lorsque le préfixe c n'est pas lié dans JSP
Si vous souhaitez incorporer dynamiquement des valeurs et ajouter du texte aux valeurs d'attribut dans Thymeleaf 3
[Cloud9] Yay! You are on Rails! N'est pas affiché dans le didacticiel sur les rails
Installer IBM Cloud CLI dans un conteneur
Exécutons un lot dans un conteneur à l'aide d'Azure Batch
Vous pouvez ne pas vouloir utiliser la méthode remove sur ArrayList très souvent
Si vous utilisez Android Room et que vous souhaitez modifier la définition de colonne
Que faire quand Pour installer la version manquante, exécutez `gem install bundler: 2.1.4`
Même si je souhaite convertir le contenu d'un objet de données en JSON en Java, il existe une référence circulaire ...
Je veux que vous racontiez que l'erreur a été résolue lorsque vous avez poignardé le chargeur dans le coin de la tête