Использование Application Gateway Ingress Controller на Microsoft Azure Kubernetes Service

Входящий контроллер на уровне кластера может использоваться для маршрутизации трафика к развертыванию ArcGIS Enterprise на Microsoft Azure Kubernetes Service (AKS). Дополнительные сведения см. в разделе Входящие контроллеры на уровне кластера.

Примечание:

Этот рабочий процесс должен быть выполнен до настройки организации ArcGIS Enterprise. К ArcGIS Enterprise Manager можно получить доступ из браузера после развертывания и настройки средства балансировки нагрузки.

Предварительные условия

Ознакомьтесь с общими предварительными условиями и убедитесь, что выполнены следующие специфичные для AKS предварительные условия:

  • Необходимо подготовить кластер Kubernetes в EKS.
  • В вашем кластере должен быть развернут Application Gateway Ingress Controller. В вашей подписке также должен быть установлен шлюз приложений Azure. Дополнительные сведения о том, как убедиться, что входной контроллер шлюза приложений правильно развернут и настроен для использования со шлюзом приложений, см. в документации Azure.
  • Azure CLI должен быть установлен на вашем клиентском компьютере. Убедитесь, что вы можете пройти аутентификацию из CLI в подписке, в которой существует ваш кластер AKS.
  • На клиентском компьютере. должен быть установлен Kubectl. Убедитесь, что вы можете подключаться и выдавать команды к серверу API Kubernetes, который связан с созданным вами кластером.
  • Нужно создать TLS Secret для хранения информации о сертификате для входного объекта. Сертификат TLS, хранящийся в этом секрете, должен быть действителен для полного доменного имени, которое вы выбрали для своего пространства имен развертывания ArcGIS Enterprise on Kubernetes.
  • Необходимо создать запись DNS у выбранного вами поставщика DNS, которая сопоставляет IP-адрес интерфейса шлюза приложений с полным доменным именем, выбранным для вашего развертывания ArcGIS Enterprise on Kubernetes.

Реализация входящего контроллера на уровне кластера

Чтобы внедрить входящий контроллер на уровне кластера для маршрутизации трафика к развертыванию ArcGIS Enterprise на Microsoft AKS, выполните следующие шаги:

  1. Скопируйте следующие данные YAML в файл на клиентском компьютере:
    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. Замените следующие значения:
    • deploymentFQDN — укажите полное доменное имя, которое было указано при первоначальном развертывании.
    • tlsSecretName — укажите имя секрета TLS, которое было создано в пространстве имен развертывания.
    • namespace — укажите пространство имен, в котором вы развернули ArcGIS Enterprise on Kubernetes.
    • context — укажите контекст, который был указан в процессе развертывания.
      Примечание:

      Это значение дважды появляется в данных YAML и должно быть заменено в обоих случаях. Убедитесь, что обновлено значение в аннотации appgw.ingress.kubernetes.io/health-probe-path.

  3. Сохраните эти данные YAML в файл на клиентском компьютере.

    Например, ingress.yaml.

  4. Примените данные YAML к кластеру, используя следующую команду:
    kubectl apply -f ingress.yaml
    

При завершении этого рабочего процесса будет создан входной объект с именем arcgis-enterprise-ingress. Контроллер Application Gateway Ingress Controller будет использовать информацию, определенную в этом входном объекте YAML для настройки связанного шлюза приложений для маршрутизации трафика в ваше развертывание ArcGIS Enterprise. Как только этот Ingress будет успешно применен, ваше развертывание ArcGIS Enterprise должно быть доступно через шлюз приложений.

Примечание:

Возможно, потребуется обновить развертывание arcgis-ingress-controller, чтобы установить правильное подключение через вновь созданный Ingress. В случае получения сообщения об ошибке при доступе к ArcGIS Enterprise Manager после создания точки входа ingress, попробуйте выполнить следующее:

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