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

Container Service for Kubernetes:ACKサーバーレスクラスターのARMSの有効化

最終更新日:Jan 26, 2025

Application Real-Time Monitoring Service (ARMS) を使用して、リージョン間で統合的にデプロイされているContainer Service for Kubernetes (ACK) サーバーレスクラスターを管理できます。 このトピックでは、ACK Serverless BasicクラスターのARMSを有効にする方法について説明します。

目次

前提条件

ACKサーバーレスクラスターが作成されました

手順1: ARMSアプリケーションモニタリングエージェントのインストール

ARMSアプリケーションモニタリングエージェントをインストールする前に、ACKサーバーレスクラスターにARMSアドントークンがあるかどうかを確認してください。 クラスターにARMSアドントークンがある場合、ARMSはパスワードなし認証を実行します。 クラスターにARMSアドントークンがない場合は、AccessKey IDAccessKey secretを手動で指定して認証を完了する必要があります。

ARMSアドントークンがクラスターに存在するかどうかの確認

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

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

手順

  1. [Cloud Resource Access authorization] ページで承認を完了します。

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

  3. [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のナビゲーションウィンドウで、[操作] > [アドオン] を選択します。

  4. On theアドオンページをクリックし、ログとモニタリングタブをクリックし、インストールで、ack-onepilotカード。

  5. では、ack-onepilotをインストールするダイアログボックスでパラメーターを設定し、OK.

    ACKサーバーレスクラスターにARMSアドントークンがない場合は、AccessKey IDAccessKey secretを指定する必要があります。 その他のパラメーターはオンデマンドで設定できます。 デフォルト設定を使用することを推奨します。

    パラメーター

    説明

    accessKey

    Alibaba CloudアカウントのAccessKey ID。 アカウントにARMSへのアクセスを許可する必要があります。

    accessKeySecret

    Alibaba CloudアカウントのAccessKeyシークレット。

ステップ2: JavaアプリケーションのARMSを有効にする

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

  2. [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のウィンドウで、[ワークロード] > [デプロイ] を選択します。

  3. On theデプロイメントページ、選択 もっと > YAMLで表示 で、アクション管理するデプロイメントの列です。

  4. YAMLファイルで、次のラベルをspec.template.metadataに追加します。

    labels:
      armsPilotAutoEnable: "on"
      armsPilotCreateAppName: "<your-deployment-name>"    # Replace <your-deployment-name> with the actual application name. 
      armsSecAutoEnable: "on"    # If you want to connect the application to Application Security, you must configure this parameter.
    説明
    • 最適なユーザーエクスペリエンスを確保するために、ARMSエージェントをインストールした後、新しいエージェントバージョンのリリースに続いて、アプリケーションの再起動時にack-onepilotコンポーネントがエージェントを最新バージョンに自動的に更新します。 新しいリリースごとにエージェントを自動的に更新したくない場合は、手動でバージョンを制御できます。 詳細については、「エージェントのバージョンの制御」をご参照ください。

    • Application Securityの詳細については、アプリケーションセキュリティとは

    • アプリケーションセキュリティの課金ルールの詳細については、「課金」をご参照ください。

    YAML Example

    次のYAMLテンプレートは、展開を作成し、アプリケーションのアプリケーションモニタリングを有効にする方法を示しています。

    YAMLテンプレート

    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 in order 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 in order to receive traffic for this service
      selector:
        app: mysql
    ---

[デプロイメント] ページで、Javaアプリケーションの [アクション] 列の [ARMSコンソール] をクリックして、ARMSコンソールに移動し、サービスガバナンスを実行します。

次のステップ

  • クラスター内のすべてのアプリケーションのack-onepilotのアンインストール

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

    2. 左側のナビゲーションウィンドウで、[操作] > [アドオン] を選択します。 検索ボックスにack-onepilotと入力します。

    3. On theack-onepilotカード、クリックアンインストール.

    4. 表示されるメッセージで、[OK] をクリックします。

    5. ビジネスポッドを再起動します。

  • クラスター内のアプリケーションのack-onepilotのアンインストール

    1. ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。 [クラスター] ページでクラスターを見つけ、[操作] 列の [アプリケーション] をクリックします。

    2. On theデプロイメントページ、選択もっと > YAMLで表示で、アクション管理するアプリケーションの列。

    3. では、YAMLの編集ダイアログボックスで、ラベルあなたが追加したものステップ2をクリックし、更新.

    4. ポッドを再起動します。