Microsoft Azure Kubernetes Serviceでのアプリケーション ゲートウェイ Ingress コントローラーの使用

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

クラスターレベルの Ingress コントローラーを使用して、トラフィックを Microsoft Azure Kubernetes Service (AKS) 上の ArcGIS Enterprise デプロイメントにルーティングします。 詳細については、「クラスターレベルの Ingress コントローラー」をご参照ください。

注意:

このワークフローは、ArcGIS Enterprise 組織を作成する前に実行してください。 ロード バランサーがデプロイされて構成されたら、ブラウザーから ArcGIS Enterprise Manager にアクセスできます。

前提条件

一般的な前提条件」を確認し、次の AKS 固有の前提条件が満たされていることを確認してください。

  • AKSKubernetes クラスターを作成しておく必要があります」。
  • アプリケーション ゲートウェイ Ingress コントローラーをクラスターにデプロイする必要があります。 Azure Application Gateway をサブスクリプション内に配置している必要もあります。 アプリケーション ゲートウェイで使用するためにアプリケーション ゲートウェイ Ingress コントローラーを適切にデプロイし構成する方法に関する詳細については、「Azure のドキュメント」をご参照ください。
  • Azure CLI はクライアント コンピューターにインストールする必要があります。 AKS クラスターが存在するサブスクリプションに対して CLI から認証できることを確認してください。
  • Kubectl はクライアント コンピューターにインストールする必要があります。 作成したクラスターに関連付けられている Kubernetes API Server に接続してコマンドを発行できることを確認してください。
  • Ingress オブジェクトの証明書情報を格納するための TLS シークレットを作成しておく必要があります。 このシークレット内に格納された TLS 証明書は、ArcGIS Enterprise on Kubernetes デプロイメント名前空間用に選択する完全修飾ドメイン名に対して有効である必要があります。
  • 選択した DNS プロバイダーで DNS レコードを作成し、アプリケーション ゲートウェイのフロントエンド IP アドレスを、ArcGIS Enterprise on Kubernetes デプロイメント用に選択した完全修飾ドメイン名にマッピングします。

クラスターレベルの Ingress コントローラーの実装

クラスターレベルの Ingress コントローラーを実装して、トラフィックを Microsoft AKS 上の ArcGIS Enterprise デプロイメントにルーティングするには、次の手順を実行します。

  1. layer-7-templates フォルダーのテンプレートを開くか、次の例をクライアント コンピューター上のファイルにコピーします。
    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"
        appgw.ingress.kubernetes.io/request-timeout: "600"
      labels:
        id: custom-ingress-resource
    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 - デプロイメント時に指定したコンテキストを指定します。
      注意:

      この値は 2 か所に表示され、両方のインスタンスで置き換えられる必要があります。 appgw.ingress.kubernetes.io/health-probe-path アノテーション内の値を更新していることを確認してください。

  3. クライアント コンピューター上のファイルを保存します。

    例: ingress.yaml

  4. 次のいずれかを実行して、Ingress オブジェクトを作成します。

このワークフローを完了したら、Ingress arcgis-enterprise-ingress オブジェクトが作成されます。 アプリケーション ゲートウェイ Ingress コントローラーはこの Ingress オブジェクト YAML に定義されている情報を使用して、トラフィックを ArcGIS Enterprise デプロイメントにルーティングするよう関連するアプリケーション ゲートウェイを構成します。 この Ingress が正常に適用されると、ArcGIS Enterprise デプロイメントはアプリケーション ゲートウェイを通じてアクセスできるようになります。

注意:

新しく作成された Ingress を使用して正しい接続を作成するには、arcgis-ingress-controller デプロイメントを更新する必要がある場合があります。 Ingress を作成した後で ArcGIS Enterprise Manager にアクセスしたときにエラーが表示された場合は、次の操作を実行してみてください。

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