注册集群接入阿里云Prometheus能为分布在各处的Kubernetes集群提供统一的管理方式。本文介绍如何将阿里云Prometheus接入至注册集群中。
前提条件
已通过容器服务Kubernetes版接入一个注册的Kubernetes集群。具体操作,请参见创建注册集群、通过onectl创建注册集群。
已通过kubectl连接注册集群。具体操作,请参见获取集群KubeConfig并通过kubectl工具连接集群。
对已通过专线方式与云上VPC互通的注册集群,已配置指向Prometheus内网网段的路由。
步骤一:为ack-arms-prometheus组件配置RAM权限
通过onectl配置
在本地安装配置onectl。具体操作,请参见通过onectl管理注册集群。
执行以下命令,为ack-arms-prometheus组件配置RAM权限。
onectl ram-user grant --addon arms-prometheus
预期输出:
Ram policy ack-one-registered-cluster-policy-arms-prometheus granted to ram user ack-one-user-ce313528c3 successfully.
通过控制台配置
创建RAM用户。具体操作,请参见创建RAM用户。
创建自定义权限策略。具体操作,请参见创建自定义权限策略。ack-arms-prometheus组件需要的权限策略内容如下。
{ "Version": "1", "Statement": [ { "Action": [ "arms:Describe*", "arms:List*", "arms:Get*", "arms:Search*", "arms:Check*", "arms:Query*", "arms:ListEnvironments", "arms:DescribeAddonRelease", "arms:InstallAddon", "arms:DeleteAddonRelease", "arms:ListEnvironmentDashboards", "arms:ListAddonReleases", "arms:CreateEnvironment", "arms:UpdateEnvironment", "arms:InitEnvironment", "arms:DescribeEnvironment", "arms:InstallEnvironmentFeature", "arms:ListEnvironmentFeatures" ], "Resource": "*", "Effect": "Allow" } ] }
为RAM用户添加权限。具体操作,请参见为RAM用户授权。
为RAM用户创建AccessKey。具体操作,请参见获取AccessKey。
使用AccessKey在注册集群中创建名为alibaba-addon-secret的Secret资源。
执行以下命令,创建ack-arms-prometheus组件使用的Secret。
kubectl -n arms-prom create secret generic alibaba-addon-secret --from-literal='access-key-id=<your AccessKey ID>' --from-literal='access-key-secret=<your AccessKey Secret>'
说明<your AccessKey ID>
和<your AccessKey Secret>
为上一步获取的AccessKey信息。
步骤二:安装ack-arms-prometheus组件
通过onectl安装
执行以下命令,安装ack-arms-prometheus组件。
onectl addon install arms-prometheus
预期输出:
Addon arms-prometheus, version **** installed.
通过控制台安装
登录容器服务管理控制台,在左侧导航栏选择集群列表。
在集群列表页面中,单击目标集群名称,然后在左侧导航栏中,选择 。
若Helm页面存在arms-prometheus和arms-prom安装记录,请删除对应的安装记录后,再按照后续操作重新接入。
在集群管理页左侧导航栏,选择 。
在组件管理页面,单击日志与监控页签。
找到ack-arms-prometheus卡片,单击右下角的安装。然后单击确定。
安装完成后,您可登录Prometheus控制台。进入对应集群实例,查看监控数据和定义告警规则。更多信息,请参见使用阿里云Prometheus监控和创建Prometheus监控报警。
如何切换ack-arms-prometheus组件采集CAdvisor 10250端口数据
ack-arms-promethues组件默认采集CAdvisor 10255端口数据,如果您的注册集群只打开了kubelet 10250端口,可以按照以下步骤切换ack-arms-promethues组件的采集端口。
使用以下YAML内容,在注册集群中部署配置ServiceMonitor。
等待大约需要15s~1 min后,进行采集数据验证。
验证切换端口后的采集数据。
登录ARMS控制台。
在左侧导航栏选择 ,进入可观测监控 Prometheus 版的实例列表页面。
在Prometheus监控页面的顶部菜单栏,选择集群所在的地域。
在实例列表页面,单击目标实例名称进入集成中心页面,然后在左侧导航栏单击服务发现,单击Targets页签。
查看是否已存在arms-prom/arms-prom-cadvisor-10250采集任务,且采集任务状态是否正常。