Container Service for Kubernetes およびContainer Compute Service で実行されている Spring Cloud および Dubbo マイクロサービスアプリケーションは、MSE ガバナンスセンターに接続できます。MSE を使用すると、幅広いサービスガバナンス機能を利用して、オンラインマイクロサービスの安定性を向上させ、開発効率を高めることができます。このトピックでは、ACK および ACS のマイクロサービスアプリケーションを MSE ガバナンスセンターに接続する方法について説明します。
前提条件
-
マネージドクラスターまたはACK Serverless クラスターを作成済みであること。
-
ACK または ACS クラスターと MSE ガバナンスセンターが同じリージョンにあること。
-
プロジェクトでオープンソースの Sentinel コンポーネントと
com.alibaba.cloud.sentinel.feign.SentinelFeignAutoConfigurationを使用している場合、MSE ガバナンスセンターへの接続は失敗します。 -
MSE Java エージェントをアタッチする場合、JVM ヒープメモリは 256 MB を超える必要があります。
-
ACK クラスターが MSE リソースへのアクセスに必要な権限を持っていることを確認してください。
デフォルトでは、マネージド ACK クラスターにはこのトークンが含まれています。ただし、一部の古いクラスターには含まれていない場合があるため、トークンが存在することを確認することを推奨します。
マネージド ACK クラスターで ARMS Addon Token を確認するには、次の手順に従ってください。
-
コンテナーサービス for Kubernetes コンソールにログインします。Clusters ページで、目的のクラスターの名前をクリックします。
-
左側のナビゲーションペインで、 を選択します。Namespaces ドロップダウンリストから kube-system を選択し、addon.arms.token が存在するかどうかを確認します。存在しない場合は、手動で権限を付与する必要があります。
-
-
このプロセスで RAM ユーザーを使用する場合は、「RAM ユーザーの権限」をご参照ください。
手順
接続方法の選択に関する推奨事項:
-
名前空間内のすべてまたはほとんどのアプリケーションを MSE ガバナンスセンターに接続する必要がある場合は、シナリオ 1: 名前空間のガバナンスを有効にする に従うことをお勧めします。接続する必要がないアプリケーションについては、その YAML ファイルに次のラベルを追加する必要があります:
spec.template.labels.msePilotAutoEnable: "off"。 -
名前空間内の一部のアプリケーションのみを MSE ガバナンスセンターに接続する必要がある場合は、シナリオ2:単一アプリケーションのガバナンスの有効化に従うことを推奨します。
シナリオ1:名前空間のガバナンスの有効化
名前空間に対して MSE マイクロサービスガバナンスを有効にすると、MSE はその名前空間内で新しく作成および再デプロイされたすべてのアプリケーションの Pod をガバナンスセンターに自動的に接続します。個別に接続する必要はありません。アプリケーションの作成方法の詳細については、「ステートレスワークロード Deployment の作成」をご参照ください。
MSE コンソールにログインし、上部のナビゲーションバーでリージョンを選択します。
左側のナビゲーションウィンドウで、Microservices Governance > Application Governance を選択します。
-
Application list ページで、ACK Application Access をクリックします。
-
ACK Application Access ダイアログボックスで、パラメーターを設定し、OK をクリックします。
[アクセスタイプ] で [Namespace Access] を選択し、接続する [クラスター名前空間] と、対応する [マイクロサービスガバナンス名前空間] を設定します。
パラメーター
説明
[Cluster type]
ACK Cluster、ACK Serverless Cluster、または ACS Clusterを選択します。
説明Container Service for Kubernetes に MSE を呼び出す権限を付与していない場合は、今すぐ承認をクリックして、必要な権限を付与してください。
[Cluster Name/ID]
MSE ガバナンスセンターに接続するクラスターのCluster Name/ID を選択します。キーワードでクラスターを検索できます。
ack-onepilot
ack-onepilot コンポーネントのステータスが表示されます。このコンポーネントとそのアップグレード方法の詳細については、「ack-onepilot コンポーネント」および「MSE マイクロサービスガバナンスコンポーネントのインストールとアップグレード」をご参照ください。
-
ack-onepilot がインストールされていない場合、クラスターを選択するとインストールが自動的に開始され、The installation process takes about 1 minute. Wait for a while. というメッセージが表示されます。
RAM ユーザーを使用していて権限エラーが発生した場合は、Container Service for Kubernetes コンソールにログインします。ターゲットクラスターに移動し、左側のナビゲーションペインで アドオン管理 をクリックします。ack-onepilot を見つけ、Install をクリックします。
-
ack-onepilot がすでにインストールされている場合、UI にはインストールされているバージョンが表示されます (例:
Installed 4.2.0)。
説明-
ack-onepilot コンポーネントの詳細は、コンテナサービス for Kubernetes コンソールにログインし、ターゲットクラスターに移動して、操作 > アドオン管理 を選択することで表示できます。
-
ack-onepilot がインストールされると、Java エージェントが自動的にインジェクトされます。これにより、アプリケーションの起動時間が最大 10 秒増加する場合があります。
-
名前空間で接続する場合、対象クラスターがリストされているリージョンのいずれにもない場合は、パブリックネットワークアクセスがあり、acm.aliyun.com:8080 に接続できることを確認してください:中国 (青島)、中国 (杭州)、中国 (北京)、中国 (上海)、上海金融クラウド、中国 (深圳)、香港 (中国)、シンガポール、ドイツ (フランクフルト)、オーストラリア (シドニー)、米国 (シリコンバレー)、米国 (バージニア)。
[Access Type]
Namespace Access を選択します。
[Cluster Namespace]
Cluster Namespace を選択します。
[Microservices Governance Namespace]
Microservices Governance Namespace を選択します。
-
追加情報:
-
ACK または ACS クラスター内のアプリケーションを MSE ガバナンスセンターに接続すると、コンソールにはデフォルトで Deployment 名が表示されます。カスタムアプリケーション名を指定するには、デプロイされたアプリケーションの YAML 設定を変更します。
spec: template: metadata: labels: # アプリケーションの MSE マイクロサービスガバナンス名前空間。デフォルトは 'default'。 mseNamespace: default # 任意のアプリケーション名に置き換えます。 msePilotCreateAppName: "your-deployment-name" -
特定のアプリケーションのマイクロサービスガバナンスを無効にするには、アプリケーションの YAML 設定に
msePilotAutoEnableラベルを追加し、その値をoffに設定します。spec: template: metadata: labels: # 値 "off" は一重引用符または二重引用符で囲む必要があります。 msePilotAutoEnable: "off"
シナリオ2:単一アプリケーションのガバナンスの有効化
名前空間内の一部のアプリケーションのみを MSE ガバナンスセンターに接続する必要がある場合は、個別に接続できます。
MSE コンソールにログインし、上部のナビゲーションバーでリージョンを選択します。
左側のナビゲーションウィンドウで、Microservices Governance > Application Governance を選択します。
-
Application list ページで、ACK Application Accessをクリックします。
-
ACK Application Access ダイアログボックスで、パラメーターを設定し、OK をクリックします。
[アクセスタイプ] で [Single Application Access] を選択します。ダイアログボックスに表示される手順に従い、Container Service for Kubernetes (ACK) コンソールで対象アプリケーションの Deployment YAML ファイルを編集します。
spec.template.metadata.labelsに、マイクロサービスガバナンスを有効にするためのmsePilotAutoEnable: "on"、MSE 名前空間を指定するためのmseNamespace: default、およびアプリケーション名を設定するためのmsePilotCreateAppName: "your-deployment-name"ラベルを追加します。your-deployment-nameは実際の Deployment 名に置き換えてください。パラメーター
説明
[Cluster type]
ACK Cluster、ACK Serverless Cluster、または ACS Clusterを選択します。
説明Container Service for Kubernetes に MSE を呼び出す権限を付与していない場合は、今すぐ承認をクリックして、必要な権限を付与してください。
[Cluster Name/ID]
MSE ガバナンスセンターに接続するクラスターのCluster Name/ID を選択します。キーワードでクラスターを検索できます。
ack-onepilot
ack-onepilot コンポーネントのステータスが表示されます。このコンポーネントとそのアップグレード方法の詳細については、「ack-onepilot コンポーネント」および「MSE マイクロサービスガバナンスコンポーネントのインストールとアップグレード」をご参照ください。
-
ack-onepilot がインストールされていない場合、クラスターを選択するとインストールが自動的に開始され、The installation process takes about 1 minute. Wait for a while. というメッセージが表示されます。
RAM ユーザーを使用していて権限エラーが発生した場合は、Container Service for Kubernetes コンソールにログインします。ターゲットクラスターに移動し、左側のナビゲーションペインで アドオン管理 をクリックします。ack-onepilot を見つけ、Install をクリックします。
-
ack-onepilot がすでにインストールされている場合、UI にはインストールされているバージョンが表示されます (例:
Installed 4.2.0)。
説明-
ack-onepilot コンポーネントの詳細は、コンテナサービス for Kubernetes コンソールにログインし、ターゲットクラスターに移動して、操作 > アドオン管理 を選択することで表示できます。
-
ack-onepilot がインストールされると、Java エージェントが自動的にインジェクトされます。これにより、アプリケーションの起動時間が最大 10 秒増加する場合があります。
-
名前空間で接続する場合、対象クラスターがリストされているリージョンのいずれにもない場合は、パブリックネットワークアクセスがあり、acm.aliyun.com:8080 に接続できることを確認してください:中国 (青島)、中国 (杭州)、中国 (北京)、中国 (上海)、上海金融クラウド、中国 (深圳)、香港 (中国)、シンガポール、ドイツ (フランクフルト)、オーストラリア (シドニー)、米国 (シリコンバレー)、米国 (バージニア)。
[Access Type]
Single Application Access を選択します。
[Access Procedure]
次の手順に従ってください。
[ステップ 1:]Container Service for Kubernetes コンソールで、クラスターの [ワークロード] > [デプロイメント] ページに移動し、アプリケーションの名前空間に切り替えます。
[ステップ 2:]対象のアプリケーションを見つけて、[YAMLの編集] をクリックします。
[ステップ 3:]次の例に示すように
labelsフィールドを編集し、[更新] をクリックします。spec: template: metadata: labels: # 接続を有効にするには "on" に設定します。値は二重引用符で囲む必要があります。 msePilotAutoEnable: "on" # 対象ガバナンス名前空間を指定します。名前空間が存在しない場合は、自動的に作成されます。 mseNamespace: default # MSE に表示されるアプリケーション名を指定します。値は二重引用符で囲む必要があります。 msePilotCreateAppName: "your-deployment-name" -
結果の確認
これらの手順を完了してアプリケーションを再起動すると、Container Service for Kubernetes およびContainer Compute Service のアプリケーションで MSE マイクロサービスガバナンスが有効になります。
MSE コンソールにログインし、上部のナビゲーションバーでリージョンを選択します。
左側のナビゲーションウィンドウで、Microservices Governance > Application Governance を選択します。
-
対象のマイクロサービスガバナンス名前空間を選択し、接続されているアプリケーションを表示します。
次のステップ
アプリケーションを MSE ガバナンスセンターに接続した後、エンドツーエンドカナリアリリース、グレースフルな起動とシャットダウン、トラフィックスロットリングルールなどの機能を使用できます。詳細については、「15分で始めるサービスガバナンス (Java)」をご参照ください。