手動(dòng)接入應(yīng)用至應(yīng)用監(jiān)控 eBPF 版
阿里云應(yīng)用監(jiān)控 eBPF 版是一套針對(duì)Kubernetes集群開(kāi)發(fā)的一站式可觀測(cè)性產(chǎn)品,為Kubernetes集群手動(dòng)安裝應(yīng)用監(jiān)控 eBPF 版組件后,即可查看基于Kubernetes集群下的指標(biāo)、應(yīng)用鏈路、日志和事件。
前提條件
應(yīng)用監(jiān)控 eBPF 版目前正在公測(cè)中,公測(cè)期間您可以免費(fèi)使用阿里云應(yīng)用監(jiān)控 eBPF 版,如果您在使用中有任何問(wèn)題,請(qǐng)聯(lián)系應(yīng)用監(jiān)控 eBPF 版答疑釘釘群(群號(hào):35568145)獲取幫助。
已開(kāi)通ARMS,具體操作,請(qǐng)參見(jiàn)開(kāi)通和升級(jí)ARMS。
創(chuàng)建Kubernetes集群。目前應(yīng)用監(jiān)控 eBPF 版僅支持接入ACK集群和注冊(cè)集群,各集群創(chuàng)建方法如下:
已確認(rèn)當(dāng)前環(huán)境支持應(yīng)用監(jiān)控 eBPF 版運(yùn)行。更多信息,請(qǐng)參見(jiàn)應(yīng)用監(jiān)控 eBPF 版運(yùn)行環(huán)境要求和限制。
接入說(shuō)明
為Kubernetes集群安裝應(yīng)用監(jiān)控 eBPF 版組件即可將集群接入應(yīng)用監(jiān)控 eBPF 版:
安裝前,需先檢查目標(biāo)集群是否存在ARMS Addon Token,否則會(huì)出現(xiàn)權(quán)限不足的報(bào)錯(cuò)。若存在ARMS Addon Token,ARMS會(huì)進(jìn)行免密授權(quán),組件安裝完成后,即可使用應(yīng)用監(jiān)控 eBPF 版;若不存在ARMS Addon Token,則需要手動(dòng)添加ARMS和鏈路追蹤權(quán)限策略。查看ARMS Addon Token和手動(dòng)添加權(quán)限策略方法如下:
登錄容器服務(wù)管理控制臺(tái),在集群列表頁(yè)面,單擊目標(biāo)集群名稱進(jìn)入集群詳情頁(yè)。
在左側(cè)導(dǎo)航欄選擇addon.arms.token是否存在。
,然后在頂部選擇命名空間為kube-system,查看
登錄容器服務(wù)管理控制臺(tái),在集群列表頁(yè)面單擊目標(biāo)集群名稱。
在
頁(yè)簽的集群資源區(qū)域,單擊Worker RAM角色右側(cè)的鏈接。在權(quán)限管理頁(yè)簽單擊新增授權(quán)。
在新增授權(quán)面板添加以下兩個(gè)權(quán)限策略,然后單擊確認(rèn)新增授權(quán)。
AliyunTracingAnalysisFullAccess:可觀測(cè)鏈路 OpenTelemetry 版的完整權(quán)限。
AliyunARMSFullAccess:ARMS的完整權(quán)限。
Kubernetes托管版集群:對(duì)于部分Kubernetes托管版集群,可能存在沒(méi)有ARMS Addon Token的情況,因此,對(duì)于Kubernetes托管版集群,建議首先檢查ARMS Addon Token是否存在。若不存在,仍需進(jìn)行手動(dòng)授權(quán)。
Kubernetes專有版集群:默認(rèn)不支持ARMS Addon Token,需進(jìn)行手動(dòng)授權(quán)。
安裝應(yīng)用監(jiān)控 eBPF 版組件
為已有應(yīng)用安裝組件
如果您的應(yīng)用已安裝過(guò)應(yīng)用監(jiān)控 eBPF 版組件,請(qǐng)?jiān)?a id="b62fb4e073z71" class="ne-link" target="_blank">容器服務(wù)管理控制臺(tái)目標(biāo)集群下的 頁(yè)面確認(rèn)ack-arms-cmonitor組件版本是否為4.0.0或以上,如果不是,請(qǐng)單擊升級(jí)將組件升級(jí)至最新版本。
登錄容器服務(wù)管理控制臺(tái),在集群列表頁(yè)面單擊目標(biāo)集群名稱。
在左側(cè)導(dǎo)航欄,選擇運(yùn)維管理 > 集群拓?fù)?/b>。
在集群拓?fù)漤?yè)面,單擊開(kāi)始安裝。ACK控制臺(tái)將會(huì)為您自動(dòng)安裝應(yīng)用監(jiān)控 eBPF 版組件。
說(shuō)明命名空間默認(rèn)為arms-prom。
如果是專有版集群,請(qǐng)更新AK/SK配置。
在左側(cè)導(dǎo)航欄,選擇
。在arms-cmonitor右側(cè)單擊更新,修改
accessKey
和accessKeySecret
為阿里云賬號(hào)的AccessKey ID和AccessKey Secret。獲取方法,請(qǐng)參見(jiàn)獲取AccessKey。重要請(qǐng)確認(rèn)對(duì)應(yīng)的阿里云賬號(hào)已包含AliyunARMSFullAccess和AliyunSTSAssumeRoleAccess權(quán)限。
單擊確定。
新建應(yīng)用時(shí)安裝組件
登錄容器服務(wù)管理控制臺(tái),在集群列表頁(yè)面上的目標(biāo)集群右側(cè)操作列單擊應(yīng)用管理。
在無(wú)狀態(tài)頁(yè)面單擊使用YAML創(chuàng)建資源。
選擇示例模板,并在模板(YAML格式)中將以下
labels
添加到spec.template.metadata層級(jí)下。labels: armseBPFAutoEnable: "on" armseBPFCreateAppName: "<your-deployment-name>" //請(qǐng)將<your-deployment-name>替換為您的應(yīng)用名稱。
創(chuàng)建一個(gè)無(wú)狀態(tài)(Deployment)應(yīng)用并開(kāi)啟ARMS應(yīng)用監(jiān)控 eBPF 版的完整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 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 # for versions before 1.8.0 use 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: # 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 --
相關(guān)文檔
接入應(yīng)用監(jiān)控 eBPF 版后,即可查看ACK集群應(yīng)用的關(guān)鍵指標(biāo)、上下游依賴組件、拓?fù)鋱D等,更多信息,請(qǐng)參見(jiàn)應(yīng)用詳情。