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

Container Service for Kubernetes:クラスタートポロジーのモニタリング

最終更新日:Jun 26, 2025

Alibaba Cloud Application Monitoring eBPF Edition は、Kubernetes クラスター向けの Extended Berkeley Packet Filter(eBPF)テクノロジーに基づいて開発された可観測性サービスのコレクションです。Application Monitoring eBPF Edition コンポーネントをクラスターにインストールすると、メトリクス、トレース、ログ、およびイベントに基づいて Kubernetes クラスターをモニタリングできます。

前提条件

背景情報

Kubernetes では、負荷の状態とトラフィックのスループットのモニタリングが重要です。Application Monitoring eBPF Edition は、コード侵入なしでコンテナから Rate、Errors、and Duration(RED)パフォーマンスデータを収集し、ポッドとそのパフォーマンスの問題を効率的に特定します。関連するサービスとコントローラーワークロード(デプロイメント、StatefulSet、DaemonSet など)を自動的に関連付け、トラブルシューティングの効率を向上させます。詳細については、「Application Monitoring eBPF Edition とは」をご参照ください。

ACK クラスターへの接続

Application Monitoring eBPF Edition に ACK クラスターを接続するには、クラスターに次のモニタリングエージェントをインストールします。

  • Prometheus モニタリングエージェント: ack-arms-prometheus

    説明

    Application Monitoring eBPF Edition で使用されるメトリクスは、Managed Service for Prometheus によって収集されます。そのため、Managed Service for Prometheus エージェントをインストールする必要があります。

  • Application Monitoring eBPF Edition コンポーネント: ack-arms-cmonitor

    クラスターに ack-arms-cmonitor をインストールする前に、クラスターに ARMS Addon Token が存在するかどうかを確認する必要があります。ARMS Addon Token が存在する場合、ARMS はパスワードなしの認証を実行します。エージェントがインストールされると、Application Monitoring eBPF Edition を使用できます。ARMS Addon Token が存在しない場合、権限が不十分なためにエラーが発生します。ARMS と Tracing Analysis に対するフルパーミッションを提供するポリシーを、ワーカー Resource Access Management(RAM)ロールにアタッチする必要があります。

    次のセクションでは、ARMS Addon Token が存在するかどうかを確認する方法と、ポリシーをワーカー RAM ロールにアタッチする方法について説明します。

    クラスターに ARMS Addon Token があるかどうかを確認する

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

    2. [クラスター] ページで、管理するクラスターの名前をクリックし、左側のナビゲーションウィンドウで [構成] > [シークレット] を選択します。

    3. [シークレット] ページの上部にある [名前空間] ドロップダウンリストから [kube-system] を選択し、[addon.arms.token] が存在するかどうかを確認します。

    ARMS と Tracing Analysis に対するフルパーミッションを提供するポリシーをワーカー RAM ロールにアタッチする

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

    2. [クラスター] ページで、目的のクラスターを見つけて名前をクリックします。左側のウィンドウで、[クラスター情報] をクリックします。

    3. クラスター詳細ページで [基本情報] をクリックします。[クラスターリソース] セクションで、[ワーカー RAM ロール] の右側にあるハイパーリンクをクリックします。

    4. RAM コンソールで、ロールに [AliyunTracingAnalysisFullAccess][AliyunARMSFullAccess] 権限を付与します。

      1. [権限] タブで、[権限の付与] をクリックします。

      2. [権限の付与] パネルの [ポリシー] セクションで、次のポリシーを選択し、[権限の付与] をクリックします。

        • AliyunTracingAnalysisFullAccess: Tracing Analysis に対するフルパーミッションを提供します。

        • AliyunARMSFullAccess: ARMS に対するフルパーミッションを提供します。

    説明
    • マネージドクラスター: 特定の マネージドクラスター に ARMS Addon Token が存在しない場合があります。マネージドクラスター を使用する場合は、最初に ARMS Addon Token が存在するかどうかを確認することをお勧めします。ARMS Addon Token が存在しない場合は、手動で認証を完了する必要があります。

    • 専用クラスター: デフォルトでは、専用クラスターには ARMS Addon Token がありません。手動で認証を完了する必要があります。

