k8s学习-CKS真题-ImagePolicyWebhook容器镜像扫描

2023-11-07


题目

Context
cluster上设置了容器镜像扫描器,但尚未完全集成到 cluster 的配置中。
完成后,容器镜像扫描器应扫描并拒绝易受攻击的镜像的使用。
Task
注意:你必须在 cluster 的 master 节点上完成整个考题,所有服务和文件都已被准备好并放置在该节点上。
给定一个目录 /etc/kubernetes/epconfig 中不完整的配置,
以及具有 HTTPS 端点 https://image-bouncer-webhook.default.svc:1323/image_policy 的功能性容器镜像扫描器:
1. 启用必要的插件来创建镜像策略
2. 校验控制配置并将其更改为隐式拒绝(implicit deny)
3. 编辑配置以正确指向提供的 HTTPS 端点
最后,通过尝试部署易受攻击的资源 /cks/img/web1.yaml 来测试配置是否有效。

环境搭建

imagePolicyWebhook搭建

假设已有服务器
不完整的准入配置文件
命令

mkdir -p /etc/kubernetes/epconfig
vim /etc/kubernetes/epconfig/admission_configuration.json

文件内容如下:

{
  "imagePolicy": {
     "kubeConfigFile": "/etc/kubernetes/kube-image-bouncer.yml",
     "allowTTL": 50,
     "denyTTL": 50,
     "retryBackoff": 500,
     "defaultAllow": true
  }
}

命令

vim /etc/kubernetes/epconfig/kubeconfig.yaml

文件内容如下:

apiVersion: v1
kind: Config

# clusters refers to the remote service.
clusters:
- cluster:
    certificate-authority: /etc/kubernetes/epconfig/external-cert.pem  # CA for verifying the remote service.
    server: server  # URL of remote service to query. Must use 'https'.
  name: image-checker

contexts:
- context:
    cluster: image-checker
    user: api-server
  name: image-checker
current-context: image-checker
preferences: {}

# users refers to the API server's webhook configuration.
users:
- name: api-server
  user:
    client-certificate: /etc/kubernetes/epconfig/apiserver-client-cert.pem     # cert for the webhook admission controller to use
    client-key:  /etc/kubernetes/epconfig/apiserver-client-key.pem             # key matching the cert

测试验证文件
命令

mkdir -p /cks/img/
vim /cks/img/web1.yaml

文件内容如下:

apiVersion: v1
kind: ReplicationController
metadata:
  name: nginx-latest
spec:
  replicas: 1
  selector:
    app: nginx-latest
  template:
    metadata:
      name: nginx-latest
      labels:
        app: nginx-latest
    spec:
      containers:
      - name: nginx-latest
        image: nginx
        ports:
        - containerPort: 80

解题

做题的时候按照以下顺序

任务二

修改准入配置文件
命令

vim /etc/kubernetes/epconfig/adminssion_configuration.json

把defaultAllow由true改为false

defaultAllow: false

在这里插入图片描述

任务三

修改kube配置文件
命令

vim /etc/kubernetes/epconfig/kubeconfig.yaml

在cluster下添加server

server: https://image-bouncer-webhook.default.svc:1323/image_policy

在这里插入图片描述

任务一

修改api-server配置文件
命令

vim /etc/kubernetes/manifests/kube-apiserver.yaml

启用ImagePolicyWebhook插件,确认–admission-control-config-file选项已有配置文件并挂载

--enable-admission-plugins=NodeRestriction,ImagePolicyWebhook
--admission-control-config-file=/etc/kubernetes/epconfig/adminssion_configuration.json

在这里插入图片描述
考试时应该已经挂载,可以检查一下,没有自行添加
重启kubelet

systemctl daemon-reload
systemctl restart kubelet

在这里插入图片描述

检查

命令

kubectl create -f /cks/img/web1.yaml
kubectl describe rc nginx-latest

截图
在这里插入图片描述
可以看到被拒绝

模拟考题

在这里插入图片描述

参考

k8s-准入控制器
k8s-imagepolicywebhook
快速了解Kubernetes中的ImagePolicyWebhook
github-kube-image-bouncer
kubernetes-image-policy-webhook-explained
k8s-kube-apiserver

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

k8s学习-CKS真题-ImagePolicyWebhook容器镜像扫描 的相关文章

