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

Application Real-Time Monitoring Service:ack-onepilot コンポーネントを使用した Container Service for Kubernetes (ACK) および Container Compute Service (ACS) への Java エージェントのインストール

最終更新日:Feb 03, 2026

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 をインストールする」をご参照ください。

前提条件

ステップ 1: ARMS Agent Onboarding Assistant (ack-onepilot) のインストール

  1. ACK コンソールにログインします。 [クラスター] ページで、対象クラスターの名前をクリックします。

  2. 左側のナビゲーションウィンドウで、[アドオン] をクリックします。[アドオン] ページで ack-onepilot を検索します。

  3. ack-onepilot カードの [インストール] をクリックします。

    説明

    デフォルトでは、ack-onepilot コンポーネントは 1,000 個の Pod をサポートします。クラスター内で Pod が 1,000 個追加されるごとに、コンポーネントに 0.5 CPU コアと 512 MB のメモリを追加する必要があります。

  4. 表示されるダイアログボックスでパラメーターを設定し、[OK] をクリックします。デフォルト値を使用することを推奨します。

    説明

    ack-onepilot のインストール後、[アドオン] ページでアップグレード、設定、またはアンインストールができます。

ステップ 2: ARMS リソースへのアクセス権限の付与

ACK マネージドクラスター

ご利用の ACK マネージドクラスターに ARMS Addon Token がない場合は、ARMS リソースへのアクセス権限を手動で付与する必要があります。ARMS Addon Token が既に存在する場合は、ステップ 3 に進んでください。

クラスターに ARMS Addon Token が存在するかどうかの確認

  1. ACK コンソールにログインします。左側のナビゲーションウィンドウで [クラスター] をクリックします。[クラスター] ページで、クラスターの名前をクリックしてクラスター詳細ページに移動します。

  2. 左側のナビゲーションウィンドウで、[設定] > [シークレット] を選択します。ページの上部で、[名前空間] ドロップダウンリストから [kube-system] を選択し、[シークレット] ページに addon.arms.token が表示されるかどうかを確認します。

説明

クラスターに ARMS Addon Token がある場合、ARMS はそのクラスターに対してパスワードなしの権限付与を実行します。一部の ACK マネージドクラスターには ARMS Addon Token が存在しない場合があります。ARMS を使用してクラスター内のアプリケーションを監視する前に、ACK マネージドクラスターに ARMS Addon Token があるかどうかを確認することを推奨します。クラスターに ARMS Addon Token がない場合は、クラスターが ARMS にアクセスするための権限を付与する必要があります。

権限ポリシーの手動追加

  1. ACK コンソールにログインします。左側のナビゲーションウィンドウで [クラスター] をクリックします。[クラスター] ページで、クラスターの名前をクリックします。

  2. [クラスター情報] ページの [基本情報] タブにある [クラスターリソース] セクションで、[ワーカー RAM ロール] の横にあるリンクをクリックします。

  3. 表示されたページの [権限] タブで、[権限の付与] をクリックします。

  4. [権限の付与] パネルで、次のポリシーを追加し、[権限の付与] をクリックします。

    • AliyunTracingAnalysisFullAccess: Managed Service for OpenTelemetry へのフルアクセス権限。

    • AliyunARMSFullAccess: 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 を直接指定

  1. ACK コンソールにログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. [クラスター] ページで、ご利用のクラスターの名前をクリックします。左側のナビゲーションウィンドウで、[アプリケーション] > [Helm] を選択します。ack-onepilot コンポーネントの横にある [更新] をクリックします。

  3. accessKeyaccessKeySecret の値を、ご利用のアカウントの AccessKey ID と AccessKey Secret に置き換えます。その後、[OK] をクリックします。

    説明

    AccessKey ペアの取得方法の詳細については、「AccessKey ペアの作成」をご参照ください。

    image

  4. アプリケーションのデプロイメントを再起動します。

方法 2: Kubernetes シークレットを使用して AccessKey ID と AccessKey Secret を提供

  1. Container Service for Kubernetes コンソールにログインします。左側のナビゲーションウィンドウで、[クラスター] を選択します。

  2. [クラスター] ページで、ご利用のクラスターの名前をクリックします。左側のナビゲーションウィンドウで、[設定] > [シークレット] を選択します。

  3. ack-onepilot の名前空間を選択し、AccessKey ID と AccessKey Secret を保存するためのシークレットを作成します。

    説明

    AccessKey ペアの取得方法の詳細については、「AccessKey ペアの作成」をご参照ください。

    image

  4. 左側のナビゲーションウィンドウで、[ワークロード] > [Deployment] を選択します。ack-onepilot コンポーネントをクリックします。このコンポーネントは通常 ack-onepilot-ack-onepilot という名前で、ack-onepilot 名前空間にあります。

  5. ack-onepilot-ack-onepilot ページの右上隅にある [編集] をクリックします。[環境変数] セクションで、ONE_PILOT_ACCESSKEYONE_PILOT_ACCESSKEY_SECRET を追加し、シークレットに保存されている値を参照します。その後、[OK] をクリックします。

    image

