什么是 Datree?
它是一个开源 CLI 实用工具,通过管理策略来防止 Kubernetes 工作负载和 SaaS 平台的错误配置。它验证您的 Kubernetes YAML 文件。
为什么需要 Datree?
防止 Kubernetes 配置出错。它可以帮助所有者、开发人员管理策略执行,自动检查是否违反规则。使用 Datree 时,您不需要与生产集群建立连接。可以从在线 Datree 仪表板应用策略和规则。
Datree 是如何工作的?
检查 Yaml 文件的语法是否正确写入。
Kubernetes 模式验证检查版本是否有效。
策略检查:它可以是内存限制、CPU 限制或任何自定义策略检查。
它提供了针对 Datree 应用策略运行的 YAML 文件的摘要。
让我们快速简单地实现 Datree
按照官方文档[1]安装 Datree
nginx 的示例 deployment.yaml 文件
apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment spec: selector: matchLabels: app: nginx replicas: 2 template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.14.2 ports: - containerPort: 80
要使用 Datree 验证此 yaml,请运行以下命令:
$ datree test deployment.yaml配置错误
所以在上图中,我们可以看到通过的规则总数为 21、失败的规则总数为 9。
我已经通过 Datree Dashboard 配置了 30 条规则的默认策略。可以通过 CLI 获取仪表板的链接,如下图所示:
仪表板链接
在 Datree 仪表板中,我们可以根据需要编辑规则,这些规则将在验证部署 YAML 文件时应用。
用于配置 datree 规则的仪表板
所以,我已经解决了上面配置错误中显示的前四个错误。
更新后的 deployment.yaml
apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment spec: selector: matchLabels: app: nginx replicas: 2 template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.14.2 resources: limits: memory: 200Mi cpu: 1 requests: memory: 100Mi cpu: 100m ports: - containerPort: 80
现在如果我们再次运行命令来检查:
$ datree test deployment.yaml解决了 4 个配置规则
输出是 Total Rules Failed: 5,之前是 9。
我们在 deployment 文件中配置了内存请求、CPU 请求、内存限制和 CPU 限制。
因此,这就是 Datree 如何用于标准化和避免 K8s 中的错误配置。
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !