这个开源工具防止错误配置乱入k8s生产环境
什么是 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 文件时应用。
所以,我已经解决了上面配置错误中显示的前四个错误。
更新后的 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
输出是 Total Rules Failed: 5
,之前是 9。
我们在 deployment 文件中配置了内存请求、CPU 请求、内存限制和 CPU 限制。
因此,这就是 Datree 如何用于标准化和避免 K8s 中的错误配置。
(版权归原作者所有,侵删)
微信扫码关注该文公众号作者
戳这里提交新闻线索和高质量文章给我们。
来源: qq
点击查看作者最近其他文章