ARMS アプリケーションモニタリングコンポーネントの ack-onepilot をインストールすることで、Container Service for Kubernetes ACK または Container Compute Service ACS にデプロイされた Java アプリケーションを監視できます。インストール後、アプリケーションのトポロジー、API 呼び出し、異常および低速トランザクション、その他のモニタリングデータを表示できます。このトピックでは、Container Service for Kubernetes ACK および Container Compute Service ACS の Java アプリケーションにエージェントをインストールする方法について説明します。
Container Service for Kubernetes ACK および Container Compute Service ACS におけるエージェントのインストール手順は同一です。本 Topic では、Container Service for Kubernetes ACK を例に説明します。
ack-onepilot コンポーネントの概要
ARMS Agent Onboarding Assistant (ack-onepilot) は、ARMS ユーザーがコンテナー化された環境で ARMS エージェントパッケージを自動的に準備し、レポート環境を設定するのに役立つ主要なコンポーネントです。ack-onepilot の仕組みの詳細については、「ack-onepilot の仕組み」をご参照ください。
インストール後、新しいエージェントバージョンがリリースされてアプリケーションが再起動すると、ack-onepilot はエージェントを最新バージョンに自動的にアップグレードします。自動更新を希望しない場合は、エージェントのバージョンを手動でコントロールできます。詳細については、「エージェントのバージョンを手動でコントロール」をご参照ください。
従来のアプリケーション監視コンポーネントである arms-pilot はメンテナンスが終了しています。アプリケーションを監視するには、アップグレードされた ack-onepilot コンポーネントをインストールする必要があります。ack-onepilot は arms-pilot と完全に互換性があるため、アプリケーションの構成を変更することなくシームレスに移行できます。詳細については、「arms-pilot をアンインストールして ack-onepilot をインストールする」をご参照ください。
前提条件
ACK クラスターまたは ACS クラスターが作成されていること。
ACK クラスター: ACK マネージドクラスターの作成、ACK One 登録済みクラスターの作成、ACK 専用クラスターの作成 (新規作成は不可)、ACK サーバーレスクラスターの作成。
ACS クラスター: ACS クラスターの作成。
名前空間が作成されていること。詳細については、「名前空間とクォータの管理」をご参照ください。この例で使用される名前空間は arms-demo です。
JDK バージョンを確認してください。要件の詳細については、「サポートされている JDK バージョン」をご参照ください。
プロセスの最大ヒープメモリが 256 MB を超えている必要があります。
ステップ 1: ARMS Agent Onboarding Assistant (ack-onepilot) のインストール
-
ACK コンソールにログインします。 [クラスター] ページで、対象クラスターの名前をクリックします。
-
左側のナビゲーションウィンドウで、 をクリックします。[アドオン] ページで ack-onepilot を検索します。
-
ack-onepilot カードの [インストール] をクリックします。
説明デフォルトでは、ack-onepilot コンポーネントは 1,000 個の Pod をサポートします。クラスター内で Pod が 1,000 個追加されるごとに、コンポーネントに 0.5 CPU コアと 512 MB のメモリを追加する必要があります。
-
表示されるダイアログボックスでパラメーターを設定し、[OK] をクリックします。デフォルト値を使用することを推奨します。
説明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 One 登録済みクラスター内のアプリケーションを監視するには、ご利用の Alibaba Cloud アカウントに AliyunARMSFullAccess および AliyunSTSAssumeRoleAccess 権限があることを確認する必要があります。権限の追加方法の詳細については、「RAM ユーザーの権限管理」をご参照ください。
ack-onepilot コンポーネントをインストールした後、ARMS 権限を持つ Alibaba Cloud アカウントの AccessKey ID と AccessKey Secret を ack-onepilot コンポーネントに提供する必要もあります。
方法 1: Helm で AccessKey ID と AccessKey Secret を直接指定
ACK コンソールにログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、ご利用のクラスターの名前をクリックします。左側のナビゲーションウィンドウで、 を選択します。ack-onepilot コンポーネントの横にある [更新] をクリックします。
accessKeyとaccessKeySecretの値を、ご利用のアカウントの AccessKey ID と AccessKey Secret に置き換えます。その後、[OK] をクリックします。説明AccessKey ペアの取得方法の詳細については、「AccessKey ペアの作成」をご参照ください。

アプリケーションのデプロイメントを再起動します。
方法 2: Kubernetes シークレットを使用して AccessKey ID と AccessKey Secret を提供
Container Service for Kubernetes コンソールにログインします。左側のナビゲーションウィンドウで、[クラスター] を選択します。
[クラスター] ページで、ご利用のクラスターの名前をクリックします。左側のナビゲーションウィンドウで、 を選択します。
ack-onepilot の名前空間を選択し、AccessKey ID と AccessKey Secret を保存するためのシークレットを作成します。
説明AccessKey ペアの取得方法の詳細については、「AccessKey ペアの作成」をご参照ください。

左側のナビゲーションウィンドウで、 を選択します。ack-onepilot コンポーネントをクリックします。このコンポーネントは通常 ack-onepilot-ack-onepilot という名前で、ack-onepilot 名前空間にあります。
ack-onepilot-ack-onepilot ページの右上隅にある [編集] をクリックします。[環境変数] セクションで、
ONE_PILOT_ACCESSKEYとONE_PILOT_ACCESSKEY_SECRETを追加し、シークレットに保存されている値を参照します。その後、[OK] をクリックします。
ASK/ECI クラスター
ACK サーバーレスクラスターまたは ECI と統合されたクラスター内のアプリケーションを監視するには、[リソースアクセス権限の承認] ページで権限付与を完了する必要があります。その後、ack-onepilot コンポーネントのすべての Pod を再起動します。
ステップ 3: Java アプリケーションに対する ARMS アプリケーション監視の有効化
次の YAML テンプレートは、ステートレスアプリケーション (Deployment) を作成し、ARMS アプリケーション監視を有効にする方法を示しています。
ACK コンソールにログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[ステートレス] ページで、対象アプリケーションの右側にある を選択します。
新しいアプリケーションを作成するには、[YAML から作成] をクリックします。
YAML ファイルで、`spec.template.metadata` セクションに次の
ラベルを追加します。labels: armsPilotAutoEnable: "on" armsPilotCreateAppName: "<your-deployment-name>" # <your-deployment-name> をアプリケーション名に置き換えます。 aliyun.com/app-language: java説明アプリケーションセキュリティの詳細については、「アプリケーションセキュリティとは」をご参照ください。
アプリケーションセキュリティの課金の詳細については、「課金の概要」をご参照ください。

[更新] をクリックします。
[ステートレス] ページで、対象のアプリケーションの [アクション] 列で をクリックして、アプリケーション監視の詳細を表示します。

> [YAML 編集]