简介

在使用观测云期间,有时需要针对一个工作空间接入多个 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. TechEmpower 21轮Web框架 性能评测 -- C# 的性能 和 Rust、C++并驾齐驱

    自从2021年2月第20轮公布的测试以后,一年半后 的2022年7月19日 发布了 TechEmpower 21轮测试报告:Round 21 results - TechEmpower Framewo ...

  2. Git 07 IDEA集成Git

    参考源 https://www.bilibili.com/video/BV1FE411P7B3?spm_id_from=333.999.0.0 版本 本文章基于 Git 2.35.1.2 IDEA 是 ...

  3. 编写X86的ShellCode

    ShellCode 定义 ShellCode是不依赖环境,放到任何地方都能够执行的机器码 编写ShellCode的方式有两种,分别是用编程语言编写或者用ShellCode生成器自动生成 ShellCo ...

  4. UVA1306 The K-League(最大流)

    题面 有 n n n 支队伍进行比赛,每支队伍需要打的比赛数目相同. 每场比赛恰好一支队伍胜,另一支败. 给出每支队伍目前胜的场数 w i w_i wi​ 和败的场数(没用),以及每两个队伍还剩下的比 ...

  5. 【Java】学习路径60-利用TCP协议接收多个客户端的数据

    import java.io.IOException; import java.net.*; public class TCP_Server { public static void main(Str ...

  6. 【java】学习路径29-异常捕捉实例

    import java.util.ArrayList;public class ExceptionCatchDemo { public static void main(String[] args) ...

  7. 第四十四篇:Git分支(关键知识点)

    好家伙, GIT分支 分支就像是平行宇宙,两个平行宇宙自己平行,不相干扰,平安无事, 某一天它想不开,合并了.然后就变成了我写这篇博客的动机了. 1.关于Git分支中常用的指令 列出所有分支 git ...

  8. .NET 纯原生实现 Cron 定时任务执行,未依赖第三方组件 (Timer 优化版)

    在上个月写过一篇 .NET 纯原生实现 Cron 定时任务执行,未依赖第三方组件 的文章,当时 CronSchedule 的实现是使用了,每个服务都独立进入到一个 while 循环中,进行定期扫描是否 ...

  9. Markdown学习 .md学习

    # Markdown学习## 标题## 二级标题### 三级标题#### 四级标题## 字体**两个*是粗体***一个是斜体****三个是斜体加粗***~~两个~是删除线~~## 引用>走向人生 ...

  10. 《Win10——常用快捷键》

    Win10--常用快捷键       Ctrl+C:复制 Ctrl+V:粘贴 Ctrl+A:全选 Ctrl+X:剪切 Ctrl+D:删除 Ctrl+Z:撤销 Ctrl+Y:反撤销 Ctrl+Shift ...