本文介绍如何将公网的Kubernetes集群接入Prometheus监控,并开启鉴权。

前提条件

自建Kubernetes集群已接入阿里云本地数据中心集群。具体操作,请参见创建注册集群并接入本地数据中心集群

适用场景

  • 非阿里云环境的Kubernetes集群接入Prometheus监控。
  • 阿里云环境上的Kubernetes集群因为特殊原因需要开启公网数据接入。
说明 如果您的Kubernetes集群已接入阿里云内网,集群接入Prometheus监控的操作,请参见Prometheus实例 for Kubernetes

步骤一:安装Prometheus Agent

  1. 登录ARMS控制台
  2. 在左侧导航栏选择Prometheus监控 > Prometheus实例列表
  3. Prometheus监控页面的顶部菜单栏,选择地域,然后单击新建prometheus实例
  4. 新建prometheus实例页面,单击自建Kubernetes集群区域。
  5. 接入自建Kubernetes集群面板右上角选择Kubernetes集群需要接入的地域,然后完成以下操作:
    1. 自定义Prometheus监控实例的名称,然后单击新建
    2. 执行以下命令添加阿里云的Helm Repository。
      注意 不同地域添加阿里云的Helm Repository的命令不同,请根据实际地域替换命令中的{region_id},或直接在接入自建Kubernetes集群面板获取准确的添加命令。
      helm repo add aliyun http://aliacs-k8s-{region_id}.oss-{region_id}.aliyuncs.com/app/charts-incubator/
    3. 执行安装Prometheus探针区域的命令为自建Kubernetes集群安装探针。
      helm install arms-prom-operator aliyun/ack-arms-prometheus \
        --namespace arms-prom \
        --set controller.cluster_id=$CLUSTER_ID \    //请在安装Prometheus探针区域获取集群ID。
        --set controller.uid="***" \                 //请在安装Prometheus探针区域获取UID。
        --set controller.region_id=*** \             //请在安装Prometheus探针区域获取Region ID。
        --set controller.vpc_prefix=registry.        //从公网拉取镜像。如果您的镜像存储在阿里云内网,则可以不用配置此参数。
      说明 关于Helm命令的参数说明,请参见Helm命令参数说明

步骤二:生成鉴权Token

公网Kubernetes集群远程写入阿里云Prometheus监控时需要做Token校验。

  1. 登录ARMS控制台
  2. 在左侧导航栏选择Prometheus监控 > Prometheus实例列表
  3. 在顶部菜单栏,选择地域。
  4. Prometheus监控页面,单击Kubernetes集群名称。
  5. 在左侧导航栏单击设置,在右侧页面单击设置页签。
  6. 设置页签单击生成token,复制并保存Token。
    复制Token

步骤三:配置Kubernetes集群

  1. 登录容器服务管理控制台
  2. 在控制台左侧导航栏中,单击集群
  3. 集群列表页面单击目标集群的名称或右侧操作列的详情
  4. 在左侧导航栏选择工作负载 > 无状态
  5. 无状态页面顶部选择命名空间为arms-prom
  6. 在名称为arms-prometheus-ack-arms-prometheus的Deployment右侧操作列,选择更多 > 查看YAML
  7. 编辑YAML对话框的args字段中新增以下参数。
    - '--mode=public'
    - '--accessKey=***'
    - '--accessSecret=***'
    说明 accessKeyaccessSecret的值请替换为步骤二中完成生成Token操作所使用的阿里云账号的AccessKey ID和AccessKey Secret。获取AccessKey的操作,请参见获取AccessKey。配置AccessKey和AccessSecret后,Prometheus监控后台将会自动校验步骤二中获取的Token信息。
    公网Prometheus接入Prometheus
  8. YAML文件修改完成后,单击更新

结果验证

  1. 登录ARMS控制台
  2. 在左侧导航栏选择Prometheus监控 > Prometheus实例列表
  3. Prometheus监控页面的顶部菜单栏,选择Kubernetes集群所在的地域。
    查看已接入的自建Kubernetes集群是否存在监控数据。接入的Kubernetes集群