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.
Azure Container Registry
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
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
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
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.
Container Instances est le moyen le plus simple de déployer des conteneurs sur Azure.