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

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

最終更新日:Oct 29, 2024

クラウドとエッジのコラボレーションのシナリオでは、エッジコンピューティングユニットで実行されるサービスへのアクセスは、閉ループ内で制御されます。 NGINX Ingressコントローラーをエッジノードプールおよびクラウド上のノードプールにデプロイして、エッジコンピューティングユニットにデプロイされるサービスの負荷分散を実現できます。 このトピックでは、ACK edgeクラスターのエッジノードプールおよびオンクラウドノードプールにNGINX Ingressコントローラーをデプロイする方法について説明します。

背景情報

ACK Edgeは、ノードの自律性、エッジコンピューティングユニット、エッジトラフィック管理、オープンソースO&M APIのサポートなどの機能を提供します。 これらの機能は、アプリケーションに対応する変更を加えることなく使用できます。 この機能は、エッジコンピューティングのシナリオで、アプリケーションのライフサイクルを管理し、リソースをネイティブかつ集中的にスケジュールするのに役立ちます。 いくつかの手順で、エッジノードを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をデプロイするたびに異なる名前空間を選択することをお勧めします。

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

手順

  1. ACKコンソールにログインします。

  2. ACKコンソールの左側のナビゲーションウィンドウで、[Marketplace] > [Marketplace] を選択します。

  3. On theアプリカタログのタブマーケットプレイスページ、検索し、ack-ingress-nginx-v1をクリックします。

  4. [ack-ingress-nginx-v1] ページで、デプロイページの右上隅にあります。

  5. 配置ウィザードで、クラスター,名前空間、およびリリース名パラメーターを使用します。

    説明

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

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

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

    • オンクラウドノードプールにack-ingress-nginx-v1をデプロイするときに、次の説明に基づいてパラメーターを設定します。

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

        説明

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

        label

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

        説明

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

        • 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}

        説明

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

        label

      • グローバルを設定します。 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を複数回デプロイする場合は、デプロイするたびにnameフィールドとcontrollerValueフィールドに一意の値を指定する必要がありack-ingress-nginx-v1。 次の説明に基づいてフィールドを設定します。

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

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

        para

  7. クリックOK.

  8. クラスターの詳細ページの左側のナビゲーションウィンドウで、アプリケーション > ヘルム.

    Helmページで、NGINX Ingressコントローラーがデプロイされていることがわかります。