注册的集群接入应用实时监控服务ARMS能为分布在各处的Kubernetes集群提供统一的管理方式。本文介绍如何通过容器服务Kubernetes版中的应用将应用实时监控服务ARMS接入至注册的Kubernetes集群。
步骤一:安装ARMS应用监控组件
通过onectl安装
在本地安装配置onectl。具体操作,请参见使用onectl管理注册集群。
执行以下命令,为ack-onepilot组件配置RAM权限。
onectl ram-user grant --addon ack-onepilot
预期输出:
Ram policy ack-one-registered-cluster-policy-ack-onepilot granted to ram user **** successfully.
执行以下命令,安装ack-onepilot组件。
onectl addon install ack-onepilot
预期输出:
Addon ack-onepilot, version **** installed.
通过控制台安装
登录容器服务管理控制台,在左侧导航栏选择集群。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择。
在组件管理页面,单击日志与监控页签,找到ack-onepilot组件,单击右下角的安装。
在安装组件 ack-onepilot对话框中,设置相关配置项,然后单击确定。
仅accessKey和accessKeySecret为必填项。其他配置项可按需选择,建议使用默认值。
配置项 | 描述 |
accessKey | 您的阿里云AccessKey ID。AK权限需包含访问ARMS的权限。 |
accessKeySecret | 您的阿里云AccessKey Secret。 |
说明 如果您的集群和专有网络VPC之间有专线,专线会被自动使用。
步骤二:为Java应用开启ARMS应用监控
如需在创建新应用的同时开启ARMS应用监控,请完成以下操作。
在容器服务管理控制台左侧导航栏单击集群,在集群列表页面上的目标集群右侧操作列单击应用管理。
在无状态页面右上角单击使用YAML创建资源。
选择示例模板,并在模板(YAML格式)中将以下labels
添加到spec.template.metadata层级下。
labels:
armsPilotAutoEnable: "on"
armsPilotCreateAppName: "<your-deployment-name>" #请将<your-deployment-name>替换为您的应用名称。
armsSecAutoEnable: "on" #如果需要接入应用安全,则需要配置此参数。

创建一个无状态(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控制台对您的应用进行服务治理。
后续操作
为集群下所有应用卸载探针
通过onectl卸载
执行以下命令,卸载ack-onepilot组件。
onectl addon uninstall ack-onepilot
预期输出:
Addon ack-onepilot uninstalled.
重启业务Pod。
通过控制台卸载
登录容器服务管理控制台,在左侧导航栏选择集群。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择。
在组件管理页面,单击日志与监控页签,找到ack-onepilot组件,单击右下角的卸载。
在弹出对话框中单击确定。
重启业务Pod。
为集群下指定应用卸载探针
登录容器服务管理控制台,在左侧导航栏选择集群。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择。
在无状态页面的目标应用操作列下方,单击更多>查看Yaml,在编辑YAML对话框中,删除上文安装探针步骤二中添加的labels
,然后单击更新。
重启业务Pod。