一款超好用的 Kubernetes 配置错误检测工具 Datree
source link: https://os.51cto.com/article/713057.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
一款超好用的 Kubernetes 配置错误检测工具 Datree-51CTO.COM
Datree 是一个可以检测 Kubernetes 资源清单错误配置的 CLI 工具,可确保 Kubernetes 资源清单和 Helm Charts 遵循最佳实践,防止开发人员在 Kubernetes 配置中出现错误,导致集群在生产中出现错误。它比人工处理要有效得多,比如给开发者发邮件,恳求他们设置各种限制,而这很可能会因为开发者已经不堪重负而被选择性忘记~
Datree 为 Kubernetes 提供了一种策略执行解决方案,对每一行代码变更都会进行自动检查,以防止违反规则和错误配置。当发现违反规则时,Datree 会产生一个警报,指导开发人员在 CI 过程中去修复问题,同时也会对这些规则背后的原因做出解释。
只需要两步即可开始使用 Datree。
- 安装最新版本的 Datre。
- Linux & MacOS: curl https://get.datree.io | /bin/bash
- Windows: iwr -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
Recommend
-
32
macOS - @baofeidyz - 1. 自带的 terminal 对于多台服务器的管理不行, 放弃2. 安装了 royal tsx, 限制为 10 台, 我最开始以为是同时打开 10 台呢, 结果是只能存 10 台, 不够用. 我
-
14
2020-12-21 22:05 币安检测到潜在匹配错误,匹配已经被自动暂停 12月21日,币安CEO赵长鹏在推特上表示,币安系统检测到潜在匹配错误,匹配已经被自动暂停。我们正在调查这个问题,初步估计需要30-60分钟(可...
-
6
今天則要來介紹一些其他關於 kubernetes 操作的好工具,每個工具都有自己適合的地方與場景,每個人就根據自己的習慣選擇 Stern/Kail第一個要分享的工具是跟觀看 log 有關的, Kubernetes 由於提供很多個副本,同時透過 deployment/replicaset...
-
1
Kubiquity: 一款Kubernetes错误监控工具 ...
-
5
推荐一款好用的独立站选品工具-51niche-跨境头条-AMZ123亚马逊导航-跨境电商出海门户 推荐一款好用的独立站选品工具-51niche ...
-
4
一款好用的磁盘占用分析工具——WizTree - 天方 - 博客园 TianFang 相濡以沫,不如相忘于江湖 随笔 - 842 文章 -...
-
1
录屏工具也许可以算是少数派读者「最为熟悉的陌生人」之一。熟悉之处在于,我们写过不少录屏工具的介绍和使用文章,也分享过一些录屏工具的使用技巧;陌生之处在于,当我们在讨论录屏工具时,关注的更多...
-
5
KUR8 : 一款 Kubernetes 集群拓扑和指标可视化工具 作者:KUR8 2022-09-14 08:49:01 开源 KUR8 是一个 Kubernetes 拓扑结构和 Promet...
-
2
推荐一款好用的代码可视化工具 或许你早已习...
-
3
一款好用的文字转语音工具,包含多国语言以及非常热门的主播声音,比如晓晓、晓伊、云溪等等! -
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK