栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

监控 Apiserver

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

监控 Apiserver

apiserver 作为 Kubernetes 最核心的组件,当然他的监控也是非常有必要的,对于 apiserver 的监控我们可以直接通过 kubernetes 的 Service 来获取,如下这个 Service 就是k8s集群apiserver 在集群内部的 Service 地址,想要自动发现 Service 类型的服务,需要用到 role 为 Endpoints 的自动发现方式,在 Prometheus配置中添加上一个 Endpoints 类型的服务的监控任务即可:

$ kubectl get svc
NAME           TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE
kubernetes     ClusterIP   172.20.0.1              443/TCP          67d

添加自动发现抓取任务:role 为 Endpoints 的 kubernetes_sd_configs,然后更新配置:

- job_name: "apiservers"
  kubernetes_sd_configs:
    - role: endpoints

更新完成后,去查看 Prometheus 的 Dashboard 的 target 页面:

可以看到apiservers下面出现了很多实例,因为这里使用Endpoints服务发现方式,Prometheus把所有的Endpoints服务都抓取过来了,但是我们只需要default这命名空间个下名为kubernetes的Service服务,这里就需要用到relabel_configs 的keep功能,把符合我们要求的给保留下来,可以根据对应的__meta_kubernetes_namespace和__meta_kubernetes_service_name这两个元数据来进行relabel,另外由于kubernetes这个service服务对应的端口是443,所以需要使用https的协议,更改Prometheus配置如下:

    - job_name: "apiservers"
      kubernetes_sd_configs:
       - role: endpoints
      scheme: https
      tls_config:
       ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
      bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
      relabel_configs:
       - action: keep
         source_labels:
           [
             __meta_kubernetes_namespace,
             __meta_kubernetes_service_name,
           ]
         regex: default;kubernetes

更新配置后,去查看 Prometheus 的 Dashboard 的 target 路径,已成功抓取到指标:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/721887.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号