Cette rubrique explique comment déployer rapidement une application sans état à l'aide d'une image Nginx. Créez une application depuis la console, extrayez l'image Nginx, puis créez un service et un Ingress pour configurer le réseau. Vous pourrez ensuite accéder à l'application via un nom de domaine.
Prérequis
Vous devez disposer d'un cluster Container Compute Service (ACS) dans lequel aucun Ingress n'est associé au nom de domaine foo.bar.com.
Étape 1 : Créer une application Nginx
Connectez-vous à la console ACS. Dans le volet de navigation de gauche, cliquez sur Clusters.
Sur la page Clusters, cliquez sur le nom du cluster cible. Dans le volet de navigation de gauche, sélectionnez Workloads > Deployments.
-
Sur la page Deployments, cliquez sur Create from Image en haut à droite. Configurez l'application à l'aide des paramètres indiqués dans le tableau suivant. Ce tableau ne décrit que les paramètres clés ; conservez les valeurs par défaut pour tous les autres.
Étape de l'assistant
Description
Valeur d'exemple
Instructions
Basic Information
Définissez le nom de l'application et cliquez sur Next.
nginxtest
Définissez Application Name sur
nginxtestet cliquez sur Next.Container
Sélectionnez une image Nginx :
-
Dans la section Image Name, cliquez sur Select Image.
-
Cliquez sur Artifact center.
-
Recherchez nginx.
-
Sélectionnez l'image nginx , cliquez sur Select Image Version , choisissez une version, puis cliquez sur OK .
-
Configurez les autres paramètres selon vos besoins et cliquez sur Next.
nginx
Advanced
Créez un service :
-
À droite de Services, cliquez sur Create.
-
Ajoutez un mappage de port.
-
Name : http
-
Service Port : 80
-
Container Port : 80
-
-
Cliquez sur Create.
-
Nom du service : nginxtest-svc
-
Nom du port : http
-
Port du service : 80
-
Port du conteneur : 80
Pour Type, sélectionnez Load Balancer et Public Access. Choisissez New SLB (la spécification est par défaut slb.s1.small). Pour External Traffic Policy, sélectionnez Local.
Créez un Ingress (facultatif) :
-
À droite de Ingresses, cliquez sur Create.
-
Définissez Domain sur foo.bar.com. Sous Service, sélectionnez le service que vous venez de créer dans la liste déroulante Name.
-
Définissez Ingress Class sur le nom de la classe Ingress créée par l'Application Load Balancer (ALB). Pour plus d'informations, consultez la page Démarrage rapide pour les Ingress ALB.
-
Cliquez sur Create.
-
Domaine : foo.bar.com
-
Nom : nginxtest-svc
Dans le formulaire de création d'Ingress, définissez Name sur
nginxtest-ingresset sélectionnez80pour Port.Configurez l'autoscaler horizontal de pods (HPA) :
-
Activez le HPA.
-
Définissez Min. Replicas sur 2.
-
Ensuite, cliquez sur Create.
-
HPA : Activé
-
Répliques minimales : 2
Définissez Metric sur CPU Usage, la Trigger Condition sur 70 % et Maximum Replicas sur 10.
-
L'application est créée. Le déploiement, le service, l'Ingress (nginxtest-ingress) et le HPA sont désormais actifs. Cliquez sur View Application Details pour afficher la page des détails de l'application.
Étape 2 : Accéder au site web de test
Configurer le fichier hosts
Connectez-vous à la console ACS. Dans le volet de navigation de gauche, cliquez sur Clusters.
Sur la page Clusters, cliquez sur le nom du cluster cible. Dans le volet de navigation de gauche, sélectionnez Workloads > Deployments.
Sur la page Deployments, cliquez sur le nom de l'application que vous avez créée à l'étape 1.
Cliquez sur l'onglet Access Method et notez l'External Endpoint du Service.
-
Localisez le fichier hosts sur votre ordinateur et ajoutez une entrée de liaison au format suivant : Adresse IP de la passerelle Nom de domaine. Par exemple,
39.104.XX.XX foo.bar.com. Vous pouvez ensuite accéder directement au service en utilisant le nom de domaine.Windows
Ouvrez l'Explorateur de fichiers et saisissez
C:\WINDOWS\system32\drivers\etcdans la barre d'adresse pour accéder au répertoire etc. Localisez le fichier hosts.Ouvrez le fichier hosts dans le Bloc-notes, ajoutez
39.104.XX.XX foo.bar.comà la dernière ligne, puis enregistrez le fichier.
macOS
Depuis la barre de menus supérieure, sélectionnez Go > Go to Folder, saisissez
/private/etcet appuyez sur Entrée.Trouvez le fichier hosts et copiez-le sur votre bureau pour le modifier.
Faites un clic droit sur le fichier hosts situé sur votre bureau, sélectionnez Open With, puis cliquez sur TextEdit.
Ajoutez
39.104.XX.XX foo.bar.comà la dernière ligne du fichier hosts. Après avoir enregistré vos modifications, déplacez le fichier modifié depuis votre bureau vers le dossier/private/etcen remplaçant le fichier d'origine.
-
Ouvrez le site web dans un navigateur.
Ouvrez un navigateur et videz son cache, ou ouvrez une fenêtre de navigation privée. Saisissez le nom de domaine
http://foo.bar.compour ouvrir le site web. Après avoir accédé àfoo.bar.com, la page afficheWelcome to nginx!, ce qui confirme que l'entrée hosts et le déploiement du service ont réussi.
Résolution DNS ALB
Sur la page Deployments, cliquez sur le nom de l'application que vous avez créée à l'étape 1.
Cliquez sur l'onglet Access Method et notez l'Endpoint de l'Ingress.
Ajoutez ensuite un enregistrement CNAME.
Connectez-vous à la console DNS.
Sur la page Manage DNS, cliquez sur Add Zone.
Dans la boîte de dialogue Add Zone, saisissez votre domaine hôte et cliquez sur OK.
Vous devez effectuer la vérification de l'enregistrement TXT pour votre domaine hôte.
Dans la colonne Actions du domaine cible, cliquez sur Settings.
Sur la page Settings, cliquez sur Add Record.
Dans le panneau Add Record, configurez les paramètres suivants pour ajouter l'enregistrement CNAME, puis cliquez sur OK.
|
Paramètre |
Description |
|
Record Type |
Dans la liste déroulante, sélectionnez CNAME. |
|
Hostname |
Le préfixe de votre nom de domaine, par exemple |
|
Query Source |
Conservez la valeur par défaut. |
|
Record Value |
Saisissez l'adresse CNAME du nom de domaine, c'est-à-dire l'endpoint que vous avez copié. |
|
TTL |
TTL signifie Time To Live. Cette valeur spécifie la durée pendant laquelle un enregistrement DNS est mis en cache sur un serveur DNS. Pour ce tutoriel, conservez la valeur par défaut. |
Ouvrez le site web dans un navigateur.
Dans une nouvelle fenêtre de navigation privée, accédez à http://foo.bar.com.
Si vous recevez un message similaire à « Ce site web est inaccessible car il n'a pas été enregistré auprès du Ministère de l'Industrie et des Technologies de l'Information (MIIT) comme l'exige la loi », vérifiez si l'équilibreur de charge (LB) de l'Ingress possède une adresse IP publique. Si c'est le cas, vous devez effectuer l'enregistrement ICP pour votre nom de domaine auprès du MIIT. Le domaine ne sera accessible qu'après l'approbation de l'enregistrement.