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

通用Kubernetes環境自動安裝探針

借助ARMS應用監控,您可以對通用Kubernetes環境的應用進行應用拓撲、接口調用、異常事務和慢事務監控、SQL分析等監控。本文將幫助您將通用Kubernetes環境中的Java應用接入ARMS應用監控。

說明

如果您使用的Kubernetes集群由容器服務ACK提供,本文不適用,ACK集群接入ARMS的操作請參見容器服務ACK環境自動安裝探針

前提條件

  • 請確保您的Kubernetes集群版本為1.18或以上。

  • 如果您的Kubernetes集群沒有部署在阿里云,請確保集群能夠連通公網,或者通過云企業網等方式打通阿里云VPC和集群之間的連接。

  • 檢查您的JDK版本。具體要求,請參見支持的JDK版本

  • 進程最大堆內存需大于256 MB。

(推薦)方式一:通過ACK注冊集群接入ARMS

使用ACK注冊集群的優勢:

  • 更高效的運維支持。

  • 獲得更多容器服務ACK集群擴展能力,包括:監控、日志、備份恢復、安全、云上彈性資源等。更多信息,請參見注冊集群概述。

  1. Kubernetes集群接入ACK One。具體操作,請參見創建注冊集群

  2. 為注冊集群安裝ack-onepilot組件。具體操作,請參見將應用實時監控服務ARMS接入注冊集群。

方式二:直接接入ARMS

重要

該方式未使用ACK注冊集群,接入后,容器相關的信息(CPU、內存、Disk、網絡)無法關聯展示。即在應用實例頁面僅展示ARMS自采集版的容器環境數據,且后續無法通過接入可觀測監控 Prometheus 版查看Prometheus探針獲取的容器數據,更多信息,請參見Java應用實例監控。

步驟1:安裝Helm3

步驟2:安裝探針

ARMS應用監控目前僅支持無狀態(Deployment)和有狀態(StatefulSet)兩種類型的應用接入,兩種類型的應用接入方法相同。此處以將Kubernetes環境中的無狀態(Deployment)類型的應用接入ARMS應用監控為例。

  1. 執行以下wget命令下載ack-onepilot安裝包。

     wget 'https://aliacs-app-catalog.oss-cn-hangzhou.aliyuncs.com/charts-incubator/ack-onepilot-3.3.3.tgz'
  2. 執行以下命令解壓ack-onepilot安裝包。

    tar xvf ack-onepilot-3.3.3.tgz                 
  3. 編輯安裝包下的values.yaml文件,根據實際情況修改以下參數,然后保存。

    registry: registry-__ACK_REGION_ID__.ack.aliyuncs.com/acs/
    cluster_id: __ACK_CLUSTER_ID__
    accessKey: __ACCESSKEY__
    accessKeySecret: __ACCESSKEY_SECRET__
    uid: "__ACK_UID__"
    region_id: __ACK_REGION_ID__
    • registry:ack-onepilot鏡像地址。

    • cluster_id:自定義Kubernetes集群ID,集群的唯一標識。建議格式為<uid>-<clusterid>

    • accessKeyaccessKeySecret:阿里云賬號的AccessKey IDAccessKey Secret。獲取方法,請參見創建AccessKey

      重要
      • 請確認對應的阿里云賬號已包含AliyunARMSFullAccessAliyunSTSAssumeRoleAccess權限。

      • 如果當前操作的是RAM用戶,請確認RAM用戶也包含AliyunARMSFullAccessAliyunSTSAssumeRoleAccess權限,具體操作,請參見RAM用戶授權。

    • uid:阿里云賬號ID。將鼠標懸浮于阿里云控制臺右上角的頭像上可以獲取。

    • region_id:阿里云地域ID,應用監控支持的地域,請參見開服地域

    說明

    如果目標集群是邊緣集群,請通過添加nodeSelector注解將ack-onepilot組件調度到云上,以保證ack-onepilot的正常工作。

    kind: Deployment
    apiVersion: apps/v1
    metadata:
      name: xxx
      namespace: xxx
    spec:
      template:
        spec:
          nodeSelector:
            # 可替換成實際的node selector
            alibabacloud.com/is-edge-worker: "false"
  4. 執行以下命令安裝ack-onepilot。

    請在ack-onepilot安裝包外執行此命令。

    helm3 upgrade --install ack-onepilot ack-onepilot --namespace ack-onepilot --create-namespace

步驟3:修改應用的YAML文件

  1. 執行以下命令查看目標無狀態(Deployment)應用的YAML文件。

    kubectl get deployment {deployment名稱} -o yaml                            
    說明

    若您不清楚{deployment名稱},請先執行以下命令查看所有無狀態(Deployment)應用,在執行結果中找到目標無狀態(Deployment)應用,再查看目標無狀態(Deployment)應用的YAML文件。

    kubectl get deployments --all-namespace                
  2. 啟動編輯目標無狀態(Deployment)應用的YAML文件。

    kubectl edit deployment {Deployment名稱} -o yaml                        
  3. YAML文件中的spec.template.metadata層級下添加以下內容。

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

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

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

    如果您需要在K8s環境中創建一個新的無狀態(Deployment)應用并接入ARMS,則應用的完整YAML文件如下:

    展開查看完整示例YAML文件

    apiVersion: apps/v1beta1 # for versions before 1.8.0 use apps/v1beta1
    kind: Deployment
    metadata:
      name: arms-springboot-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: MYSQL_SERVICE_HOST
                  value: "arms-demo-mysql"
                - name: MYSQL_SERVICE_PORT
                  value: "3306"
    ---
    apiVersion: apps/v1beta1
    kind: Deployment
    metadata:
      name: arms-demo-mysql
      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
    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
    ---
  4. 保存配置后,應用將自動重啟,以上配置生效。

    2~5分鐘后,若您的應用出現在ARMS控制臺應用監控 > 應用列表頁面中且有數據上報,則說明接入成功。