简介

在使用观测云期间,有时需要针对一个工作空间接入多个 Kubernetes 集群指标,通过观测云提供的全局 Tag 的方式来进行区分,大大提高了效率。下面是我总结的操作步骤。

当集群中只有一个采集对象,比如采集 kubernetes API Server 指标,集群中 DataKit 的数量会大于一个,为了避免指标采集重复,DataKit 开启了选举功能,这个时候区分集群的方式是增加ENV_GLOBAL_ELECTION_TAGS。

1 - name: ENV_GLOBAL_ELECTION_TAGS
2
3 value: cluster_name_k8s=k8s-prod

而针对非选举类的指标采集,比如为 Pod 增加 annotations 的方式进行指标采集,观测云提供了在 ENV_GLOBAL_HOST_TAGS 环境变量中增加全局 Tag 的方式。注意旧版本这个环境变量名称是 ENV_GLOBAL_TAGS。

-name:ENV_GLOBAL_HOST_TAGS
value:host=__datakit_hostname,host_ip=__datakit_ip,cluster_name_k8s=k8s-prod

上述采集到的指标集都会加上 cluster_name_k8s 的 Tag,值是 k8s-prod,这就是区分集群的原理。下面就以采集多个集群中的 kubernetes API Server 指标为例来进行详细说明。

前置条件

·安装 Kubernetes 1.18+

·观测云账号

操作步骤

步骤 1:测试环境集群部署 DataKit

1.1 下载 datakit.yaml

登录『观测云』,点击『集成』模块,再点击左上角『DataKit』,选择『Kubernetes』,下载 datakit.yaml。

1.2 替换 Token

登录『观测云』,进入『管理』模块,在『基本设置』里面复制 token,替换 datakit.yaml 文件中的 ENV_DATAWAY 环境变量的 value 值中的 。

1.3 增加全局 Tag

在 datakit.yaml 文件中的 ENV_GLOBAL_TAGS 环境变量值最后增加 cluster_name_k8s=k8s-test。再增加环境变量 ENV_GLOBAL_ELECTION_TAGS。这样测试环境的集群就是 k8s-test。

1         - name: ENV_GLOBAL_ELECTION_TAGS
2 value: cluster_name_k8s=k8s-test

1.4 配置 Kubernetes API Server指标采集

详见【 Kubernetes API Server 集成文档】https://preprod-docs.cloudcare.cn/best-practices/integrations/container/kubernetes-api-server

1.5 部署 DataKit

把 datakit.yaml 上传到测试集群的 Master 节点,执行部署命令。

1 kubectlapply-fdatakit.yaml

步骤 2:生产环境集群部署 DataKit

2.1 修改 datakit.yaml

使用 步骤 1 中的 datakit.yaml,把 两处 k8s-test 改成 k8s-prod,这样生产环境的集群就是 k8s-prod。这里还需要修改一下 api-server.conf 中的 url。

2.2 部署 DataKit

把 datakit.yaml 上传到生产集群的 Master 节点,执行部署命令。

1 kubectlapply-fdatakit.yaml

步骤 3:视图预览

3.1 指标预览

登录『观测云』,点击『指标』,搜索 prom_api_server,在 cluster_name_k8s 标签下面已经有两个集群的名称。

 

3.2 新建视图

登录『观测云』,点击『场景』->『新建仪表板』,选择 Kubernetes API Server 监控视图,集群名称下拉框可以区分集群了。

 

