一款超好用的 Kubernetes 配置错误检测工具 Datree
发布时间:2022-07-09 20:29:40 所属栏目:Linux 来源:互联网
导读:Datree 是一个可以检测 Kubernetes 资源清单错误配置的 CLI 工具,可确保 Kubernetes 资源清单和 Helm Charts 遵循最佳实践,防止开发人员在 Kubernetes 配置中出现错误,导致集群在生产中出现错误。它比人工处理要有效得多,比如给开发者发邮件,恳求他们设
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 1. 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] 1. 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' } } } } } }。 (编辑:财气旺网 - 财气网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