Utiliser le contrôleur Ingress Application Gateway sur Microsoft Azure Kubernetes Service

Un contrôleur Ingress au niveau du cluster permet d’acheminer le trafic vers un déploiement ArcGIS Enterprise sur Microsoft Azure Kubernetes Service (AKS). Pour plus d’informations, reportez-vous à la rubrique Contrôleurs Ingress au niveau du cluster.

Remarque :

Ce processus doit être exécuté avant de configurer une organisation ArcGIS Enterprise. ArcGIS Enterprise Manager est accessible à partir d’un navigateur une fois qu’un équilibreur de charge a été déployé et configuré.

Conditions requises

Examinez les conditions requises et assurez-vous que les conditions préalables propres à AKS suivantes sont remplies :

  • Vous devez avoir préparé un cluster Kubernetes dans AKS.
  • Le contrôleur Ingress Application Gateway doit être déployé sur votre cluster. Une instance Azure Application Gateway doit également être mise en place dans votre abonnement. Pour savoir comment s’assurer que le contrôleur Ingress Application Gateway est correctement déployé et configuré de façon à être utilisé avec une instance Azure Application Gateway, consultez la documentation Azure.
  • L’interface de ligne de commande Azure doit être installée sur votre machine cliente. Vérifiez que vous pouvez vous authentifier à partir de l’interface de ligne de commande sur l’abonnement dans lequel se trouve le cluster AKS.
  • Kubectl doit être installé sur votre machine cliente. Vérifiez que vous pouvez vous connecter au serveur d’API Kubernetes qui est associé au cluster que vous avez créé et émettre des commandes.
  • Vous devez avoir créé un secret TLS afin de stocker les informations du certificat de votre objet Ingress (entrée réseau). Le certificat TLS stocké dans ce secret doit être valide pour le nom de domaine complet que vous avez choisi pour l’espace de noms de votre déploiement ArcGIS Enterprise on Kubernetes.
  • Vous devez avoir créé un enregistrement DNS dans le fournisseur DNS choisi, qui apparie l’adresse IP frontale d’Application Gateway au nom de domaine complet que vous avez attribué à votre déploiement ArcGIS Enterprise on Kubernetes.

Implémenter un contrôleur Ingress au niveau du cluster

Pour implémenter un contrôleur Ingress au niveau du cluster et acheminer le trafic vers un déploiement ArcGIS Enterprise sur Microsoft AKS, procédez comme suit :

  1. Copiez les données YAML suivantes dans un fichier sur votre machine cliente :
    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
      name: arcgis-enterprise-ingress
      namespace: <deploymentNamespace>
      annotations:
        kubernetes.io/ingress.class: azure/application-gateway
        appgw.ingress.kubernetes.io/ssl-redirect: "true"
        appgw.ingress.kubernetes.io/backend-protocol: "https"
        appgw.ingress.kubernetes.io/backend-hostname: <deploymentFQDN>
        appgw.ingress.kubernetes.io/health-probe-hostname: <deploymentFQDN>
        appgw.ingress.kubernetes.io/health-probe-port: "443"
        appgw.ingress.kubernetes.io/health-probe-status-codes: "200-399"
        appgw.ingress.kubernetes.io/health-probe-path: "/<context>/admin
    spec:
      tls:
        - hosts:
            - <deploymentFQDN>
          secretName: <tlsSecretName>
      rules:
        - host: <deploymentFQDN>
          http:
            paths:
              - backend:
                 service:
                   name: arcgis-ingress-nginx
                   port:
                     number: 443
                path: /<context>
                pathType: Prefix
    
  2. Remplacez les valeurs suivantes :
    • deploymentFQDN : fournissez le nom de domaine complet qui a été spécifié au cours du déploiement initial.
    • tlsSecretName : fournissez le nom du secret TLS qui a été créé dans l’espace de noms du déploiement.
    • namespace : fournissez l’espace de noms dans lequel vous avez déployé ArcGIS Enterprise on Kubernetes.
    • context : fournissez le contexte qui a été spécifié au cours du déploiement.
      Remarque :

      Cette valeur apparaît deux fois dans les données YAML et doit être remplacée dans les deux instances. Veillez à mettre à jour la valeur dans l’annotation appgw.ingress.kubernetes.io/health-probe-path.

  3. Enregistrez les données YAML dans un fichier sur votre machine cliente.

    Par exemple, ingress.yaml.

  4. Appliquez les données YAML à votre cluster à l’aide de la commande suivante :
    kubectl apply -f ingress.yaml
    

Une fois ce processus terminé, l’objet Ingress (entrée réseau) nommé arcgis-enterprise-ingress est créé. Le contrôleur Ingress Application Gateway va utiliser les informations définies dans les données YAML de cet objet Ingress pour configurer l’instance Application Gateway associée et acheminer le trafic vers votre déploiement ArcGIS Enterprise. Une fois cet objet Ingress appliqué, votre déploiement ArcGIS Enterprise doit être accessible via Application Gateway.

Remarque :

Le déploiement arcgis-ingress-controller devra peut-être être actualisé pour établir une connexion adéquate via l’objet Ingress récemment créé. Si vous recevez une erreur lors de l’accès à ArcGIS Enterprise Manager après la création de l’objet Ingress, essayez d’exécuter ce qui suit :

kubectl rollout restart deployment/arcgis-ingress-controller -n <deploymentNamespace>