一款超好用的 Kubernetes 配置错误检测工具 Datree

公众号关注 「奇妙的 Linux 世界」

设为「星标」,每天带你玩转 Linux !

f59fc13f82a23d7ec0b4b777df5e4af8.png

Datree 是一个可以检测 Kubernetes 资源清单错误配置的 CLI 工具,可确保 Kubernetes 资源清单和 Helm Charts 遵循最佳实践,防止开发人员在 Kubernetes 配置中出现错误,导致集群在生产中出现错误。它比人工处理要有效得多,比如给开发者发邮件,恳求他们设置各种限制,而这很可能会因为开发者已经不堪重负而被选择性忘记~

Datree 为 Kubernetes 提供了一种策略执行解决方案,对每一行代码变更都会进行自动检查,以防止违反规则和错误配置。当发现违反规则时,Datree 会产生一个警报,指导开发人员在 CI 过程中去修复问题,同时也会对这些规则背后的原因做出解释。

安装

只需要两步即可开始使用 Datree。

  1. 安装最新版本的 Datre。

  • Linux & MacOScurl https://get.datree.io | /bin/bash

  • Windowsiwr -useb https://get.datree.io/windows_install.ps1 | iex

  • 其他安装方式(Homebrew、Docker等等)可以查看文档 https://hub.datree.io/

将 Kubernetes 资源清单文件传递给 Datree 进行扫描。

datree test [k8s-manifest-file]

这样就进行了一次检查了🥳。

插件

Datree 还提供了很多插件来增强体验。

Helm插件

Datree 的 Helm 插件可以通过 Helm CLI 访问,为 Helm 用户提供无缝体验,执行下面的命令即可启用 Helm 插件:

helm plugin install https://github.com/datreeio/helm-datree

VSCode插件

允许你在 Kubernetes 配置上运行 Datree 测试,插件地址:https://marketplace.visualstudio.com/items?itemName=suyashsonawane.vscode-datree

Kustomize支持

Datree 为 Kustomize 提供了开箱即用的支持,允许你轻松扫描 Kustomization 文件以及它将为错误配置生成的资源。

在测试 kustomization 目录时,Datree 将构建 kustomization.yaml 中定义的资源的临时副本,并对它们运行策略检查。

只需将 kustomize 参数添加到 CLI 命令中即可,如下所示:

datree kustomize test [path] [cliArgs] -- [kustomizeArgs]
  • path:表示所需 kustomize 目录的路径(包含 kustomization.yaml 文件

  • cliArgs(可选):Datree CLI 参数

  • kustomizeArgs(可选)kustomize build命令的参数,要查看支持的参数列表,请运行 kustomize build -h 或 kubectl kustomize -h

此外还可以配置 Git Hooks。

策略

每个策略检查都将验证你的 Kubernetes Schema,此外,还有很多 Datree 内置的一些策略规则。这些规则涵盖了各种 Kubernetes 资源和用例:

  • Workload

  • CronJob

  • Containers

  • Networking

  • Security

  • Deprecation

  • Others

除了内置的规则之外,你还可以编写任何希望的自定义规则,然后针对你的 Kubernetes 配置来检查是否违反规则,自定义规则引擎是基于 JSON Schema 的。更多的策略使用可以参考官方文档:https://hub.datree.io。

CI/CD集成

像任何 linter 或静态代码分析工具一样,Datree 的命令行工具可以与所有 CI/CD 平台集成,自动扫描每行代码变化并作为工作流程的一部分提供反馈。

比如在 Gitlab CI 中使用 Datree:

image: node:14

stages:
    - test

test:
    stage: test
    script:
        - curl https://get.datree.io | /bin/bash
        - datree test ~/.datree/k8s-demo.yaml

在 Jenkins Pipeline 中使用 Datree:

pipeline{
    agent any 
    stages{
        stage('indentifying misconfigs using datree'){
            steps{
                script{
                        withEnv(['DATREE_TOKEN=<your-account-token>']) {
                              sh 'datree test *.yaml --only-k8s-files'
                        }

                }
            }
        }
    }

}

仓库地址:https://github.com/datreeio/datree

本文转载自:「Github爱好者」,原文:https://tinyurl.com/yck2zkub,版权归原作者所有。欢迎投稿,投稿邮箱: editor@hi-linux.com。

205bdd22a8735e23ee5d684b6b3b6164.gif

最近,我们建立了一个技术交流微信群。目前群里已加入了不少行业内的大神,有兴趣的同学可以加入和我们一起交流技术,在 「奇妙的 Linux 世界」 公众号直接回复 「加群」 邀请你入群。

c60c8095b87be7818b7342778fe2eef4.png

你可能还喜欢

点击下方图片即可阅读

bf73055a51ea0e934829c21165272df5.png

万字干货,Podman 保姆级中文使用教程

712b1bacd442177e20f093f67d390aa3.png
点击上方图片,『美团|饿了么』外卖红包天天免费领

e073aab69e2e52cdf950682692f1b295.png

更多有趣的互联网新鲜事,关注「奇妙的互联网」视频号全了解!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值