• Rancher 部署 DataKit 最佳实践


    简介

    Rancher 是一款开源的企业级管理 Kubernetes 集群的平台,为了简化 DataKit 在 Kubernetes 集群中的部署,DataKit 支持在 Rancher 平台的应用市场中部署,另外 DataKit 也提供了使用 Git 仓库管理采集器配置文件的功能。使用 Rancher 部署 DataKit 并结合 Git 管理采集器配置,是 Kubernetes 集群部署 DataKit 的一个最佳部署方式。通过 DaemonSet 方式部署 DataKit,默认已经开通了 Container 采集器,为了更灵活的配置 Container 采集器,本文采用自定义的方式开通 Container 采集器,即把 container.conf 文件通过 Git 仓库来管理,然后通过 Rancher 的应用市场来部署 DataKit,最后查看采集的指标来验证 Git 仓库中的采集器配置是否生效。

    前置条件

    环境版本

    本次示例使用版本如下,DataKit 版本不同,配置可能存在差异。

    • Kubernetes 1.22.6
    • Rancher 2.6.3
    • Gitlab 14.9.4
    • DataKit 1.4.5

    操作步骤

    步骤 1:创建 dk-config 代码仓库

    登录『Gitlab』,点击 Create blank project

    Project name 输入 datakit-conf,点击『Create Project』。

    进入 dk-config 项目,新建 container.conf 文件,内容如下,container 开启了指标采集,关闭所有镜像的 stdout 日志采集。

    1. [inputs.container]
    2. docker_endpoint = "unix:///var/run/docker.sock"
    3. containerd_address = "/var/run/containerd/containerd.sock"
    4. enable_container_metric = true
    5. enable_k8s_metric = true
    6. enable_pod_metric = true
    7. ## Containers logs to include and exclude, default collect all containers. Globs accepted.
    8. container_include_log = []
    9. container_exclude_log = ["image:*"]
    10. exclude_pause_container = true
    11. ## Removes ANSI escape codes from text strings
    12. logging_remove_ansi_escape_codes = false
    13. kubernetes_url = "https://kubernetes.default:443"
    14. ## Authorization level:
    15. ## bearer_token -> bearer_token_string -> TLS
    16. ## Use bearer token for authorization. ('bearer_token' takes priority)
    17. ## linux at: /run/secrets/kubernetes.io/serviceaccount/token
    18. ## windows at: C:\var\run\secrets\kubernetes.io\serviceaccount\token
    19. bearer_token = "/run/secrets/kubernetes.io/serviceaccount/token"
    20. # bearer_token_string = ""
    21. [inputs.container.tags]
    22. # some_tag = "some_value"
    23. # more_tag = "some_other_value"

    然后点击 Clone -> Clone with HTTP,获取 git 地址是 Sign in · GitLab

    步骤 2:创建命名空间

        为方便管理,DataKit 安装到 datakit 命名空间。登录『Rancher』-> 『集群』-> 『项目/命名空间』,点击『创建命名空间』。
    

    名称输入“datakit”,点击『创建』。

    步骤 3:添加 Chart 仓库

    登录『Rancher』-> 『集群』-> 『应用市场』-> 『Chart 仓库』,点击『创建』。名称输入 datakit,URL 输入 https://pubrepo.guance.com/chartrepo/datakit,点击『创建』。

    步骤 4:部署 DataKit

    登录『Rancher』-> 『集群』-> 『应用市场』-> 『Charts』, 选择 datakit,出现下图带 DataKit 的图标,点击进去。

    点击『安装』。

    命名空间选择 datakit,点击『下一步』。

    ![1656997814525.png](

    点击Datakit Configuration,把 替换成观测云的 token,由于本次使用自定义 container 采集器配置,所以把 Enable the default Inputs 中的 ,container 去掉。

    点击 Git Management Configurations来设置 git 仓库信息。选中 Enable Use Git Management ConfigurationsThe Git Hub Url 填 dk-config 的 git 地址 Sign in · GitLab,并把 git 的用户名 root,密码 xxxxxx 放到 http:// 后面,请参考下图。The Git Branch 填分支 main。然后点击『安装』 。注意,如果选中 Enable git SSH key,即是通过 SSH 方式来拉取 Git 仓库中的配置。

    ![1656998040184.png](

    点击Kube-State-Metrics,选中Deployment KubeState Metrics Deployment,即会安装 kube-state-metrics 组件,如不需要可以不选。

    点击 metrics-server,选中 Deployment kubeState Metrics Server Deployment,即会安装 metrics-server 组件,如不需要可以不选。最后点击『安装』。

    步骤 5:资源限额

    为了限制 DataKit 使用的 CPU 和内存,可以通过 Rancher 限制 DataKit 的资源使用。 进入『集群』-> 『工作负载』-> 『DaemonSets』,点击 datakit 行的右边,选择『编辑配置』,进入后点击“资源限制和预留”,根据服务器的资源进行合理分配,然后点击『保存』。

    步骤 6:验证指标采集

    登录『Rancher』,点击右上方的命令行图标,执行如下命令进入 datakit,查看 gitrepos 目录下有 container.conf 文件即表示能正常拉取 git 仓库配置了。

    1. kubectl get pods -n datakit
    2. kubectl exec -it datakit-qc58m -n datakit bash
    3. cd gitrepos/
    4. ls

    登录『观测云』-> 『指标』,选中 kubernetes指标集,查看指标有数据,即表示指标采集正常。

    步骤 7:升级

    当 DataKit 有版本升级时,Rancher UI 上可看到可以升级的版本。进入 Rancher『集群』-> 『应用市场』-> 『已安装的 Apps』,在 datakit 行的升级列,有待升级的版本“1.4.6”,点击后进入升级界面。

    选择版本“1.4.6”,点击『下一步』。

    点击『升级』。

    升级完成后,DataKit 版本已经是 1.4.6 版本。

  • 相关阅读:
    【华为OD机试真题 python】最长广播效应【2022 Q4 | 200分】
    为什么在使用PageHelper插件时,指定的每页记录数大小失效?显示所有的记录数
    收藏:不能不刷的数字后端面试题,含解析
    立创 EDA #学习笔记10# | 常用连接器元器件识别 和 无源蜂鸣器驱动电路
    【向题看齐】408之操作系统OS概念记忆总结
    AndroidAuto 解决连接手机启动AA屏闪一下问题
    初始C++入门(2)
    巨细靡遗流程控制,Go lang1.18入门精炼教程,由白丁入鸿儒,Go lang流程结构详解EP09
    8. 基于消影点进行相机内参(主点)的标定
    【Git】.gitignore文件的理解和使用
  • 原文地址:https://blog.csdn.net/DataFlux/article/details/126118559