ASK/ECI クラスター

ACK サーバーレスクラスターまたは ECI と統合されたクラスター内のアプリケーションを監視するには、[リソースアクセス権限の承認] ページで権限付与を完了する必要があります。その後、ack-onepilot コンポーネントのすべての Pod を再起動します。

ステップ 3: Java アプリケーションに対する ARMS アプリケーション監視の有効化

次の YAML テンプレートは、ステートレスアプリケーション (Deployment) を作成し、ARMS アプリケーション監視を有効にする方法を示しています。

YAML の完全な例 (Java) を展開して表示

apiVersion: v1
kind: Namespace
metadata:
  name: arms-demo
---
apiVersion: apps/v1 # for versions before 1.8.0 use apps/v1beta1
kind: Deployment
metadata:
  name: arms-springboot-demo
  namespace: arms-demo
  labels:
    app: arms-springboot-demo
spec:
  replicas: 2
  selector:
    matchLabels:
      app: arms-springboot-demo
  template:
    metadata:
      labels:
        app: arms-springboot-demo
        armsPilotAutoEnable: "on"
        armsPilotCreateAppName: "arms-k8s-demo"
    spec:
      containers:
        - resources:
            limits:
              cpu: 0.5
          image: registry.cn-hangzhou.aliyuncs.com/arms-docker-repo/arms-springboot-demo:v0.1
          imagePullPolicy: Always
          name: arms-springboot-demo
          env:
            - name: SELF_INVOKE_SWITCH
              value: "true"
            - name: COMPONENT_HOST
              value: "arms-demo-component"
            - name: COMPONENT_PORT
              value: "6666"
            - name: MYSQL_SERVICE_HOST
              value: "arms-demo-mysql"
            - name: MYSQL_SERVICE_PORT
              value: "3306"
---
apiVersion: apps/v1 
kind: Deployment
metadata:
  name: arms-springboot-demo-subcomponent
  namespace: arms-demo
  labels:
    app: arms-springboot-demo-subcomponent
spec:
  replicas: 2
  selector:
    matchLabels:
      app: arms-springboot-demo-subcomponent
  template:
    metadata:
      labels:
        app: arms-springboot-demo-subcomponent
        armsPilotAutoEnable: "on"
        armsPilotCreateAppName: "arms-k8s-demo-subcomponent"
    spec:
      containers:
        - resources:
            limits:
              cpu: 0.5
          image: registry.cn-hangzhou.aliyuncs.com/arms-docker-repo/arms-springboot-demo:v0.1
          imagePullPolicy: Always
          name: arms-springboot-demo-subcomponent
          env:
            - name: SELF_INVOKE_SWITCH
              value: "false"
            - name: MYSQL_SERVICE_HOST
              value: "arms-demo-mysql"
            - name: MYSQL_SERVICE_PORT
              value: "3306"
---
apiVersion: v1
kind: Service
metadata:
  labels:
    name: arms-demo-component
  name: arms-demo-component
  namespace: arms-demo
spec:
  ports:
    # the port that this service should serve on
    - name: arms-demo-component-svc
      port: 6666
      targetPort: 8888
  # label keys and values that must match to receive traffic for this service
  selector:
    app: arms-springboot-demo-subcomponent
---
apiVersion: apps/v1 # for versions before 1.8.0 use apps/v1beta1
kind: Deployment
metadata:
  name: arms-demo-mysql
  namespace: arms-demo
  labels:
    app: mysql
spec:
  replicas: 1
  selector:
    matchLabels:
      app: mysql
  template:
    metadata:
      labels:
        app: mysql
    spec:
      containers:
        - resources:
            limits:
              cpu: 0.5
          image: registry.cn-hangzhou.aliyuncs.com/arms-docker-repo/arms-demo-mysql:v0.1
          name: mysql
          ports:
            - containerPort: 3306
              name: mysql
---
apiVersion: v1
kind: Service
metadata:
  labels:
    name: mysql
  name: arms-demo-mysql
  namespace: arms-demo
spec:
  ports:
    # the port that this service should serve on
    - name: arms-mysql-svc
      port: 3306
      targetPort: 3306
  # label keys and values that must match to receive traffic for this service
  selector:
    app: mysql
---
  1. ACK コンソールにログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. [ステートレス] ページで、対象アプリケーションの右側にある image > [YAML 編集] を選択します。

    新しいアプリケーションを作成するには、[YAML から作成] をクリックします。

  3. YAML ファイルで、`spec.template.metadata` セクションに次の ラベル を追加します。

    labels:
      armsPilotAutoEnable: "on"
      armsPilotCreateAppName: "<your-deployment-name>"    # <your-deployment-name> をアプリケーション名に置き換えます。
      aliyun.com/app-language: java
    説明

    YAML Example

  4. [更新] をクリックします。

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

    image.png

よくある質問