ack-onepilot をインストールすると、Application Real-Time Monitoring Service (ARMS) は、Container Service for Kubernetes (ACK) または Container Compute Service (ACS) にデプロイされた Java アプリケーションを監視します。 アプリケーション トポロジー、インターフェイス呼び出し、異常および低速なトランザクション数などのモニタリングデータを表示できます。 このトピックでは、ACK または ACS にデプロイされた Java アプリケーションに ARMS エージェントをインストールする方法について説明します。
ack-onepilot の概要
アプリケーション監視コンポーネント ack-onepilot は、さまざまな言語の ARMS エージェントをインストールするエージェントインストールアシスタントです。 コンテナー環境でデータをレポートするために、ARMS エージェント パッケージを自動的に準備し、エージェントの環境をセットアップします。 ack-onepilot の動作原理については、「ack-onepilot コンポーネントの動作原理」をご参照ください。
最適なユーザー エクスペリエンスを確保するために、ARMS エージェントをインストールした後、新しいエージェント バージョンがリリースされると、アプリケーションの再起動時に ack-onepilot コンポーネントがエージェントを最新バージョンに自動的に更新します。 新しいリリースごとにエージェントを自動的に更新したくない場合は、エージェントのバージョンを手動で制御できます。
古いコンポーネント arms-pilot は、今後メンテナンスされません。 新しいコンポーネント ack-onepilot をインストールして、アプリケーションを監視できます。 ack-onepilot コンポーネントは arms-pilot と完全に互換性があります。 アプリケーション構成を変更することなく、ack-onepilot をシームレスにインストールできます。 詳細については、「arms-pilot をアンインストールして ack-onepilot をインストールするにはどうすればよいですか。」をご参照ください。
前提条件
ACK または ACS クラスターが作成されている。
ACK クラスター:ビジネス要件に基づいて、ACK マネージドクラスター、ACK 専用クラスター、Serverless Kubernetes クラスター、または 登録済みクラスターを作成できます。
ACS クラスター:ACS クラスターの作成方法については、「ACS クラスターを作成する」をご参照ください。
クラスターに名前空間が作成されている。 詳細については、「名前空間とリソース クォータを管理する」をご参照ください。 この例で使用される名前空間は arms-demo です。
JDK のバージョンがアプリケーション監視でサポートされている。 詳細については、「ARMS でサポートされている Java コンポーネントとフレームワーク」をご参照ください。
プロセスの最大ヒープ メモリが 256 MB を超えている。
手順
ACK にデプロイされたアプリケーションに ARMS エージェントをインストールする手順は、ACS にデプロイされたアプリケーションの手順と同じです。 以下では、ACK 環境を例として使用します。
ステップ 1: ack-onepilot をインストールする
ACK コンソール にログインします。 [クラスター] ページで、クラスターの名前をクリックします。
左側のナビゲーションウィンドウで、 をクリックします。 [アドオン] ページで、ack-onepilot を検索します。
[ack-onepilot] カードの [インストール] をクリックします。
説明デフォルトでは、ack-onepilot コンポーネントは 1,000 ポッドをサポートします。 クラスター内の追加の 1,000 ポッドごとに、コンポーネントに 0.5 CPU コアと 512 MB のメモリを追加する必要があります。
表示されたダイアログボックスで、パラメーターを構成し、[OK] をクリックします。 デフォルト値を使用することをお勧めします。
説明ack-onepilot をインストールした後、[アドオン] ページで、ack-onepilot をスペックアップ、構成、またはアンインストールできます。
ステップ 2: ARMS リソースへのアクセス権限を付与する
ACK マネージドクラスター
ACK マネージドクラスター に ARMS Addon Token が存在しない場合は、次の手順を実行して、クラスターに ARMS へのアクセスを承認します。 ARMS Addon Token が存在する場合は、ステップ 3 に進みます。
クラスターに ARMS Addon Token がある場合、ARMS はクラスターでパスワードなしの承認を実行します。 一部の ACK マネージドクラスターには、ARMS Addon Token が存在しない場合があります。 ARMS を使用してクラスター内のアプリケーションを監視する前に、ACK マネージドクラスターに ARMS Addon Token があるかどうかを確認することをお勧めします。 クラスターに ARMS Addon Token がない場合は、クラスターに ARMS へのアクセスを承認する必要があります。
ACK 専用クラスター/登録済みクラスター
ACK 専用クラスター または 登録済みクラスター にデプロイされたアプリケーションを監視するには、AliyunARMSFullAccess および AliyunSTSAssumeRoleAccess 権限が Resouce Access Management (RAM) ユーザーに付与されていることを確認してください。
ack-onepilot コンポーネントをインストールした後、ack-onepilot の構成ファイルにアカウントの AccessKey ID と AccessKey Secret を入力します。
方法 1: Hem に入力する
ACK コンソール にログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターをクリックします。 表示されたページの左側のナビゲーションウィンドウで、 を選択します。 次に、ack-onepilot の横にある [更新] をクリックします。
accessKeyとaccessKeySecretをアカウントの AccessKey ID と AccessKey Secret に置き換え、[OK] をクリックします。説明AccessKey Secret は、Alibaba Cloud AccessKey ペアの最初の作成時にのみ表示され、その後は取得できません。 この設計により、リークのリスクが軽減されます。 シークレットはすぐに安全に保管してください。

