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

Container Service for Kubernetes:MSE Ingressを使用したACKクラスターのアプリケーションへのアクセス

最終更新日:Nov 10, 2024

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

重要

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

前提条件

MSE Ingress Controllerは、Container Service for Kubernetes (ACK) 管理クラスター、ACKサーバーレスクラスター、またはACSクラスターにインストールされています。

ステップ1: MSE Ingress Controllerのインストール

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

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

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

    image.png

  4. 表示されるダイアログボックスで、パラメーターを設定し、[OK] をクリックします。

    ACK管理クラスターまたはACKサーバーレスクラスター:

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

    ACSクラスター:

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

    image

  5. MSE Ingressコントローラーのインストール時に事前チェックの失敗が発生した場合は、MSE IngressコントローラーにMSEへのアクセスを許可します

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

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

    説明

    通常、MseIngressConfigのゲートウェイのステータスは、Pending > Running > Listeningの順に変わります。 ステータスの説明:

    • 保留中: クラウドネイティブゲートウェイが作成中です。 約3分待たなければなりません。

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

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

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

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

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

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

手順2: バックエンドサービスのデプロイ

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

  2. [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のウィンドウで、[ワークロード] > [デプロイ] を選択します。

  3. [デプロイメント] ページの右上隅で、[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.ack.aliyuncs.com/ack-demo/httpbin:0.1.0
              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. ACSコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のウィンドウで、[ネットワーク] > [Ingress] を選択します。

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

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

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

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

    image.png

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

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

    • ACSコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。 [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のナビゲーションウィンドウで、[ネットワーク] > [Ingress] を選択してIngressエンドポイントを表示します。

      image.png

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

      查看地址.png

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

    image.png