藉助ARMS應用監控 eBPF 版,您可以對通用Kubernetes環境的應用實現無侵入的監控,提供如應用拓撲、介面調用、應用概覽和警示等監控。本文介紹如何將通用Kubernetes環境中的應用接入ARMS應用監控 eBPF 版。
如果您使用的Kubernetes叢集由Container ServiceACK提供,本文不適用,ACK叢集接入ARMS的操作請參見手動接入應用至應用監控 eBPF 版。
前提條件
請確保您的Kubernetes叢集版本在1.20及以上版本。
如果您的Kubernetes叢集沒有部署在阿里雲,請確保叢集連通公網,或者通過雲企業網等方式打通阿里雲VPC和叢集之間的串連。
目前只支援x86架構,且機器核心版本需為4.19或以上版本,同時。更多環境要求,請參見應用監控 eBPF 版運行環境要求和限制。
步驟1:安裝Helm3
安裝Helm3的操作,請參見Helm官方文檔。
步驟2:安裝應用監控 eBPF 版組件
ARMS應用監控 eBPF 版目前僅支援無狀態(Deployment)和有狀態(StatefulSet)兩種類型的應用接入,兩種類型的應用接入方法相同。此處以將Kubernetes環境中的無狀態(Deployment)類型的應用接入ARMS應用監控 eBPF 版為例。
執行以下
wget
命令下載ack-arms-cmonitor安裝包。wget 'https://aliacs-app-catalog.oss-cn-hangzhou.aliyuncs.com/charts-incubator/ack-arms-cmonitor-4.1.2.tgz'
執行以下命令解壓ack-arms-cmonitor安裝包。
tar xvf ack-arms-cmonitor-4.1.2.tgz
將otel-collector-deployment.yaml中的環境變數IS_PUBLIC修改為
public
。編輯安裝包下的values.yaml檔案,根據實際情況修改以下參數,然後儲存。
registry: registry-__ACK_REGION_ID__-vpc.ack.aliyuncs.com cluster_id: __ACK_CLUSTER_ID__ accessKey: __ACCESSKEY__ accessKeySecret: __ACCESSKEY_SECRET__ uid: "__ACK_UID__" region_id: __ACK_REGION_ID__
registry
:鏡像地址,修改__ACK_REGION_ID__
為對應的RegionID。說明以上樣本為VPC環境鏡像地址,公網環境鏡像地址為:
registry-__ACK_REGION_ID__.ack.aliyuncs.com
__ACK_REGION_ID__
:阿里雲地區ID,應用監控 eBPF 版支援的地區,請參見開服地區。__ACK_CLUSTER_ID__
:自訂Kubernetes叢集ID,叢集的唯一標識。建議格式為<uid>-<clusterid>
。__ACCESSKEY__
和__ACCESSKEY_SECRET__
:阿里雲帳號的AccessKey ID和AccessKey Secret。擷取方法,請參見擷取AccessKey。重要請確認對應的阿里雲帳號已包含AliyunARMSFullAccess和AliyunSTSAssumeRoleAccess許可權。
__ACK_UID__
:阿里雲帳號(主帳號)ID。將滑鼠懸浮於阿里雲控制台右上方的頭像上可以擷取。
執行以下命令安裝ack-arms-cmonitor。
請在ack-arms-cmonitor安裝包外執行此命令。
helm3 upgrade --install ack-arms-cmonitor ack-arms-cmonitor --namespace arms-prom --create-namespace
步驟3:修改應用的YAML檔案
執行以下命令查看目標無狀態(Deployment)應用的YAML檔案。
kubectl get deployment {deployment名稱} -o yaml
說明若您不清楚
{deployment名稱}
,請先執行以下命令查看所有無狀態(Deployment)應用,在執行結果中找到目標無狀態(Deployment)應用,再查看目標無狀態(Deployment)應用的YAML檔案。kubectl get deployments --all-namespace
啟動編輯目標無狀態(Deployment)應用的YAML檔案。
kubectl edit deployment {Deployment名稱} -o yaml
在YAML檔案中的spec.template.metadata層級下添加以下內容。
labels: armseBPFAutoEnable: "on" armseBPFCreateAppName: "<your-deployment-name>" #請將<your-deployment-name>替換為您的應用程式名稱。
如果您需要在K8s環境中建立一個新的無狀態(Deployment)應用並接入ARMS,則應用的完整YAML檔案如下:
儲存配置後,應用將自動重啟,以上配置生效。
2~5分鐘後,若您的應用出現在ARMS控制台的 頁面中且有資料上報,則說明接入成功。
相關文檔
接入應用監控 eBPF 版後,即可查看K8s叢集應用的關鍵計量、上下遊相依元件、拓撲圖等,更多資訊,請參見應用詳情。