日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

容器服務ACK環境自動安裝探針

您只需安裝ARMS應用監控組件ack-onepilot,即可監控部署在容器服務Kubernetes版中的Java應用,并查看應用拓撲、接口調用、異常事務和慢事務等相關監控數據。本文介紹如何為容器服務KubernetesJava應用安裝探針。

前提條件

步驟一:安裝ARMS探針接入助手(ack-onepilot)

重要
  • ARMS探針接入助手(ack-onepilot)是用于接入各語言探針的重要組件,可以幫助ARMS用戶在容器環境中自動準備好ARMS探針包并構建好探針的上報環境。ARMS探針接入助手(ack-onepilot)的基本原理請參見ack-onepilot組件基本原理說明

  • ACK舊版應用監控組件arms-pilot已不再維護,您可以安裝升級后的ack-onepilot組件用于監控您的應用,ack-onepilot完全兼容arms-pilot,您無需修改應用配置即可無縫接入ack-onepilot。更多信息,請參見如何安裝ack-onepilot和卸載arms-pilot

  1. 登錄容器服務管理控制臺

  2. 在左側導航欄單擊集群,然后在集群列表頁面單擊目標集群名稱。

  3. 在左側導航欄選擇運維管理 > 組件管理,然后在右上角通過關鍵字搜索ack-onepilot

  4. ack-onepilot卡片上單擊安裝

    說明

    ack-onepilot組件默認支持1000pod規模,集群pod每超過1000個,ack-onepilot資源對應的CPU請增加0.5核、內存請增加512 MB。

  5. 在彈出的頁面中可以配置相關的參數,建議使用默認值,單擊確定

    說明

    安裝完成后,您可以在組件管理頁面升級、配置或卸載ack-onepilot組件。

步驟二:授予ARMS資源的訪問權限

  • 如果需監控ASK(容器服務Serverless版)或對接了ECI的集群應用,請在云資源訪問授權頁面完成授權,然后重啟ack-onepilot組件下的所有Pod。

  • 如果需監控ACK集群應用,但ACK集群中不存在ARMS Addon Token,請執行以下操作手動為集群授予ARMS資源的訪問權限。如果已經存在ARMS Addon Token,請跳轉至步驟三

    查看集群是否存在ARMS Addon Token。

    1. 登錄容器服務管理控制臺,在集群列表頁面,單擊目標集群名稱進入集群詳情頁。

    2. 在左側導航欄選擇配置管理 > 保密字典,然后在頂部選擇命名空間kube-system,查看addon.arms.token是否存在。

    說明

    集群存在ARMS Addon Token時,ARMS會進行免密授權。Kubernetes托管版集群默認存在ARMS Addon Token,但對于部分早期創建的Kubernetes托管版集群,可能會存在沒有ARMS Addon Token的情況,因此,對于Kubernetes托管版集群,建議首先檢查ARMS Addon Token是否存在。若不存在,需進行手動授權。

    手動添加權限策略。

    1. 登錄容器服務管理控制臺,在集群列表頁面單擊目標集群名稱。

    2. 集群信息 > 基本信息頁簽的集群資源區域,單擊Worker RAM角色右側的鏈接。

    3. 權限管理頁簽單擊新增授權

    4. 新增授權面板添加以下兩個權限策略,然后單擊確認新增授權

      • AliyunTracingAnalysisFullAccess:可觀測鏈路 OpenTelemetry 版的完整權限。

      • AliyunARMSFullAccess:ARMS的完整權限。

  • 如果需要監控專有版集群和注冊集群應用,請確認對應的阿里云賬號已包含AliyunARMSFullAccessAliyunSTSAssumeRoleAccess權限。添加權限的操作,請參見RAM用戶授權

    安裝ack-onepilot組件后,還需要在ack-onepilot中填寫有ARMS權限的阿里云賬號AK/SK。

    1. 在左側導航欄選擇應用 > Helm頁面,單擊ack-onepilot組件右側的更新

    2. accessKeyaccessKeySecret替換為當前賬號的AccessKey,然后單擊確定

      說明

      獲取AccessKey的操作,請參見創建AccessKey

      image

    3. 重啟應用Deployment。

步驟三:為Java應用開啟ARMS應用監控

如需在創建新應用的同時開啟ARMS應用監控,請完成以下操作。

  1. 容器服務管理控制臺左側導航欄單擊集群,在集群列表頁面上的目標集群右側操作列單擊應用管理

  2. 無狀態頁面單擊使用YAML創建資源

  3. 選擇示例模板,并在模板(YAML格式)中將以下labels添加到spec.template.metadata層級下。

    labels:
      armsPilotAutoEnable: "on"
      armsPilotCreateAppName: "<your-deployment-name>"    #請將<your-deployment-name>替換為您的應用名稱。
      armsSecAutoEnable: "on"    #如果需要接入應用安全,則需要配置此參數。
    說明
    • 探針接入后,為了確保您的使用體驗,在新版本探針發布后,當應用重啟時,ack-onepilot將會自動將探針升級到最新版本,如果您不需要跟隨ARMS探針的版本發布自動更新掛載的探針,可以自主控制探針版本。具體操作,請參見自主控制探針版本

    • 應用安全詳情,請參見什么是應用安全

    • 應用安全計費信息,請參見計費說明

    YAML Example

    創建一個無狀態(Deployment)應用并開啟ARMS應用監控的完整YAML示例模板如下:

    展開查看完整示例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 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
    ---

執行結果

無狀態頁面上,目標應用的操作列將出現ARMS控制臺按鈕。

ARMS Console Button

常見問題