关于多个 Kubernetes 集群指标的采集操作的更多相关文章

  1. 在kubernetes 集群内访问k8s API服务

    所有的 kubernetes 集群中账户分为两类,Kubernetes 管理的 serviceaccount(服务账户) 和 useraccount(用户账户).基于角色的访问控制(“RBAC”)使用 ...

  2. Kubernetes集群部署史上最详细(二)Prometheus监控Kubernetes集群

    使用Prometheus监控Kubernetes集群 监控方面Grafana采用YUM安装通过服务形式运行,部署在Master上,而Prometheus则通过POD运行,Grafana通过使用Prom ...

  3. kube-liveboard: kubernetes集群可视化工具

    kube-liveboard 随着kubernetes 集群的增大,对于集群数据选取恰当的形式进行展示有助于直观反映集群的状态,方便发现集群的短板,了解集群的瓶颈.因此,笔者做了kube-livebo ...

  4. Kubernetes集群的监控报警策略最佳实践

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/M2l0ZgSsVc7r69eFdTj/article/details/79652064 本文为Kub ...

  5. 阿里巴巴大规模神龙裸金属 Kubernetes 集群运维实践

    作者 | 姚捷(喽哥)阿里云容器平台集群管理高级技术专家 本文节选自<不一样的 双11 技术:阿里巴巴经济体云原生实践>一书,点击即可完成下载. 导读:值得阿里巴巴技术人骄傲的是 2019 ...

  6. 阿里云上万个 Kubernetes 集群大规模管理实践

    点击下载<不一样的 双11 技术:阿里巴巴经济体云原生实践> 本文节选自<不一样的 双11 技术:阿里巴巴经济体云原生实践>一书,点击上方图片即可下载! 作者 | 汤志敏,阿里 ...

  7. 美团点评Kubernetes集群管理实践

    背景 作为国内领先的生活服务平台,美团点评很多业务都具有非常显著.规律的”高峰“和”低谷“特征.尤其遇到节假日或促销活动,流量还会在短时间内出现爆发式的增长.这对集群中心的资源弹性和可用性有非常高的要 ...

  8. 【转载】浅析从外部访问 Kubernetes 集群中应用的几种方式

    一般情况下,Kubernetes 的 Cluster Network 是属于私有网络,只能在 Cluster Network 内部才能访问部署的应用.那么如何才能将 Kubernetes 集群中的应用 ...

  9. 监控 Kubernetes 集群应用

    Prometheus的数据指标是通过一个公开的 HTTP(S) 数据接口获取到的,我们不需要单独安装监控的 agent,只需要暴露一个 metrics 接口,Prometheus 就会定期去拉取数据: ...

随机推荐

  1. 修改 hosts

    不会牛逼操作 -1. 位置.格式 所有系统都差不多,都是 啥啥/etc/hosts 这样的 . 具体去查即可 . 格式: ip + 域名 域名不能含有通配符 hosts 可以绕过 dns 解析,直接访 ...

  2. Vue3 生命周期 && Hooks封装 && toRef

    1 # 一.Vue3.0与Vue2.0生命周期改动 2 beforDestroy改名为beforeUnmount 3 destroyed改名为unmounted 4 # Vue3.0页提供了Compo ...

  3. CF717 Festival Organization

    \(CF717\ Festival\ Organization\) Description 一个合法的串定义为:长度在 \([l,r]\) 之间,且只含 \(0,1\),并且不存在连续 \(2\) 个 ...

  4. 选择结构——if控制语句单、双、多分支结构

    1.if控制语句 概念: if控制语句共有3种不同形式,分别是单分支结构.双分支结构和多分支结构. (1)使用 if 语句实现单分支处理 语法格式: if(表达式){ 语句 } 流程图: 执行步骤: ...

  5. MySQL8.0错误日志Error log

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 理论知识 错误日志内容 错误日志包含mysqld启动和关闭的时间信息,还包含诊断消息,如服务器启动和关闭期间以及服务器运行 ...

  6. 主流前沿的开源监控和报警系统Prometheus+Grafana入门之旅

    Prometheus概述 定义 Prometheus 官网地址 https://prometheus.io/ Prometheus 官网文档地址 https://prometheus.io/docs/ ...

  7. 面试突击75:SpringBoot 有几种读取配置文件的方法?

    Spring Boot 中读取配置文件有以下 5 种方法: 使用 @Value 读取配置文件. 使用 @ConfigurationProperties 读取配置文件. 使用 Environment 读 ...

  8. CF453C Little Pony and Summer Sun Celebration(构造、贪心(?))

    CF453C Little Pony and Summer Sun Celebration 题解 这道题要求输出任意解,并且路径长度不超过4n就行,所以给了我们乱搞构造的机会. 我这里给出一种构造思路 ...

  9. Android Notification使用

    一 Notification的类别 1.状态栏和抽屉式通知 //获取NotificationManager对象 val notificationManager = getSystemService(N ...

  10. django_day11_项目相关

    django_day11_项目相关 新增和编辑 路由 url(r'^category_add/$', views.category_change, name='category_add'), url( ...