Lors du déploiement d'une application dans la console SAE, SAE utilise des paramètres de démarrage prédéfinis pour lancer le conteneur. Personnalisez la commande de démarrage pour appliquer des configurations spécifiques (par exemple pour Nginx) ou remplacer les paramètres par défaut.
Points d'entrée
La procédure varie selon le scénario.
Créer une application
Connectez-vous à la console SAE. Dans le volet de navigation de gauche, sélectionnez Applications > Applications. Sélectionnez la région et l'espace de noms cibles, puis cliquez sur Create Application.
Sur la page de l'assistant Basic Information, configurez les paramètres requis et cliquez sur Next: Advanced Settings.
Modifier une application en cours d'exécution
Le redéploiement d'une application entraîne son redémarrage. Pour éviter des erreurs imprévisibles, telles que des interruptions de service, nous vous recommandons de déployer vos applications pendant les heures creuses.
Connectez-vous à la console SAE. Dans le volet de navigation de gauche, sélectionnez Applications > Application List. Sélectionnez la région et l'espace de noms cibles, puis cliquez sur le nom de l'application cible.
Sur la page Basic Information de l'application cible, cliquez sur Deploy Application.
Modifier une application arrêtée
Connectez-vous à la console SAE. Dans le volet de navigation de gauche, sélectionnez Applications > Application List. Sélectionnez la région et l'espace de noms cibles, puis cliquez sur le nom de l'application cible.
Sur la page Basic Information de l'application cible, cliquez sur Modify Application Configurations.
Définir la commande de démarrage de l'application
Image
Une commande de démarrage n'est généralement pas requise. L'instruction ENTRYPOINT ou CMD du Dockerfile définit déjà la commande de démarrage du conteneur.
Par exemple, la commande Dockerfile suivante s'exécute au démarrage du conteneur.
ENTRYPOINT [nginx, '-g', 'daemon off;']
Pour remplacer la commande de démarrage configurée dans le Dockerfile, suivez les étapes ci-dessous :
Dans la section Startup Command, sélectionnez un interpréteur de script, tel que >_ /bin/sh ou >_ /bin/bash. Assurez-vous que l'interpréteur choisi est présent dans votre image.
-
Configurez la commande de démarrage du conteneur selon le format suivant :
-
>_ /bin/sh
sh -c 'while true; do echo hello; sleep 10;done' -
>_ /bin/bash
bash -c 'while true; do echo hello; sleep 10;done'
-
Si vous ne maîtrisez pas les configurations ENTRYPOINT et CMD du Dockerfile d'origine, ne personnalisez ni la commande de démarrage ni ses paramètres. Une commande invalide entraînera l'échec de la création de l'application.
Package JAR
Le démarrage d'une application Java nécessite une commande de démarrage et des paramètres, tels que les paramètres JVM et les politiques GC.
SAE compile automatiquement le package JAR téléchargé en une image et l'exécute en tant que conteneur avec une commande de démarrage, des paramètres et un chemin d'accès au package JAR intégrés. Utilisez la console SAE pour modifier la commande de démarrage et les paramètres par défaut.
Dans la section Startup Command Settings, saisissez les configurations requises. Voici un exemple de commande de démarrage.
La commande de démarrage par défaut est $JAVA_HOME/bin/java $Options -jar $CATALINA_OPTS "$package_path" $args.
|
Paramètre |
Description |
|
Default Startup Command |
La commande de démarrage par défaut fournie par SAE. |
|
Options Settings |
Configurez les paramètres JVM. Pour plus d'informations, consultez les notes de configuration des paramètres JVM, Tuning Java Virtual Machines et JVM Tuning: How to Prepare Your Environment for Performance Tuning. Pour activer le débogage à distance de votre application, ajoutez la commande correspondant à votre version JDK.
Les paramètres sont les suivants.
Important Les commandes de démarrage des applications déployées à partir de packages WAR et JAR sont différentes. Ne les utilisez pas de manière interchangeable. La commande de débogage à distance de cet exemple s'applique aux deux méthodes de déploiement. |
|
args Settings |
Configurez la commande pour rediriger la sortie standard et l'erreur standard, par exemple |
Package WAR
Dans la section Startup Command Settings, saisissez les configurations requises. Voici un exemple de commande de démarrage.
La commande de démarrage par défaut est CATALINA_OPTS="$CATALINA_OPTS $Options" catalina.sh run, où $Options est un espace réservé pour les paramètres JVM que vous spécifiez dans la section Options Settings. Pour éviter les erreurs OOM (Out Of Memory), nous vous recommandons de définir la mémoire heap sur une valeur inférieure à la mémoire totale de l'instance et de réserver 1 Go d'espace. Pour plus d'informations, consultez les bonnes pratiques de configuration JVM.
|
Paramètre |
Description |
|
Default Startup Command |
La commande de démarrage par défaut fournie par SAE. |
|
Options Settings |
Configurez les paramètres JVM. Pour plus d'informations, consultez les notes de configuration des paramètres JVM, Tuning Java Virtual Machines et JVM Tuning: How to Prepare Your Environment for Performance Tuning. Pour activer le débogage à distance de votre application, ajoutez la commande correspondant à votre version JDK.
Les paramètres sont les suivants.
Important Les commandes de démarrage des applications déployées à partir de packages WAR et JAR sont différentes. Ne les utilisez pas de manière interchangeable. La commande de débogage à distance de cet exemple s'applique aux deux méthodes de déploiement. |
Package ZIP
Dans la section Startup Command, sélectionnez un interpréteur de script et configurez la commande de démarrage du conteneur.
-
>_ /bin/sh
sh -c 'gunicorn -w 3 -b 0.0.0.0:8080 app.hello:app' -
>_ /bin/bash
bash -c 'gunicorn -w 3 -b 0.0.0.0:8080 app.hello:app'