Application Monitoring eBPF Edition へのアプリケーションの統合

手動で統合する

既存のアプリケーションにコンポーネントをインストールする

アプリケーションに ack-arms-cmonitor エージェントがインストールされている場合は、バージョンが 4.0.0 以降であることを確認します。ACK コンソール にログインし、クラスター詳細ページの左側のナビゲーションウィンドウで [操作] > [アドオン] を選択します。バージョンが 4.0.0 より前の場合は、[アップグレード] をクリックしてエージェントを最新バージョンにアップグレードします。 ack-arms-cmonitor エージェントをインストールするには、次の手順を実行します。

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

  2. 左側のナビゲーションウィンドウで、[操作] > [クラスタートポロジー] を選択します。

  3. [クラスタートポロジー] ページで、[インストール] をクリックします。ACK コンソールは自動的にエージェントをインストールします。

    説明

    デフォルトの名前空間は arms-prom です。

  4. 専用 ACK クラスターを使用している場合は、AccessKey ペアを更新します。

    1. 左側のナビゲーションウィンドウで、[アプリケーション] > [Helm] を選択します。

    2. arms-cmonitor を見つけて [更新] をクリックします。accessKey パラメーターと accessKeySecret パラメーターを、Alibaba Cloud アカウントの AccessKey ID とシークレットに設定します。詳細については、「プライマリセンターの AccessKey ペアを取得する」をご参照ください。

      重要

      AliyunARMSFullAccess ポリシーと AliyunSTSAssumeRoleAccess ポリシーが Alibaba Cloud アカウントにアタッチされていることを確認する必要があります。

    3. [OK] をクリックします。

新しいアプリケーションを作成するときにコンポーネントをインストールする

  1. ACK コンソール にログインします。[クラスター] ページで、クラスターを見つけて [アクション] 列の [アプリケーション] をクリックします。

  2. [デプロイメント] ページで、[YAML から作成] をクリックします。

  3. [サンプルテンプレート] ドロップダウンリストからテンプレートを選択し、次の labels を YAML テンプレートの spec.template.metadata ディレクトリに追加します。

    labels:
      armseBPFAutoEnable: "on"
      armseBPFCreateAppName: "<your-deployment-name>"    //<your-deployment-name> をアプリケーション名に置き換えます。

    次の YAML テンプレートは、デプロイメントを作成し、Application Monitoring eBPF Edition を有効にする方法を示しています。

    YAML テンプレートを表示

    apiVersion: v1
    kind: Namespace
    metadata:
      name: arms-demo
    ---
    apiVersion: apps/v1 # 1.8.0 より前のバージョンでは 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
            armseBPFAutoEnable: "on"
            armseBPFCreateAppName: "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 # 1.8.0 より前のバージョンでは apps/v1beta1 を使用します
    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
            armseBPFAutoEnable: "on"
            armseBPFCreateAppName: "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:
        # このサービスが提供するポート
        - name: arms-demo-component-svc
          port: 6666
          targetPort: 8888
      # このサービスのトラフィックを受信するために一致する必要があるラベルキーと値
      selector:
        app: arms-springboot-demo-subcomponent
    ---
    apiVersion: apps/v1 # 1.8.0 より前のバージョンでは 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:
        # このサービスが提供するポート
        - name: arms-mysql-svc
          port: 3306
          targetPort: 3306
      # このサービスのトラフィックを受信するために一致する必要があるラベルキーと値
      selector:
        app: mysql
    --

自動的に統合する

  1. ARMS コンソール にログインします。

  2. 左側のナビゲーションウィンドウで、[統合センター] をクリックします。[サーバーアプリケーション] セクションで、[eBPF アプリケーションモニター] カードをクリックします。

  3. 表示されるパネルで、指示に従ってパラメーターを設定し、Application Monitoring eBPF Edition を統合します。

  4. 左側のナビゲーションウィンドウで、[統合管理] をクリックします。ARMS に統合されているすべてのアプリケーションとサービスを表示できます。

    [統合管理] ページの [統合環境] タブで、ACK クラスターの名前をクリックして、クラスターの基本情報、有効なコンポーネント、およびメトリクスを表示します。また、メトリクスを探索し、ARMS エージェントを構成することもできます。