前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >这个开源工具防止错误配置 乱入 K8s 生产环境

这个开源工具防止错误配置 乱入 K8s 生产环境

作者头像
我的小碗汤
发布2023-03-19 16:29:23
3270
发布2023-03-19 16:29:23
举报
文章被收录于专栏:我的小碗汤我的小碗汤

什么是 Datree?

它是一个开源 CLI 实用工具,通过管理策略来防止 Kubernetes 工作负载和 SaaS 平台的错误配置。它验证您的 Kubernetes YAML 文件。

为什么需要 Datree?

防止 Kubernetes 配置出错。它可以帮助所有者、开发人员管理策略执行,自动检查是否违反规则。使用 Datree 时,您不需要与生产集群建立连接。可以从在线 Datree 仪表板应用策略和规则。

Datree 是如何工作的?

  1. 检查 Yaml 文件的语法是否正确写入。
  2. Kubernetes 模式验证检查版本是否有效。
  3. 策略检查:它可以是内存限制、CPU 限制或任何自定义策略检查。
  4. 它提供了针对 Datree 应用策略运行的 YAML 文件的摘要。

让我们快速简单地实现 Datree

按照官方文档[1]安装 Datree

nginx 的示例 deployment.yaml 文件

代码语言:javascript
复制
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,请运行以下命令:

代码语言:javascript
复制
$ datree test deployment.yaml

配置错误

所以在上图中,我们可以看到通过的规则总数为 21、失败的规则总数为 9。

我已经通过 Datree Dashboard 配置了 30 条规则的默认策略。可以通过 CLI 获取仪表板的链接,如下图所示:

仪表板链接

在 Datree 仪表板中,我们可以根据需要编辑规则,这些规则将在验证部署 YAML 文件时应用。

用于配置 datree 规则的仪表板

所以,我已经解决了上面配置错误中显示的前四个错误。

更新后的 deployment.yaml

代码语言:javascript
复制
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

现在如果我们再次运行命令来检查:

代码语言:javascript
复制
$ datree test deployment.yaml

解决了 4 个配置规则

输出是 Total Rules Failed: 5,之前是 9。

我们在 deployment 文件中配置了内存请求、CPU 请求、内存限制和 CPU 限制。

因此,这就是 Datree 如何用于标准化和避免 K8s 中的错误配置。

参考资料

[1]

官方文档: https://hub.datree.io/#jx-quickstart

- END -

原文:https://tinyurl.com/2p8j82dw

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-03-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 进击云原生 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 为什么需要 Datree?
  • Datree 是如何工作的?
    • 让我们快速简单地实现 Datree
      • 参考资料
      相关产品与服务
      容器服务
      腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档