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

This ArcGIS 11.2 documentation has been archived and is no longer updated. Content and links may be outdated. See the latest documentation.

Входящий контроллер на уровне кластера может использоваться для маршрутизации трафика к развертыванию 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>