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

:ゲートウェイの管理

最終更新日:Nov 19, 2024

このトピックでは、Distributed Cloud Container Platform for Kubernetes (ACK One) フリートインスタンスのマルチクラスタゲートウェイ機能を有効または無効にする方法と、関連付けられたクラスタをマルチクラスタゲートウェイに接続する方法について説明します。

課金

マルチクラスターゲートウェイの使用に対して課金されます。 マルチクラスターゲートウェイの課金の詳細については、「課金の概要」をご参照ください。

前提条件

マルチクラスターゲートウェイ機能の有効化

コンソールの使用

  1. ACK Oneコンソールにログインします。 左側のナビゲーションウィンドウで、フリート> マルチクラスタゲートウェイを選択します。

  2. マルチクラスタゲートウェイページで、マルチクラスタゲートウェイの有効化をクリックします。 表示されたメッセージボックスで、[OK] をクリックします。

CLIの使用

  1. Alibaba Cloud CLIが最新であることを確認し、次のコマンドを実行してマルチクラスターゲートウェイ機能を有効にします。

    <YOUR_FLEET_CLUSTERID> をフリートインスタンスのIDに置き換えます。

    aliyun adcp UpdateHubClusterFeature --ClusterId <YOUR_FLEET_CLUSTERID> --GatewayEnabled true
  2. 次のコマンドを実行して、マルチクラスタゲートウェイ機能が有効になっているかどうかを確認します。

    aliyun adcp DescribeHubClusterDetails --ClusterId <YOUR_FLEET_CLUSTERID> |grep -B4 -A1 EnabledMSE`

    期待される出力: Statusパラメーターの値がTrueの場合、マルチクラスターゲートウェイ機能が有効になります。

    			{
    				"Message": "",
    				"Reason": "",
    				"Status": "True",
    				"Type": "EnabledMSE"
    			},

マルチクラスタゲートウェイの作成

コンソールの使用

  1. ACK Oneコンソールにログインします。 左側のナビゲーションウィンドウで、フリート> マルチクラスタゲートウェイを選択します。

  2. マルチクラスターゲートウェイページの右上隅にある [ゲートウェイの作成] をクリックします。

  3. 表示されるパネルで、ビジネス要件に基づいてマルチクラスターゲートウェイの作成に使用するYAMLファイルを変更し、[作成] をクリックします。

CLIの使用

  1. ACK One FleetインスタンスのvSwitch IDを取得して記録します。

    1. 次のコマンドを実行して、vSwitch IDを照会します。

    aliyun adcp DescribeHubClusterDetails --ClusterId <YOUR_FLEET_CLUSTERID>
    1. 出力のvSwitchフィールドにvSwitch IDを記録します。

  2. mseingressconfig.yamlという名前のファイルを作成し、次の内容をファイルに追加します。

    ${vsw-id1} を記録したvSwitch IDに置き換えます。 ゲートウェイ構成ファイルに注釈を追加して、ゲートウェイに追加する関連クラスターを指定できます。

    apiVersion: mse.alibabacloud.com/v1alpha1
    kind: MseIngressConfig
    metadata:
      name: ackone-gateway
      # Connect associated clusters to the MSE gateway. 
      #annotations:
      #  mse.alibabacloud.com/remote-clusters: ${cluster1},${cluster2}
    spec:
      common:
        instance:
          replicas: 3
          spec: 2c4g
        network:
          # You can configure both an Internet-facing Server load Balancer (SLB) instance and an internal-facing SLB instance. If no SLB instance is specified, an Internet-facing SLB instance is used by default. 
          #publicSLBSpec: slb.s2.small
          #privateSLBSpec: slb.s2.small
          vSwitches:
          - ${vsw-id1}
      ingress:
        local:
          ingressClass: mse
      name: mse-ingress
  3. 次のコマンドを実行して、ACK One Fleetインスタンスにmse-ingressという名前のゲートウェイを作成します。

    kubectl apply -f mseingressconfig.yaml
  4. 次のコマンドを実行して、ゲートウェイが作成されているかどうかを確認します。

    kubectl get mseingressconfig ackone-gateway

    期待される出力:

    NAME             STATUS      AGE
    ackone-gateway   Listening   3m15s

    出力は、ゲートウェイがリスニング状態にあることを示します。 これは、クラウドネイティブゲートウェイが作成されて実行されていることを意味します。 ゲートウェイは、IngressClassesがmseであるIngressをリッスンします。

    MseIngressConfigから作成されたゲートウェイのステータスは、Pending、Running、Listeningの順に変わります。 状態の説明:

    • 保留中: クラウドネイティブゲートウェイが作成中です。 このプロセスには約3分かかります。

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

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

    • Failed: クラウドネイティブゲートウェイが無効です。 [ステータス] フィールドのメッセージを確認して、問題をトラブルシューティングできます。

関連クラスターの追加または削除

コンソールの使用

  1. ACK Oneコンソールにログインします。 左側のナビゲーションウィンドウで、フリート> マルチクラスタゲートウェイを選択します。

  2. [マルチクラスタゲートウェイ] ページの上部で、[ゲートウェイの選択] ドロップダウンリストから管理するマルチクラスタゲートウェイを選択し、右上隅の [変更] をクリックします。

  3. ModifyGatewayパネルで、MseIngresConfig.yamlファイルを変更します。 annotationsパラメーターでクラスターIDを変更し、[更新] をクリックします。

    サンプルコード:

    annotations:
      mse.alibabacloud.com/remote-clusters: ${cluster1-id},${cluster2-id}
    • ${cluster1-id}${cluster2-id} は、関連付けられているクラスターのIDです。 複数のクラスターIDはコンマ (,) で区切ります。 クラスターIDを変更して、関連するクラスターを追加または削除できます。

    • マルチクラスターゲートウェイの作成時に関連付けられたクラスターをマルチクラスターゲートウェイに追加しない場合、MseIngresConfig.yamlファイルにはannotationsパラメーターがありません。 指定された関連クラスターをマルチクラスターゲートウェイに追加するには、上記のコードをMseIngresConfig.yamlファイルのmetadataオブジェクトに追加し、クラスターIDを変更する必要があります。

CLIの使用

  1. ACK One Fleetインスタンスのmseingressconfigオブジェクトの対応するアノテーションを変更して、関連するクラスターを追加または削除できます。 ${cluster1-id}${cluster2-id} を関連付けられたクラスターのIDに置き換えます。 複数のクラスターIDはコンマ (,) で区切ります。

    annotations:
      mse.alibabacloud.com/remote-clusters: ${cluster1-id},${cluster2-id}
  2. 次のコマンドを実行して、関連付けられているクラスターがマルチクラスターゲートウェイに追加されているかどうかを確認します。

    kubectl get mseingressconfig ackone-gateway -ojsonpath="{.status.remoteClusters}"

    期待される出力:

    [{"clusterId":"c7fb82****"},{"clusterId":"cd3007****"}]

    出力は、関連するクラスターのIDと、失敗メッセージが返されないことを示します。 これは、関連付けられたクラスタがマルチクラスタゲートウェイに追加されることを意味する。

  3. 次のコマンドを実行して、マルチクラスタゲートウェイに追加された関連クラスタを照会します。

    kubectl get mseingressconfig ackone-gateway
  4. 次のコマンドを実行して、関連するクラスターを追加または削除します。

    mse.alibabacloud.com/remote-clusters=${cluster1},${cluster2} は、マルチクラスターゲートウェイに追加する関連クラスターを示します。

    kubectl annotate mseingressconfig ackone-gateway mse.alibabacloud.com/remote-clusters=${cluster1},${cluster2} --overwrite=true

マルチクラスターゲートウェイ機能の無効化

重要
  • マルチクラスタゲートウェイを削除すると、ビジネスに悪影響を与える可能性があります。 作業は慎重に行ってください。

  • マルチクラスタゲートウェイが不要になった場合は、マルチクラスタゲートウェイを削除してから、マルチクラスタゲートウェイ機能を無効にして、リソースの浪費を回避できます。

コンソールの使用

  1. ACK Oneコンソールにログインします。 左側のナビゲーションウィンドウで、フリート> マルチクラスタゲートウェイを選択します。

  2. [マルチクラスタゲートウェイ] ページの上部で、[ゲートウェイの選択] ドロップダウンリストから管理するマルチクラスタゲートウェイを選択し、右上隅の [削除] をクリックします。

  3. 表示されるダイアログボックスで、削除するマルチクラスターゲートウェイの名前を入力し、[削除] をクリックします。

  4. ACK One Fleetインスタンス内のすべてのマルチクラスターゲートウェイが削除されていることを確認し、ページの右上隅にある [無効化] をクリックします。

  5. 表示されたメッセージボックスで、[OK] をクリックします。

CLIの使用

  1. 次のコマンドを実行して、マルチクラスタゲートウェイを削除します。

    kubectl delete mseingressconfig ackone-gateway
  2. 次のコマンドを実行して、マルチクラスタゲートウェイ機能を無効にします。

    aliyun adcp UpdateHubClusterFeature --ClusterId <YOUR_FLEET_CLUSTERID> --GatewayEnabled false