检查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的工作流程:

  • 工作流程图

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

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

本文由mdnice多平台发布


逼格高的汤圆
7 声望2 粉丝