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

Container Compute Service:ACK クラスタおよび ACS クラスタ内のサービスにアクセスするための MSE Ingress ゲートウェイの使用

最終更新日:Jan 24, 2025

Higress Enterprise Edition ゲートウェイとして、Microservices Engine (MSE) Ingress ゲートウェイは NGINX Ingress ゲートウェイと互換性があります。オープンソースのセルフマネージド Ingress ゲートウェイのパフォーマンスと比較して、MSE Ingress ゲートウェイのパフォーマンスは 2 倍になります。MSE Ingress ゲートウェイは、セキュリティ成熟度に基づいて、中国情報通信技術研究院 (CAICT) によって業界をリードする Ingress ゲートウェイとして認定されています。MSE Ingress ゲートウェイは、低コスト、セキュリティ保護、高統合性、高可用性という利点を提供します。このトピックでは、MSE Ingress ゲートウェイを使用して Container Service for Kubernetes (ACK) クラスタおよび Container Compute Service (ACS) クラスタ内のサービスにアクセスする方法について説明します。

重要

セキュリティ上の理由から、MSE Ingress ゲートウェイは kube-system 名前空間のサービスを公開できません。

前提条件

MSE Ingress Controller が ACK マネージドクラスタ、ACK Serverless クラスタ、または ACS クラスタにインストールされています。

ステップ 1: MSE Ingress Controller をインストールする

  1. ACK マネージドクラスタまたは ACK Serverless クラスタ

    1. ACK コンソールにログオンします。左側のナビゲーションペインで、クラスタをクリックします。

    2. クラスタページで、管理するクラスタを見つけて、その名前をクリックします。左側のナビゲーションペインで、操作 > アドオン を選択します。

    ACS クラスタ

    1. ACS コンソールにログオンします。左側のナビゲーションペインで、クラスタをクリックします。

    2. クラスタページで、管理するクラスタを見つけて、その ID をクリックします。クラスタ詳細ページの左側のナビゲーションペインで、操作 > アドオン を選択します。

  2. アドオンページで、検索ボックスにmse と入力し、MSE Ingress Controller リソースカードのインストールをクリックします。

    image.png

  3. MSE Ingress Controller のインストールダイアログボックスで、パラメータを設定し、OK をクリックします。

    ACK マネージドクラスタまたは ACK Serverless クラスタ

    従量課金制のプロフェッショナルエディションのクラウドネイティブゲートウェイが自動的に作成されます。ゲートウェイには 2 つのノードがあり、各ノードには 2 つの CPU コアと 4 GB のメモリがあります。指定されたネットワークタイプに基づいて、Standard I (slb.s2.small) Classic Load Balancer (CLB) インスタンスも作成されます。ゲートウェイと CLB インスタンスが作成された後、上記のデフォルトの仕様を変更できます。参数配置.png

    ACS クラスタ

    サーバーレスクラウドネイティブゲートウェイが自動的に作成され、指定されたネットワークタイプに基づいて Network Load Balancer (NLB) インスタンスが作成されます。

    image

  4. MSE Ingress Controller をインストールするときに事前チェックに合格できませんでした。というエラーメッセージが表示された場合は、MSE Ingress Controller に権限を付与します。クラスタが ACK マネージドクラスタまたは ACK Serverless クラスタの場合は、リンクをクリックして権限を付与します。クラスタが ACS クラスタの場合は、リンクをクリックして権限を付与します。

    查看报告.png

  5. MSE Ingress Controller がインストールされると、システムはmse-ingress-pro/serverless-{clusterid} という名前の MseIngressConfig リソースと mse という名前の IngressClass リソースを自動的に作成します。

    ACK コンソールに移動し、クラスタの名前をクリックできます。左側のナビゲーションペインで、ワークロード > デプロイメント > カスタムリソース を選択します。カスタムリソースページのリソースオブジェクトタブで、API グループセクションの検索ボックスにmse と入力し、検索アイコンをクリックしてMseIngressConfig リソースの説明でゲートウェイの状態をクエリします。3 ~ 5 分後に状態がリスニング中に変わると、クラウドネイティブゲートウェイが作成され、実行中状態になります。ゲートウェイは、IngressClass がクラスタ内の mse である Ingress リソースを自動的にリッスンします。image.png

    説明

    通常、MseIngressConfig のゲートウェイの状態は、保留中 > 実行中 > リスニング中の順序で変化します。状態の説明:

    • 保留中:クラウドネイティブゲートウェイが作成されています。約 3 分待つ必要があります。

    • 実行中:クラウドネイティブゲートウェイが作成され、実行されています。

    • リスニング中:クラウドネイティブゲートウェイが実行されており、クラスタ内の Ingress リソースをリッスンしています。

    • 失敗:クラウドネイティブゲートウェイが無効な状態です。[状態] フィールドの [メッセージ] を表示して、原因を特定できます。

    重要
    • クラスタを作成すると、MSE Ingress Controller のインストール中に MseIngressConfig リソースが自動的に作成されます。MseIngressConfig リソースのライフサイクルは、MSE クラウドネイティブゲートウェイのライフサイクルに関連付けられています。MseIngressConfig リソースを削除すると、関連付けられている MSE クラウドネイティブゲートウェイインスタンスも削除されます。特に指定のない限り、MseIngressConfig リソースを削除しないでください。

    • MSE Ingress Controller をインストールする前に、mse という名前の IngressClass リソースがクラスタに既に存在する場合、MSE Ingress Controller のインストール中に MSE クラウドネイティブゲートウェイと関連付けられている MseIngressConfig リソースは自動的に作成されません。

  6. MSE コンソールにログオンします。リージョンにmse-ingress-pro/serverless-{clusterid} という名前のクラウドネイティブゲートウェイが作成されていることを確認します。

