您的位置:首页 > 汽车 > 新车 > 宁波自适应网站建设_网页版微信怎么发朋友圈_线上推广是什么意思_精准营销名词解释

宁波自适应网站建设_网页版微信怎么发朋友圈_线上推广是什么意思_精准营销名词解释

2025/1/24 11:13:37 来源:https://blog.csdn.net/liuyunshengsir/article/details/145032869  浏览:    关键词:宁波自适应网站建设_网页版微信怎么发朋友圈_线上推广是什么意思_精准营销名词解释
宁波自适应网站建设_网页版微信怎么发朋友圈_线上推广是什么意思_精准营销名词解释

基于 Pod 和 Service 注解的服务发现

背景

很多应用会为 Pod 或 Service 打上一些注解用于 Prometheus 的服务发现,如 prometheus.io/scrape: "true",这种注解并不是 Prometheus 官方支持的,而是社区的习惯性用法,要使这种注解生效,还需结合 Prometheus 的采集配置,本文介绍具体的配置方法。

:::warning

如果你使用 kube-prometheus-stack 部署的监控系统,默认就会对自身的一些组件创建采集规则,比如会给 kube-state-metrics 创建 ServiceMonitor,并且 kube-state-metricsService 上也有 prometheus.io/scrape: "true" 的注解,如果配置了基于 Service 注解的服务发现,就会导致重复采集。

:::

真实案例

istio 指标采集

istio 使用了这种 Pod 注解,当 Pod 被自动注入 sidecar 的同时也会被自动注入以下注解:

    prometheus.io/path: /stats/prometheusprometheus.io/port: "15020"prometheus.io/scrape: "true"

表示声明让 Prometheus 采集 Envoy Sidecar 暴露的 metrics,端口是 15020,路径是 /stats/prometheus

除此之外,控制面组件 istiod 的 Pod 也会有类似注解:

    prometheus.io/port: "15014"prometheus.io/scrape: "true"

Kubernetes Addon 指标采集

Kubenretes 源码仓库中的一些 addon 组件也使用了这种注解,有的是 Pod 注解,有的是 Service 注解。

  • coredns 使用 Service 注解:
    apiVersion: v1
    kind: Service
    metadata:name: kube-dnsnamespace: kube-systemannotations:# highlight-startprometheus.io/port: "9153"prometheus.io/scrape: "true"  # highlight-end
    
  • nodelocaldns 使用 Pod 注解:
    apiVersion: apps/v1
    kind: DaemonSet
    metadata:name: node-local-dnsnamespace: kube-systemlabels:k8s-app: node-local-dnskubernetes.io/cluster-service: "true"addonmanager.kubernetes.io/mode: Reconcile
    spec:updateStrategy:rollingUpdate:maxUnavailable: 10%selector:matchLabels:k8s-app: node-local-dnstemplate:metadata:labels:k8s-app: node-local-dnsannotations:# highlight-startprometheus.io/port: "9253"prometheus.io/scrape: "true"# highlight-end
    

Prometheus 采集配置

根据 Pod 注解动态采集

根据 Service 注解动态采集

kube-prometheus-stack 采集配置方法

如果你使用 kube-prometheus-stack 来安装 Prometheus,需要在 additionalScrapeConfigs 里加上采集配置,示例:

prometheus:prometheusSpec:additionalScrapeConfigs:-  job_name: "kubernetes-service-endpoints"...-  job_name: "kubernetes-pods"...

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com