デプロイメントを再起動します。
方法 2: Kubernetes シークレット経由でインポートする
ACK コンソール にログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターをクリックします。 表示されたページの左側のナビゲーションウィンドウで、 を選択します。
[作成] をクリックします。 表示されたパネルで、[追加] をクリックし、ack-onepilot の AccessKey ID と AccessKey Secret を追加します。
説明AccessKey Secret は、Alibaba Cloud AccessKey ペアの最初の作成時にのみ表示され、その後は取得できません。 この設計により、リークのリスクが軽減されます。 シークレットはすぐに安全に保管してください。

左側のナビゲーションウィンドウで、 を選択します。 表示されたページで、ack-onepilot コンポーネントをクリックします。 通常、ack-onepilot 名前空間では ack-onepilot-ack-onepilot という名前になっています。
表示されたページの右上隅にある [編集] をクリックします。
[環境] セクションが表示されるまで下にスクロールします。 [追加] をクリックし、環境変数
ONE_PILOT_ACCESSKEYとONE_PILOT_ACCESSKEY_SECRETを追加し、Kubernetes シークレットのシークレットを参照して、[OK] をクリックします。
ASK/ECI クラスター
ACK Serverless (ASK) クラスター内のアプリケーション、または Elastic Container Instance に接続されている Kubernetes クラスター内のアプリケーションを監視するには、まず クラウド リソース アクセス承認 ページで、クラスターに ARMS へのアクセスを承認する必要があります。 その後、ack-onepilot コンポーネントがデプロイされているすべてのポッドを再起動します。
ステップ 3: アプリケーションのアプリケーション監視を有効にする
次の YAML テンプレートは、デプロイメントを作成し、アプリケーションのアプリケーション監視を有効にする方法を示しています。
ACK コンソール にログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターを見つけ、その名前をクリックします。 左側のウィンドウで、 を選択します。
[デプロイメント] ページで、[アクション] 列の を選択します。
YAML ファイルで、
spec.template.metadataに次のラベルを追加します。labels: armsPilotAutoEnable: "on" armsPilotCreateAppName: "<デプロイメント名>" # <デプロイメント名> を実際のアプリケーション名に置き換えます。 armsSecAutoEnable: "on" # アプリケーションを Application Security に接続する場合は、このパラメータを構成する必要があります。説明Application Security については、「Application Security とは何ですか。」をご参照ください。
Application Security の請求ルールについては、「請求」をご参照ください。

[更新] をクリックします。
デプロイメント[デプロイメント] ページで、 列の アクション を選択して、アプリケーション監視の詳細を表示します。

