安装kube-state-metrics可以使用以下的示例YAML文件:
apiVersion: v1
kind: ServiceAccount
metadata:
name: kube-state-metrics
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: kube-state-metrics
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: kube-state-metrics
subjects:
- kind: ServiceAccount
name: kube-state-metrics
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRole
metadata:
name: kube-state-metrics
rules:
- apiGroups:
- ""
resources:
- configmaps
- secrets
- nodes/metrics # 如果需要收集节点指标,添加此行配置,否则删除此行。
verbs:
- get
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app.kubernetes.io/name: kube-state-metrics
app.kubernetes.io/instance: kube-state-metrics-v2.0.0 # 可根据实际版本修改名称及版本号。
app.kubernetes.io/version: v2.0.0 # 可根据实际版本修改版本号。
app.kubernetes.io/component: kube-state-metrics-pod # 可自定义组件名称。
app.kubernetes.io/part-of: monitoring-stack # 自定义属于哪个监控堆栈。
app.kubernetes.io/managed-by : helm # 如果是通过Helm部署的,请设置为helm。
app.prometheus.io/scrape : "true" # 设置为 true 启用 Prometheus 的自动发现。
app.prometheus.io/port : "8080" # 如果kube-state-metrics监听端口不是默认的 8080,请修改为实际端口号。
name: kube-state-metrics
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: kube-state-metrics
app.kubernetes.io/instance: kube-state-metrics-v2.0.0 # 可根据实际版本修改名称及版本号。
template:
metadata:
labels:
app.kubernetes.io/name: kube-state-metrics
app.kubernetes.io/instance: kube-state-metrics-v2.0.0 # 可根据实际版本修改名称及版本号。
app.kubernetes.io/version: v2.0.0 # 可根据实际版本修改版本号。
app.kubernetes.io/component: kube-state-metrics-pod # 可自定义组件名称。
app.kubernetes.io/part-of: monitoring-stack # 自定义属于哪个监控堆栈。
app.kubernetes.io/managed-by : helm # 如果是通过Helm部署的,请设置为helm。
release : prometheus-operator # 如果使用了 Prometheus Operator,请设置正确的 release 名称。
spec:
serviceAccountName: kube-state-metrics
containers:
- name: kube-state-metrics
image: quay.io/coreos/kube-state-metrics:v2.0.0 # 根据实际版本选择镜像,或者替换为你自己的私有镜像仓库地址和标签信息。
请注意,在示例中,使用了v2.0.0
版本的kube-state-metrics镜像,你可以根据需要替换为你所需的版本。同时,请根据实际情况调整其他标签、注释和配置信息。
内容由零声教学AI助手提供,问题来源于学员提问