Prometheus 监控服务 TKE 集群内安装组件说明

Prometheus 监控服务在 集成容器服务 过程中,在用户 TKE 集群内安装的各个组件的功能,使用权限和占用资源。

相关产品
Prometheus 监控服务 产品页,含版本规格、价格与购买入口。

一、组件介绍

由于 TKE 集群有独立的网络环境,proxy-agent 部署在集群内为集群外的采集组件提供访问代理。外部采集组件一方面通过 proxy-agent 服务发现集群内的资源,另一方面通过 proxy-agent 抓取指标并写到 Prometheus 实例的时序存储中。

二、部署在集群内的资源对象

Namespace kubernetes 对象名称 类型 资源量 说明
<Prometheus 实例 ID> proxy-agent Deployment 0.25C256Mi*2 采集代理
 <Prometheus 实例 ID> ServiceAccount – 权限载体
  ClusterRole – 采集权限相关
  Role – 外部集群额外管理权限
 <Prometheus 实例 ID>-crb ClusterRoleBinding – 采集权限相关
 <Prometheus 实例 ID>-rb RoleBinding – 外部集群额外管理权限

三、权限场景

功能 涉及对象 涉及操作权限
采集配置管理 scrapeconfigs,servicemonitors,podmonitors,probes,configmaps,secrets,namespaces get/list/watch
服务发现 services,endpoints,nodes,pods,ingresses get/list/watch
部分系统组件指标抓取 nodes/metrics,nodes/proxy,pods/proxy get/list/watch
带 RBAC 鉴权的指标抓取 /metrics,/metrics/cadvisor get

四、外部 Kubernetes 集群额外权限场景

功能 涉及对象 涉及操作权限
采集配置管理 scrapeconfigs,servicemonitors,podmonitors, probes *(all)
管理采集专用 namespace <Prometheus 实例 ID>/* *(all)

五、权限定义

apiVersion: rbac.authorization.k8s.io/v1kind: ClusterRolemetadata: name: prom-instancerules: – apiGroups: – monitoring.coreos.com resources: – scrapeconfigs – servicemonitors – podmonitors – probes – prometheuses – prometheusrules verbs: – get – list – watch # 外部 Kubernetes 集群使用 # – * – apiGroups: – "" resources: – namespaces – configmaps – secrets – nodes – services – endpoints – pods verbs: – get – list – watch – apiGroups: – networking.k8s.io resources: – ingresses verbs: – get – list – watch – apiGroups: [ "" ] resources: – nodes/metrics – nodes/proxy – pods/proxy verbs: – get – list – watch – nonResourceURLs: [ "/metrics", "/metrics/cadvisor" ] verbs: – get—# 外部 Kubernetes 集群使用apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: prom-instance
namespace: prom-instance
rules:
– apiGroups: [ "", "extensions", "apps" ]
resources: [ "*" ]
verbs: [ "*" ]

六、组件介绍

tke-kube-state-metrics 使用开源组件 kube-state-metrics,监听集群的 API server,生成集群内各种对象的状态指标。

七、部署在集群内的资源对象

Namespace kubernetes 对象名称 类型 资源量 说明
kube-system tke-kube-state-metrics Statefulset 0.5C512Mi 采集程序
  ServiceAccount – 权限载体
  ClusterRole – 采集权限相关
  ClusterRoleBinding – 采集权限相关
  Service – 采集程序对应服务,供服务发现使用
  Role – 分片采集权限相关
  RoleBinding – 分片采集权限相关
 kube-state-metrics ServiceMonitor – 采集配置

八、权限场景

功能 涉及对象 涉及操作权限
监听集群内各种资源的状态 绝大部分 Kubernetes 资源 list/watch
获取采集 Pod 所在分片序号 statefulsets,pods get

九、权限定义

apiVersion: rbac.authorization.k8s.io/v1kind: ClusterRolemetadata: name: tke-kube-state-metricsrules: – apiGroups: – "" resources: – configmaps – secrets – nodes – pods – services – serviceaccounts – resourcequotas – replicationcontrollers – limitranges – persistentvolumeclaims – persistentvolumes – namespaces – endpoints verbs: – list – watch – apiGroups: – apps resources: – statefulsets – daemonsets – deployments – replicasets verbs: – list – watch – apiGroups: – batch resources: – cronjobs – jobs verbs: – list – watch – apiGroups: – autoscaling resources: – horizontalpodautoscalers verbs: – list – watch – apiGroups: – authentication.k8s.io resources: – tokenreviews verbs: – create – apiGroups: – authorization.k8s.io resources: – subjectaccessreviews verbs: – create – apiGroups: – policy resources: – poddisruptionbudgets verbs: – list – watch – apiGroups: – certificates.k8s.io resources: – certificatesigningrequests verbs: – list – watch – apiGroups: – storage.k8s.io resources: – storageclasses – volumeattachments verbs: – list – watch – apiGroups: – admissionregistration.k8s.io resources: – mutatingwebhookconfigurations – validatingwebhookconfigurations verbs: – list – watch – apiGroups: – networking.k8s.io resources: – networkpolicies – ingresses verbs: – list – watch – apiGroups: – coordination.k8s.io resources: – leases verbs: – list – watch – apiGroups: – rbac.authorization.k8s.io resources: – clusterrolebindings – clusterroles – rolebindings – roles verbs: – list – watch—kind: Rolemetadata: name: tke-kube-state-metrics namespace: kube-systemrules: – apiGroups: – "" resources: – pods verbs: – get – apiGroups: – apps resourceNames: – tke-kube-state-metrics resources: – statefulsets verbs: – get

十、组件介绍

tke-node-exporter 使用开源项目 node_exporter,部署在集群内的每个 Node 上,用来采集硬件和类Unix操作系统指标。

十一、部署在集群内的资源

Namespace kubernetes 对象名称 类型 资源量 说明
kube-system tke-node-exporter DaemonSet 0.1C180Mi*node数量 采集程序
  Service – 采集程序对应服务,供服务发现使用
 node-exporter ServiceMonitor – 采集配置

十二、组件权限说明

该组件不使用任何集群权限。

赞 (0)
上一篇 4天前
下一篇 4天前