使用kubesec工具保障Kubernetes YAML文件安全!

集群狂
• 阅读 120

检查YAML文件安全配置:kubesec

如何使用kubesec工具检查Kubernetes YAML文件的安全配置:

  • 使用命令行检查

    kubesec scan deployment.yaml

    或者使用容器环境执行检查:

    docker run -i kubesec/kubesec scan /dev/stdin < deployment.yaml
  • kubesec内置HTTP服务器
    kubesec内置一个HTTP服务器,可以直接启用,远程调用。

    • 二进制启动

      kubesec http 8080 &
    • Docker容器启动

      docker run -d -p 8080:8080 kubesec/kubesec http 8080
  • HTTP调用示例

    curl -sSX POST --data-binary @deployment.yaml http://192.168.31.71:8080/scan

准入控制器:Admission Webhook

准入控制器Webhook的作用:

  • Admission Webhook

    • 准入控制器Webhook是准入控制插件的一种,用于拦截所有向APIServer发送的请求,并且可以修改请求或拒绝请求。
    • 提供灵活的插件模式,在Kubernetes资源持久化之前进行校验、修改等操作。
    • 示例用途包括为资源自动打标签、设置默认SA、自动注入sidecar容器等。
  • 相关Webhook准入控制器

    • MutatingAdmissionWebhook:修改资源,理论上可以监听并修改任何经过APIServer处理的请求。
    • ValidatingAdmissionWebhook:验证资源。
    • ImagePolicyWebhook:镜像策略,主要验证镜像字段是否满足条件。

准入控制器:ImagePolicyWebhook

ImagePolicyWebhook的工作流程:

使用kubesec工具保障Kubernetes YAML文件安全!

  • 工作流程图

    • 请求从kubectl发出,经过API Server的Admission Controllers处理。
    • Admission Webhook处理请求。
    • ImagePolicyWebhook用于验证镜像策略。
    • 其他控制器继续处理请求。
    • 最后请求被持久化到etcd中。

通过这些控制器,可以在资源被持久化之前进行各种校验和修改,以确保资源符合安全和策略要求。

本文由mdnice多平台发布

点赞
收藏
评论区
推荐文章
Easter79 Easter79
3年前
springcloud的配置文件的读取顺序
SpringBoot默认支持properties和YAML两种格式的配置文件。前者格式简单,但是只支持键值对。如果需要表达列表,最好使用YAML格式。SpringBoot支持自动加载约定名称的配置文件,例如application.yml。如果是自定义名称的配置文件,就要另找方法了。可惜的是,不像前者有@PropertySource这样方便的加载方式,
Stella981 Stella981
3年前
Spring Cloud Alibaba Nacos Config 的使用
一、需求主要实现nacos作为配置中心的一些使用方法。二、实现功能1、加载productproviderdev.yaml配置文件2、实现配置的自动刷新3、实现加载多个配置文件
Stella981 Stella981
3年前
Docker 容器健康检查
!DOCKERHEALTHCHECK(https://imgblog.csdnimg.cn/20210120134741738.jpg)Docker容器健康检查指的是在Dockerfile中使用HEALTHCHECK指令对容器的运行状态进行检查,并在dockerps的STATUS栏显示healthy/unhealt
Stella981 Stella981
3年前
SpringBoot系列之@PropertySource读取yaml文件
SpringBoot系列之@PropertySource支持yaml文件读取最近在做实验,想通过@PropertySource注解读取配置文件的属性,进行映射,习惯上用properties都是测试没问题的,偶然换成yaml文件,发现都读取不到属性值因为yaml语法很简洁,比较喜欢写yaml配置文件,很显然,@PropertySource默认不支持ya
Easter79 Easter79
3年前
SublimeText3系列(2)
1.什么是linter?linter是用来检查代码是否符合规则的工具,例如检查Javascript代码的jshint工具,你可以设置其规则"eqeqeq":true,那么如果在你的代码文件中使用了而不是,那么检查的时候就会给出提示。2.什么是SublimeLinterSub
Stella981 Stella981
3年前
Apache检查配置文件语法
Windows环境:httpdt或者:httpd.exewtf"C:\\Apache2.2\\conf\\httpd.conf"d"C:\\Apache2.2\\."_httpd.conf配置错误如果apache的配置文件httpd.conf搞错了,在windows里启动它,会提示therequested
Stella981 Stella981
3年前
Kubernetes YAML最佳实践和策略
Kubernetes工作负载最常用YAML格式的文件来定义。YAML的问题之一就是很难描述清单文件之间的约束或关系。如果你希望检查是否已从受信任的注册表中提取部署到群集中的所有映像,该怎么办?如何防止没有Pod安全策略的工作负载提交到集群?集成静态检查可以在更接近开发生命周期的时间内捕获错误和违反策略的行为。并且由于改善了资源定义
Easter79 Easter79
3年前
SpringBoot系列之@PropertySource读取yaml文件
SpringBoot系列之@PropertySource支持yaml文件读取最近在做实验,想通过@PropertySource注解读取配置文件的属性,进行映射,习惯上用properties都是测试没问题的,偶然换成yaml文件,发现都读取不到属性值因为yaml语法很简洁,比较喜欢写yaml配置文件,很显然,@PropertySource默认不支持ya
燕青 燕青
1年前
JSON编辑、擦卡工具:JSON Wizard for mac
是查看和编辑你的JSON最简单的方法,是Mac端的终极JSON工具。你只是想查看和编辑你的JSON文件?你想能够导入XML/YAML/PLIST/CSV文件吗?也许你想能够出口到所有这些格式?轻松的视觉编辑?或直接与源代码和生活语法检查?JSONWizar
浅谈Tox之一
tox是通用的virtualenv管理和测试命令行工具,可用于:1.使用不同的Python版本和解释器检查您的软件包是否正确安装2.在每个环境中运行测试,配置您选择的测试工具3.充当持续集成服务器的前端,大大减少了样板文件并合并了CI和基于shell的测试。