这个开源工具防止错误配置乱入k8s生产环境
共 3492字,需浏览 7分钟
·
2023-08-14 14:03
链接:https://blog.csdn.net/qq_20042935/article/details/131422066
什么是 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 中的错误配置。
最近很多小伙伴找我要一些程序员必备资料,于是我翻出了压箱底的宝藏,免费分享给大家!
扫描海报二维码免费获取。