ステップ 2: バックエンドサービスをデプロイする

  1. ACK マネージドクラスタまたは ACK Serverless クラスタ

    1. ACK コンソールにログオンします。左側のナビゲーションペインで、クラスタをクリックします。

    2. クラスタページで、管理するクラスタを見つけて、その名前をクリックします。左側のペインで、ワークロード > デプロイメント を選択します。

    ACS クラスタ

    1. ACS コンソールにログオンします。左側のナビゲーションペインで、クラスタをクリックします。

    2. クラスタページで、管理するクラスタを見つけて、その ID をクリックします。クラスタ詳細ページの左側のナビゲーションペインで、ワークロード > デプロイメント を選択します。

  2. デプロイメントページで、YAML から作成をクリックします。次の YAML コードを使用して、httpbin という名前のデプロイメントと httpbin という名前のサービスをデプロイします。

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: httpbin
      namespace: default
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: httpbin
      template:
        metadata:
          labels:
            app: httpbin
            version: v1
        spec:
          containers:
            - image: registry.cn-hangzhou.aliyuncs.com/mse-ingress/go-httpbin
              args:
                - "--version=v1"
              imagePullPolicy: Always
              name: httpbin
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: httpbin
      namespace: default
    spec:
      ports:
        - port: 8080
          protocol: TCP
      selector:
        app: httpbin

ステップ 3: MSE Ingress ゲートウェイを設定する

  1. ACK マネージドクラスタまたは ACK Serverless クラスタ

    1. ACK コンソールにログオンします。左側のナビゲーションペインで、クラスタをクリックします。

    2. クラスタページで、管理するクラスタを見つけて、その名前をクリックします。左側のペインで、ネットワーク > Ingress を選択します。

    ACS クラスタ

    1. ACS コンソールにログオンします。左側のナビゲーションペインで、クラスタをクリックします。

    2. クラスタページで、管理するクラスタを見つけて、その ID をクリックします。クラスタ詳細ページの左側のナビゲーションペインで、ネットワーク > Ingress を選択します。

  2. Ingress ページで、Ingress の作成をクリックします。

  3. Ingress の作成ダイアログボックスで、ゲートウェイタイプMSE Ingress を選択し、関連付けられたバックエンドサービスとアノテーションを設定して、OK をクリックします。

    Ingress クラスを mse に設定します。ルートを設定するには、[ルール] ドロップダウンリストからプレフィックス (プレフィックスベースの照合) を選択し、パスフィールドに/ と入力して、[サービス] ドロップダウンリストから httpbin を選択します。image.png

  4. MSE コンソールにログオンします。クラウドネイティブゲートウェイにルートが設定されており、ルート名に httpbin が含まれていることを確認します。

    image.png

ステップ 4: サービスにアクセスする

  1. 次のいずれかの方法でゲートウェイの IP アドレスを取得します。

    • ACK マネージドクラスタまたは ACK Serverless クラスタ

      1. ACK コンソールにログオンします。左側のナビゲーションペインで、クラスタをクリックします。

      2. クラスタページで、管理するクラスタを見つけて、その名前をクリックします。左側のペインで、ネットワーク > Ingress を選択します。

      3. Ingress ページで、Ingress エンドポイントを表示します。

        image.png

      ACS クラスタ

      1. ACS コンソールにログオンします。左側のナビゲーションペインで、クラスタをクリックします。

      2. クラスタページで、管理するクラスタを見つけて、その ID をクリックします。クラスタ詳細ページの左側のナビゲーションペインで、ネットワーク > Ingress を選択します。

      3. Ingress ページで、Ingress エンドポイントを表示します。

        image

    • MSE コンソールにログオンします。左側のナビゲーションペインで、Cloud-Native Gateway > ゲートウェイリスト を選択します。[ゲートウェイ] ページで、ゲートウェイの名前をクリックします。クラウドネイティブゲートウェイの概要ページで、ゲートウェイに関連付けられているロードバランサインスタンスの IP アドレスを表示します。

      查看地址.png

  2. Web ブラウザ、cmd、またはその他のコマンドラインツールを使用して、ロードバランサインスタンスの IP アドレス/バージョン の形式でパスにアクセスし、サービスをテストします。

    image.png

参考文献

MSE Ingress ゲートウェイと MSE Ingress ゲートウェイの仕組みの詳細については、MSE Ingress ゲートウェイの概要を参照してください。