随机推荐

  • 计算机二级高级应用教材,全国计算机等级考试教程 二级MS Office高级应用(教材)...

    全国计算机等级考试教程 二级MS Office高级应用 教材 依据教育部考试中心新颁布的全国计算机等级考试二级MS Office高级应用的考试大纲进行编写 全国计算机等级考试教程 二级MS Office高级应用 教材 以考点为主线 以 理论
  • Citesapace作图结果部分——文章整体思路简单分析

    Citespace相关论文 除了引言部分 一般从第二部分开始结合citespace作图软件进行分析 以下做一个该部分简要的概括 2 Materials and Methods 数据检索部分一般分为两部分 2 1 Data Collectio
  • 解决Python中的循环引用和内存泄漏问题

    在Python编程中 循环引用和内存泄漏是两个常见的问题 本文将详细介绍如何识别和解决这些问题 并提供详细的代码示例 1 什么是循环引用 循环引用是指两个或多个对象之间相互引用的情况 这种情况可能导致内存泄漏 因为Python的垃圾回收机制
  • 数据治理体系建设

    01 数据治理建设路径 1 业务数字化的目的是打造一体化的业务流 信息流与数据流 从企业整体经营管理的角度 战略制定及分解 领域业务目标制定 业务方案设计 业务需求识别 信息系统功能及数据库设计 数据汇聚及分析 业务目标监测及改善 这个过程
  • 图片在网页能打开,小程序上不显示的解决方法

    这种情况可能是图片被小程序自动加上了防盗链 导致显示不出来 解决方案 1 在img标签是上加属性 referrerPolicy no referrer
  • 使用VS Code打造Python编程与Markdown写作利器,打破知乎、WordPress和微信公众号的壁垒

    目录 1 前言 2 安装与环境搭建 2 1 VS Code安装 2 2 VS Code常用快捷键 2 3 打造Python编辑器 2 4 打造Markdown编辑器 3 一些技巧 3 1 更舒适的Python编程环境 3 2 Markdow
  • oracle数据库中选择桌面类和服务器类的区别

    在以前的学习过程中 一直用到的都是sql server数据库 之后接触到了oracle数据库 在安装过程中 有两个选项 桌面类和服务器类 当时按照网上的安装步骤 选择了桌面类 后来公司里他们安装都是用的服务器类 后来查了查两者的区别 桌面类
  • 【MyBatis】resultMap和resultType的区别

    mybatis中resultMap和resultType的区别 mybatis中在查询进行select映射的时候 返回类型可以用resultType 也可以用resultMap resultType是直接表示返回类型的 而resultMap
  • 使用jira的sprint面板进行敏捷开发——scrum master笔记(待完善)

    一 jira中sprint面板的创建 这个很简单 键入jira后 顶栏处找 面板 查看全部面板 此时页面右上侧有 创建面板 的按钮 点击 选择 创建一个Scrum面板 根据提示填信息到完成即可 二 jira中sprint面板的配置 点击进入
  • 如何清除win7系统中的开机密码

    设置系统的开机密码是很正常的事情 当然 忘记开机密码也是常有的事情 下面的方法是通过PE盘清除win7的卡机密码 首先 看一下我的电脑是有密码的 有密码的机器 二 PE盘的准备 我用的pe是we 这是我用过的最良心的PE环境 关于PE的安装
  • java查找算法:二分查找(两种方式)

    二分查找算法思想 二分查找针对的是一个有序的数据集合也就是数组 这也成为了二分查找的一个重要局限性 查找思想有点类似分治思想 每次都通过跟区间的中间元素对比 将待查找的区间缩小为之前的一半 直到找到要查找的元素 或者区间被缩小为0 一 返回
  • Cocos Creator 3D 梦想再起航!

    在 Cocos 不算长的生命历程中 我们曾多次尝试给开发者带来 3D 游戏的开发能力 2014 年 我们的 3D 团队开辟了 Cocos2d x 对 3D 的支持 至今已孵化出莉莉丝的 剑与家园 腾讯的 乱世王者 这样的超级大作 同时 Co
  • Skywalking web页面空白问题解决

    问题描述 今天微服务报错想用链路id追踪这个服务的流向 发现skywalking页面空白 查看后台进程发现skywalking oap server服务掉了 重启还是不行 tail n500 skywalking oap server lo
  • Python实现飞机大战游戏(后附完整代码文件和素材)

    前言 自学Python的记录 不喜勿喷 本程序的代码是以B站黑马程序员的视频代码为基础 个人加以总结思考 写就的博文 纯属记录自己的学习历程 当初想到要用Python的pygame模块开发飞机大战游戏的时候 顿时就兴奋了 毕竟学以致用是最好
  • 网络自动化运维(NetDevOps)创作者推荐

    前言 随着NetDevOps技术登上了历史舞台 越来越多的从业者开始利用NetDevOps简化网络的运维 并进行了技术分享 将蛋糕越做越大 在这里 仅代表个人对这些无私奉献的网络 运维工程师们表达由衷的敬意 此外 我也想向大家推荐一些我认识
  • 【Java】POJO

    POJO Plain Ordinary Java Object 简单的Java对象 通指没有使用Entity Beans的普通java对象 可以把POJO作为支持业务逻辑的协助类 POJO实质上可理解为简单的实体类 顾名思义 POJO类的作
  • 深夜更新,C语言笔记整理

    C 语言笔记整理 C语言一经出现就以其功能丰富 表达能力强 灵活方便 应用面广等特点迅速在全世界普及和推广 C语言不但执行效率高而且可移植性好 可以用来开发应用软件 驱动 操作系统等 C语言也是其它众多高级语言的鼻祖语言 所以说学习C语言是
  • GLFW初体验

    GLFW初体验 GLFW 很遗憾 没有找到FW的确切含义 Wiki上没有 GLFW主页也没有 猜测F表示for W表示Window GLFW是干啥用的 一个轻量级的 开源的 跨平台的library 支持OpenGL及OpenGL ES 用来
  • Tengine/nginx配置https/ssl/443端口健康检查

    这里列出 nginx upstream check module 模块所支持的指令意思 Syntax check interval milliseconds fall count rise count timeout millisecond
  • k8s学习-CKS真题-ImagePolicyWebhook容器镜像扫描

    目录 题目 环境搭建 imagePolicyWebhook搭建 解题 任务二 任务三 任务一 检查 模拟考题 参考 题目 Context cluster上设置了容器镜像扫描器 但尚未完全集成到 cluster 的配置中 完成后 容器镜像扫描