Partager via


Déployer une application sans état PHP Guestbook avec Redis sur un cluster Kubernetes avec Azure Arc sur Azure Stack Edge Pro avec GPU

S’APPLIQUE À :Oui pour le SKU Pro GPUAzure Stack Edge Pro - GPUOui pour le SKU Pro 2Azure Stack Edge Pro 2Oui pour le SKU Pro RAzure Stack Edge Pro ROui pour le SKU Mini RAzure Stack Edge Mini R

Cet article explique comment créer et déployer une application web multiniveau à l’aide de Kubernetes et d’Azure Arc. Cet exemple se compose des composants suivants :

  • Un serveur maître Redis à instance unique pour stocker guestbook entrées
  • Plusieurs instances Redis répliquées pour gérer les requêtes de lecture
  • Plusieurs instances frontend web

Le déploiement s’effectue à l’aide de GitOps sur le cluster Kubernetes avec Azure Arc sur votre appareil Azure Stack Edge Pro.

Cette procédure est destinée aux personnes qui ont examiné les charges de travail Kubernetes sur l’appareil Azure Stack Edge Pro et qui connaissent les concepts de Présentation de Kubernetes avec Azure Arc (préversion).

Prerequisites

Avant de pouvoir déployer l’application sans état, veillez à avoir rempli les conditions préalables suivantes sur votre appareil et le client que vous utiliserez pour accéder à celui-ci :

Pour l’appareil

  1. Vous disposez d'identifiants de connexion à un appareil Azure Stack Edge Pro à 1 nœud.

    1. L’appareil est activé. Consultez Activer l’appareil.
    2. L’appareil a le rôle de calcul configuré via le portail Azure et dispose d’un cluster Kubernetes. Consultez Configurer le calcul.
  2. Vous avez activé Azure Arc sur le cluster Kubernetes existant sur votre appareil et vous disposez d’une ressource Azure Arc correspondante dans le portail Azure. Pour obtenir des instructions détaillées, consultez Activer Azure Arc sur un appareil Azure Stack Edge Pro.

Pour le client accédant à l’appareil

  1. Vous disposez d’un système client Windows qui sera utilisé pour accéder à l’appareil Azure Stack Edge Pro.

    • Le client exécute Windows PowerShell 5.0 ou version ultérieure. Pour télécharger la dernière version de Windows PowerShell, accédez à Installer Windows PowerShell.

    • Vous pouvez également avoir n’importe quel autre client avec un système d’exploitation pris en charge . Cet article décrit la procédure lors de l’utilisation d’un client Windows.

  2. Vous avez terminé la procédure décrite dans Access the Kubernetes cluster on Azure Stack Edge Pro device. Vous disposez de :

    • Installé kubectl sur le client.

    • Assurez-vous que la version du kubectl client ne s'écarte pas de plus d'une version par rapport à la version master de Kubernetes exécutée sur votre appareil Azure Stack Edge Pro.

      • Permet kubectl version de vérifier la version de kubectl en cours d’exécution sur le client. Notez la version complète.
      • Dans l’interface utilisateur locale de votre appareil Azure Stack Edge Pro, accédez à Vue d’ensemble et notez le numéro de logiciel Kubernetes.
      • Vérifiez ces deux versions pour la compatibilité à partir du mappage fourni dans la version Kubernetes prise en charge.
  3. Vous disposez d’une configuration GitOps que vous pouvez utiliser pour exécuter un déploiement Azure Arc. Dans cet exemple, vous utilisez les fichiers suivants yaml pour déployer sur votre appareil Azure Stack Edge Pro.

    • frontend-deployment.yaml
    • frontend-service.yaml
    • redis-master-deployment.yaml
    • redis-master-service.yaml
    • redis-replica-deployment.yaml
    • redis-replica-service.yaml

Déployer la configuration

