0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用Datree开源工具防止错误配置乱入k8s生产环境

马哥Linux运维 ? 来源:马哥Linux运维 ? 2023-07-17 11:51 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

什么是 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,请运行以下命令:

$datreetestdeployment.yaml
f8afb478-23e4-11ee-962d-dac502259ad0.png配置错误

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

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

f904c440-23e4-11ee-962d-dac502259ad0.png仪表板链接

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

f92d3344-23e4-11ee-962d-dac502259ad0.png用于配置 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

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

$datreetestdeployment.yaml
f95f4442-23e4-11ee-962d-dac502259ad0.png解决了 4 个配置规则

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

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

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

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpu
    cpu
    +关注

    关注

    68

    文章

    11097

    浏览量

    217596
  • 开源
    +关注

    关注

    3

    文章

    3754

    浏览量

    43972
  • CLI
    CLI
    +关注

    关注

    1

    文章

    80

    浏览量

    8830
  • kubernetes
    +关注

    关注

    0

    文章

    248

    浏览量

    9102

原文标题:这个开源工具防止错误配置乱入k8s生产环境

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    什么是 K8S,如何使用 K8S

    连续性。 适用场景: 大规模容器集群管理。 微服务架构的部署与运维。 需要弹性伸缩的在线服务。 多租户环境(如开发测试、生产环境隔离)。 总的来说,K8S 通过标准化容器管理,极
    发表于 06-25 06:45

    搭建K8s环境平台的步骤

    1 搭建K8s环境平台规划1.1 单master集群1.2 多master集群
    发表于 11-04 06:03

    OpenStack与K8s结合的两种方案的详细介绍和比较

    OpenStack与K8S结合主要有两种方案。一是K8S部署在OpenStack平台之上,二是K8S和OpenStack组件集成。
    的头像 发表于 10-14 09:38 ?2.8w次阅读

    如何使用kubernetes client-go实践一个简单的与K8s交互过程

    中的源代码生成工具,这个工具的目的是要生成k8s风格的对象和序列化程序。 该项目是一组包的集合,该包能够满足从REST风格的原语到复杂client的不同的编程需求。 ? ? RESTClie
    的头像 发表于 02-02 11:16 ?7332次阅读
    如何使用kubernetes client-go实践一个简单的与<b class='flag-5'>K8s</b>交互过程

    Docker不香吗为什么还要用K8s

    Docker 虽好用,但面对强大的集群,成千上万的容器,突然感觉不香了。 这时候就需要我们的主角 Kubernetes 上场了,先来了解一下 K8s 的基本概念,后面再介绍实践,由浅入深步步为营
    的头像 发表于 06-02 11:56 ?3725次阅读

    简单说明k8s和Docker之间的关系

    这篇文章主要介绍了k8s和Docker关系简单说明,本文利用图文讲解的很透彻,有需要的同学可以研究下 最近项目用到kubernetes(以下简称k8sks之间有
    的头像 发表于 06-24 15:48 ?3767次阅读

    K8S集群服务访问失败怎么办 K8S故障处理集锦

    问题1:K8S集群服务访问失败? ? ? 原因分析:证书不能被识别,其原因为:自定义证书,过期等。 解决方法:更新证书即可。 问题2:K8S集群服务访问失败? curl: (7) Failed
    的头像 发表于 09-01 11:11 ?1.6w次阅读
    <b class='flag-5'>K8S</b>集群服务访问失败怎么办 <b class='flag-5'>K8S</b>故障处理集锦

    k8s集群环境中工作有多快

    命令就会很低效。 今天介绍3个工具会让你在多k8s集群环境中工作的很轻松。我将从以下几个方面来评估工具实用性: 速度 如果你有多个k8s
    的头像 发表于 05-29 14:28 ?822次阅读
    多<b class='flag-5'>k8s</b>集群<b class='flag-5'>环境</b>中工作有多快

    切换k8s上下文有多快

    use-context 命令就会很低效。 今天介绍3个工具会让你在多k8s集群环境中工作的很轻松。我将从以下几个方面来评估工具实用性: 速度 如果你有多个
    的头像 发表于 05-29 15:26 ?1033次阅读
    切换<b class='flag-5'>k8s</b>上下文有多快

    k8s是什么意思?kubeadm部署k8s集群(k8s部署)|PetaExpres

    k8s是什么意思? kubernetes简称K8s,是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful
    发表于 07-19 13:14 ?1337次阅读

    什么是K3sK8sK3sK8s有什么区别?

    Kubernetes,通常缩写为 K8s,是领先的容器编排工具。该开源项目最初由 Google 开发,帮助塑造了现代编排的定义。该系统包括了部署和运行容器化系统所需的一切。
    的头像 发表于 08-03 10:53 ?8573次阅读

    K8S落地实践经验分享

    k8s 即 Kubernetes,是一个开源的容器编排引擎,用来对容器化应用进行自动化部署、 扩缩和管理。
    的头像 发表于 01-02 11:45 ?1671次阅读
    <b class='flag-5'>K8S</b>落地实践经验分享

    k8s云原生开发要求

    IO性能。网络要求稳定,建议使用私有网络VPC,并配置与Kubernetes兼容的网络插件。操作系统需与K8s版本匹配,虚拟化平台支持Docker等。此外,还需关注安全配置,如禁用Swap、调整Sysctl等,以及etcd数据存
    的头像 发表于 10-24 10:03 ?630次阅读
    <b class='flag-5'>k8s</b>云原生开发要求

    k8s和docker区别对比,哪个更强?

    Docker和Kubernetes(K8s)是容器化技术的两大流行工具。Docker关注构建和打包容器,适用于本地开发和单主机管理;而K8s则提供容器编排和管理平台,适用于多主机或云环境
    的头像 发表于 12-11 13:55 ?719次阅读

    解析K8S实用命令

    前言: 作为运维工程师,掌握 Kubernetes 命令行工具是日常工作的核心技能。本文将深入解析 K8S 最实用的命令,从基础操作到高级技巧,助你成为容器化集群管理专家。
    的头像 发表于 07-24 14:07 ?158次阅读