应用实时监控服务ARMS能够对应用进行全方位的监控,帮助您全面掌握应用的运行状态。您可以在注册集群中安装ARMS应用监控组件,将ARMS服务安装到已注册的Kubernetes集群中,使用ARMS对集群中的应用进行监控。
前提条件
已创建ACK One注册集群,并已将本地数据中心自建Kubernetes集群接入ACK One注册集群。具体操作,请参见创建ACK One注册集群。
步骤一:安装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.
通过控制台安装
配置RAM权限。在注册集群中安装组件前,您需要在接入集群中设置AccessKey,以获取访问云服务的权限。
创建自定义权限策略。
ack-onepilot组件需要的权限策略内容如下:{ "Version": "1", "Statement": [ { "Action": "arms:*", "Resource": "*", "Effect": "Allow" }, { "Action": "cms:*", "Resource": "*", "Effect": "Allow" } ] }管理RAM用户的权限,将上一步骤创建的自定义权限策略授予RAM用户。
-
为RAM用户创建AccessKey。
警告建议您参见AccessKey网络访问限制策略配置网络策略,将AccessKey调用来源控制在可信的网络环境内,提升AccessKey的安全性。
使用AccessKey在注册集群中创建名为
alibaba-addon-secret的Secret资源。执行以下命令,创建
ack-onepilot组件使用的Secret。说明执行命令前,需要将命令中的
access-key-id和access-key-secret的参数值替换为您在上一步骤中创建的AccessKey ID和AccessKey Secret。kubectl -n ack-onepilot create secret generic alibaba-addon-secret --from-literal='access-key-id=<your AccessKey ID>' --from-literal='access-key-secret=<your AccessKey Secret>'
安装
ack-onepilot组件。登录容器服务管理控制台,在左侧导航栏选择集群列表。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,单击组件管理。
在组件管理页面,单击安装组件,找到并选中ack-onepilot组件,单击下一步。
根据提示,完成组件配置后,单击下一步。
核实配置信息后,单击确定。
步骤二:为Java应用开启ARMS应用监控
登录容器服务管理控制台,在左侧导航栏选择集群列表。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择。
在无状态页面的目标应用右侧选择。
如需创建一个新应用,单击使用YAML创建资源。
在YAML文件中将以下
labels添加到spec.template.metadata层级下。labels: armsPilotAutoEnable: "on" armsPilotCreateAppName: "<your-deployment-name>" # 请将<your-deployment-name>替换为您的应用名称。 aliyun.com/app-language: javaapiVersion: 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:单击更新。
在无状态页面上,单击目标应用操作列的即可查看应用监控详情。
在无状态页面的目标应用操作列下方,单击ARMS控制台,可跳转至ARMS控制台对您的应用进行服务治理。
后续操作
为集群下所有应用卸载探针
通过onectl卸载
执行以下命令,卸载ack-onepilot组件。
onectl addon uninstall ack-onepilot预期输出:
Addon ack-onepilot uninstalled.重启业务Pod。
通过控制台卸载
登录容器服务管理控制台,在左侧导航栏选择集群列表。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,单击组件管理。
在组件管理页面,找到ack-onepilot组件,单击操作列的卸载。
在弹出对话框中阅读注意事项后,单击卸载组件。
重启业务Pod。
为集群下指定应用卸载探针
> YAML 编辑