Procédez comme suit pour configurer la ressource Azure Arc pour déployer une configuration GitOps via le portail Azure :

  1. Dans votre portail Azure, accédez à la ressource Azure Arc que vous avez créée lorsque vous avez activé Azure Arc sur le cluster Kubernetes sur votre appareil.

    Accéder à la ressource Azure Arc

  2. Accédez à Configurations et sélectionnez + Ajouter une configuration.

    Capture d’écran montrant le cluster Kubernetes avec Azure Arc avec l’option Ajouter une configuration sélectionnée.

  3. Spécifiez l’extension Flux version 1.

  4. Dans Ajouter une configuration GitOps, entrez les valeurs appropriées pour les champs, puis sélectionnez Ajouter.

    Paramètre Descriptif
    Nom de la configuration Nom de la ressource de configuration.
    Nom de l’instance d’opérateur Nom de l’instance de l’opérateur pour identifier une configuration spécifique. Le nom est une chaîne de 253 caractères maximum qui doit être en minuscules, alphanumériques, traits d’union et point uniquement.
    Espace de noms d’opérateur Défini sur demotestguestbook pour qu’il corresponde à l’espace de noms spécifié dans le fichier yaml de déploiement.
    Le champ définit l’espace de noms où l’opérateur est installé. Le nom est une chaîne de 253 caractères maximum qui doit être en minuscules, alphanumériques, traits d’union et point uniquement.
    URL du dépôt
    Chemin du référentiel Git au format http://github.com/username/repo ou git://github.com/username/repo où se trouve votre configuration GitOps.
    Étendue de l’opérateur Sélectionnez Espace de noms.
    Ce paramètre définit l’étendue à laquelle l’opérateur est installé. Sélectionnez Namespace pour installer votre opérateur dans l’espace de noms spécifié dans les fichiers YAML de déploiement.
    Type d’opérateur Conservez la valeur par défaut.
    Ce paramètre spécifie le type de l’opérateur , par défaut, défini en tant que flux.
    Paramètres d'opérateur Laissez ce champ vide.
    Ce paramètre contient des paramètres à passer à l’opérateur de flux.
    Helm Laissez cette case à cocher Désactivée.
    Activez cette option si vous effectuerez des déploiements basés sur des graphiques.

    Ajouter une configuration

  5. Le déploiement de configuration démarre et l’état de l’opérateur s’affiche en attente.

    Capture d’écran montrant le cluster Kubernetes avec Azure Arc dans un état en attente lors de son actualisation.

  6. Le déploiement prend quelques minutes. Une fois le déploiement terminé, l’état de l’opérateur s’affiche comme installé.

    Capture d’écran montrant le cluster Kubernetes avec Azure Arc dans un état installé.

Vérifier le déploiement

Le déploiement via la configuration GitOps crée un demotestguestbook espace de noms tel que spécifié dans les fichiers de déploiement yaml situés dans le référentiel Git.

  1. Une fois que vous avez appliqué la configuration GitOps, connectez-vous à l’interface PowerShell de l’appareil.

  2. Exécutez la commande suivante pour répertorier les pods s’exécutant dans l’espace de noms demotestguestbook correspondant au déploiement.

    kubectl get pods -n <your-namespace>

    Voici un exemple de résultat.

    [10.128.44.240]: PS>kubectl get pods -n demotestguestbook
    NAME                            READY   STATUS    RESTARTS   AGE
    aseoperator1-5569658644-cqtb5   1/1     Running   0          91m
    frontend-6cb7f8bd65-4xb4f       1/1     Running   0          91m
    frontend-6cb7f8bd65-q9cxj       1/1     Running   0          91m
    frontend-6cb7f8bd65-xpzs6       1/1     Running   0          91m
    memcached-86bdf9f56b-5l2fq      1/1     Running   0          91m
    redis-master-7db7f6579f-2z29w   1/1     Running   0          91m
    redis-replica-7664787fbc-lgr2n    1/1     Running   0          91m
    redis-replica-7664787fbc-vlvzn    1/1     Running   0          91m
    [10.128.44.240]: PS>
    
  3. Dans cet exemple, le service frontal a été déployé comme type : LoadBalancer. Vous devez trouver l’adresse IP de ce service pour afficher le guestbook. Exécutez la commande suivante.

    kubectl get service -n <your-namespace>

    [10.128.44.240]: PS>kubectl get service -n demotestguestbook
    NAME           TYPE           CLUSTER-IP       EXTERNAL-IP     PORT(S)        AGE
    frontend       LoadBalancer   10.96.79.38      10.128.44.245   80:31238/TCP   85m
    memcached      ClusterIP      10.102.47.75     <none>          11211/TCP      85m
    redis-master   ClusterIP      10.104.32.99     <none>          6379/TCP       85m
    redis-replica    ClusterIP      10.104.215.146   <none>          6379/TCP       85m
    [10.128.44.240]: PS>
    
  4. Le service frontal de type:LoadBalancer a une adresse IP externe. Cette adresse IP provient de la plage d’adresses IP que vous avez spécifiée pour les services externes lors de la configuration des paramètres réseau de calcul sur l’appareil. Utilisez cette adresse IP pour afficher l’URL guestbook suivante : https://<external-IP-address>.

    Afficher le guestbook

Supprimer un déploiement

Pour supprimer le déploiement, vous pouvez supprimer la configuration à partir du portail Azure. La suppression de la configuration supprime les objets qui ont été créés, y compris les déploiements et les services.

  1. Dans le portail Azure, accédez aux configurations de ressources > Azure Arc.
  2. Recherchez la configuration à supprimer. Sélectionnez le ... pour appeler le menu contextuel et sélectionner Supprimer. Supprimer la configuration

La suppression de la configuration peut prendre plusieurs minutes.

Étapes suivantes

Découvrez comment utiliser le tableau de bord Kubernetes pour surveiller les déploiements sur votre appareil Azure Stack Edge Pro