すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:NGINX Ingress コントローラーのインストール

最終更新日:May 13, 2025

クラウドエッジ連携シナリオでは、エッジユニット下のサービスのトラフィック処理は、エッジノードプール内で優先されます。このトピックでは、ACK Edge クラスター のエッジノードプールとクラウドノードプールの両方に NGINX Ingress コントローラーをデプロイし、エッジユニットサービスに負荷分散を提供する方法について説明します。

背景情報

ACK Edge は、非侵入型の機能強化のために次の機能を提供します。

  • エッジ自律性: ネットワーク障害時の自己修復

  • エッジユニット: エッジノードグループの論理的な隔離

  • エッジトラフィック管理: ローカル優先トラフィックの優先順位付け

  • ネイティブ操作 API サポート: Kubernetes API との完全な互換性

ACK Edge は、クラウドエッジ環境全体での統一されたアプリケーションライフサイクル管理とリソーススケジューリングをネイティブにサポートしています。いくつかの手順で ACK Edge クラスターにエッジノードを追加できます。

注意事項

エッジノードプールとクラウドノードプールに ack-ingress-nginx-v1 をデプロイする場合は、次の点に注意してください。

  • ACK Edge クラスター の Kubernetes バージョンは 1.19 以降です。

  • ACK Edge クラスターack-ingress-nginx-v1 を複数回デプロイできます。ack-ingress-nginx-v1 をデプロイするたびに、一意のリリース名を指定します。操作を分離するために、デプロイごとに独立した名前空間を使用することをお勧めします。

  • ACK Edge クラスター に初めて ack-ingress-nginx-v1 をデプロイするときにデフォルト設定を使用すると、ack-ingress-nginx-v1 はクラスターのデフォルトノードプールにデプロイされます。

手順

  1. ACK コンソール にログインします。左側のナビゲーションウィンドウで、[マーケットプレイス] > [マーケットプレイス] を選択します。

  2. [アプリカタログ] タブの [マーケットプレイス] ページで、ack-ingress-nginx-v1 を見つけてクリックします。

  3. ack-ingress-nginx-v1 ページで、ページの右上隅にある [デプロイ] をクリックします。

  4. デプロイウィザードで、[クラスター][名前空間]、および [リリース名] パラメーターを設定します。

    説明

    ノードプールに ack-ingress-nginx-v1 をデプロイする場合は、Ack-ingress-nginx-v1-{ノードプール名} 形式でリリース名を指定することをお勧めします。例: ack-ingress-nginx-v1-edge-hangzhou

  5. [次へ] をクリックして、[パラメーター] ウィザードページのパラメーターを設定します。

    service.nodeSelector 構成のノードプール ID を取得するには、ACK コンソール のクラスター詳細ページに移動し、左側のナビゲーションウィンドウで [ノード] > [ノードプール] を選択します。次に、ノードプールリストでクラウドノードプール ID とエッジノードプール ID を取得します。

    • クラウドノードプールに ack-ingress-nginx-v1 をデプロイする場合は、次のパラメーターを設定します:

      • nodeSelector パラメーターに次のラベルを追加します: alibabacloud.com/nodepool-id {ノードプール ID}

        説明

        nodeSelector パラメーターには、alibabacloud.com/nodepool-id: {ノードプール ID} のみ指定する必要があります。

        label

      • ingressClassResource パラメーターの name フィールドと controllerValue フィールドを設定します。

        説明

        ACK Edge クラスター に ack-ingress-nginx-v1 を複数回デプロイする場合は、ack-ingress-nginx-v1 をデプロイするたびに、name フィールドと controllerValue フィールドに一意の値を指定する必要があります。次の説明に基づいてフィールドを設定します。

        • nameack-nginx-{ノードプール名} 形式で設定します。例: ack-nginx-edge-hangzhou

        • controllerValue"k8s.io/ack-ingress-nginx-{ノードプール名}" 形式で設定します。例: "k8s.io/ack-ingress-nginx-edge-hangzhou"

        para

    • エッジノードプールに ack-ingress-nginx-v1 をデプロイする場合は、次のパラメーターを設定します:

      • nodeSelector パラメーターに次のラベルを追加します: alibabacloud.com/nodepool-id: {ノードプール ID}

        説明

        nodeSelector パラメーターには、alibabacloud.com/nodepool-id: {ノードプール ID} のみ指定する必要があります。

        label

      • global.edgeNodePool パラメーターを true に設定します。 ack-ingress-nginx-v1 は自動的に次の操作を実行します。

        • エッジノードにデプロイされた NGINX Ingress コントローラーのサービス タイプは、LoadBalancer から NodePort に自動的に変更されます。エッジにデプロイされたアプリケーションをパブリックインターネットに公開するには、パブリック IP アドレスを持つロードバランサーを構成する必要があります。

        • NGINX Ingress コントローラーのパブリックイメージアドレスを指定します。これにより、Alibaba Cloud でホストされているプライベートイメージをプルできない場合のデプロイメントの失敗を防ぎます。

        shezhi

      • ingressClassResource パラメーターの name フィールドと controllerValue フィールドを設定します。

        説明

        ACK Edge クラスター に ack-ingress-nginx-v1 を複数回デプロイする場合は、ack-ingress-nginx-v1 をデプロイするたびに、name フィールドと controllerValue フィールドに一意の値を指定する必要があります。次の説明に基づいてフィールドを設定します。

        • nameack-nginx-{ノードプール名} 形式で設定します。例: ack-nginx-edge-hangzhou

        • controllerValue"k8s.io/ack-ingress-nginx-{ノードプール名}" 形式で設定します。例: "k8s.io/ack-ingress-nginx-edge-hangzhou"

        para

  6. [OK] をクリックします。

  7. クラスター詳細ページの左側のナビゲーションウィンドウで、[アプリケーション] > [Helm] を選択します。

    Helm ページで、NGINX Ingress コントローラーがデプロイされていることを確認できます。