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クラスターにインストールされています。
クラスター内のMSE Ingress Controllerへの権限が付与されています。 お使いのクラスターがACKマネージドクラスターまたはACKサーバーレスクラスターの場合は、リンクをクリックして権限を付与します。 お使いのクラスターがACSクラスターの場合は、リンクをクリックして権限を付与します。
バージョンV1.18以降のクラスターが作成されます。 クラスターの作成方法の詳細については、「ACK専用クラスターの作成」、「ACK管理クラスターの作成」、または「ACSクラスターの作成」をご参照ください。 クラスターのバージョンが1.18より前の場合は、クラスターをアップグレードします。 アップグレード操作の詳細については、「手動でACKクラスターをアップグレードする」をご参照ください。
ステップ1: MSE Ingress Controllerのインストール
ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターの名前をクリックします。 左側のナビゲーションウィンドウで、 を選択します。
[アドオン] ページで、検索ボックスにmseと入力し、MSE Ingress Controllerリソースカードの [インストール] をクリックします。
表示されるダイアログボックスで、パラメーターを設定し、[OK] をクリックします。
ACK管理クラスターまたはACKサーバーレスクラスター:
従量課金制のProfessional Editionクラウドネイティブゲートウェイが自動的に作成されます。 ゲートウェイには2つのノードがあり、それぞれに2つのCPUコアと4 GBのメモリがあります。 Standard I (slb.s2.small) Classic Load Balancer (CLB) インスタンスも、指定されたネットワークタイプに基づいて作成されます。 ゲートウェイとCLBインスタンスの作成後に、前述のデフォルト仕様を変更できます。
ACSクラスター:
サーバーレスクラウドネイティブゲートウェイが自動的に作成され、指定されたネットワークタイプに基づいてNetwork Load Balancer (NLB) インスタンスが作成されます。
MSE Ingressコントローラーのインストール時に事前チェックの失敗が発生した場合は、MSE IngressコントローラーにMSEへのアクセスを許可します。
MSE Ingress Controllerをインストールすると、
mse-ingress-pro/serverless-{clusterid}
という名前のMseIngressConfigリソースとmseという名前のIngressClassリソースが自動的に作成されます。ACKコンソールに移動し、クラスターの名前をクリックします。 左側のナビゲーションウィンドウで、[ワークロード] > [デプロイメント] > [カスタムリソース] を選択します。 [カスタムリソース] ページの [リソースオブジェクト] タブで、[APIグループ] セクションの検索ボックスにmseと入力し、検索アイコンをクリックして、MseIngressConfigリソースの説明でゲートウェイステータスを照会します。 ステータスが3〜5分後に [リスニング] に変わると、クラウドネイティブゲートウェイが作成され、[実行中] 状態になります。 ゲートウェイは、クラスター内でIngressClassがmseであるIngressリソースを自動的にリッスンします。
説明通常、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リソースは自動的に作成されません。
MSEコンソールにログインします。
mse-ingress-pro/serverless-{clusterid}
という名前のクラウドネイティブゲートウェイがリージョンに作成されていることを確認します。
手順2: バックエンドサービスのデプロイ
ACSコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターの名前をクリックします。 左側のウィンドウで、 を選択します。
[デプロイメント] ページの右上隅で、[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ゲートウェイの設定
ACSコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターの名前をクリックします。 左側のウィンドウで、 を選択します。
[Ingress] ページで、[Ingressの作成] をクリックします。
[Ingressの作成] ダイアログボックスで、[ゲートウェイタイプ] に [MSE Ingress] を選択し、関連するバックエンドサービスとアノテーションを設定し、[OK] をクリックします。
Ingressクラスをmseに設定します。 ルートを設定するには、[ルール] ドロップダウンリストから [プレフィックス (プレフィックスベースの一致)] を選択し、[パス] フィールドに
/
と入力して、[サービス] ドロップダウンリストから [httpbin] を選択します。MSEコンソールにログインします。 ルートがクラウドネイティブゲートウェイに設定されており、ルート名にhttpbinが含まれていることを確認します。
ステップ4: アクセスサービス
次のいずれかの方法でゲートウェイIPアドレスを取得します。
ACSコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。 [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のナビゲーションウィンドウで、[ネットワーク] > [Ingress] を選択してIngressエンドポイントを表示します。
MSEコンソールにログインします。 左側のナビゲーションウィンドウで、Cloud-Native Gateway > ゲートウェイリスト を選択します。 [ゲートウェイ] ページで、ゲートウェイの名前をクリックします。 クラウドネイティブゲートウェイの [概要] ページで、ゲートウェイに関連付けられているロードバランサインスタンスのIPアドレスを表示します。
webブラウザ、cmd、またはその他のコマンドラインツールを使用して、
ロードバランサインスタンス /バージョンのIPアドレス
形式のパスにアクセスし、サービスをテストします。