加入收藏 | 设为首页 | 会员中心 | 我要投稿 财气旺网 - 财气网 (https://www.caiqiwang.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

一款超好用的 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'
 
                         }
 
                 }
 
             }
 
         }
 
     }
 
  }。
 

(编辑:财气旺网 - 财气网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!