[CKS] K8S Admission Set Up

最近准备花一周的时间准备CKS考试,在准备考试中发现有一个题目关于Admission。

What's Admission

Kubernetes Admission是Kubernetes集群中一种机制,用于控制和修改集群中的资源对象。它允许您在Kubernetes资源被创建、更新或删除之前,对资源做出预处理或修改。

Admission控制器运行在Kubernetes API服务器上,拦截所有传入的请求,并根据定义的策略对资源进行审查和修改。它可以用来实现各种强制策略,例如强制应用标准命名约定、强制资源配额或限制、自动注入辅助容器等。

Admission控制器可以使用多种方式实现,包括ValidatingAdmissionWebhook和MutatingAdmissionWebhook。ValidatingAdmissionWebhook用于对资源做出审查,例如校验资源的名称和标签是否符合规范。MutatingAdmissionWebhook则可以对资源进行修改,例如自动注入辅助容器。

通过使用Admission控制器,您可以增强Kubernetes的安全性、可靠性和一致性,并根据自己的需求对资源对象进行自定义处理。

Question 1

1. The cluster needs to be configured to scan incoming container images before running workloads. An image scanning service is already set up.

Modify the admission control configuration so that it will implicitly deny images, even if the image scanning service is unreachable. The global admission control configuration is at /etc/kubernetes/admission-control/admission-control.conf, and the specific configuration for the admission controller is at /etc/kubernetes/admission-control/imagepolicy.conf.

这段话的意思是需要对集群进行配置,以便在运行工作负载之前扫描传入的容器镜像。已经设置好了一个镜像扫描服务。要修改准入控制配置,使其在无法访问镜像扫描服务的情况下隐式拒绝镜像。全局准入控制配置位于/etc/kubernetes/admission-control/admission-control.conf,而准入控制器的具体配置位于/etc/kubernetes/admission-control/imagepolicy.conf。

Practice

1. 首先利用ssh切换到你的master节点上去

ssh k8s-control

2. 在k8s-control中根据提供的imagepolicy.conf所在位置进行编辑设置以下内容:

"defaultAllow": false

Question 2

Add the URL of the image scanning service to the kubeconfig used by the admission controller.

The service can be reached at https://acg.trivy.k8s.webhook:8090/scan

这句话的意思是将image扫描服务的URL添加到由准入控制器使用的kubeconfig中。该服务可以通过https://acg.trivy.k8s.webhook:8090/scan访问。

Practice

在提供的imagepolicy.conf文件你会发现有以下的一段:

      "kubeConfigFile": "/etc/kubernetes/admission-control/imagepolicy_backend.kubeconfig",

/etc/kubernetes/admission-control/imagepolicy_backend.kubeconfig这就是你的kubeconfig文件

你需要咋里面修改以下内容

server: https://acg.trivy.k8s.webhook:8090/scan

Question 3

In the kube-apiserver manifest, enable any admission control plugin(s) necessary to scan images.

There are two Pod manifests in /home/cloud_user on the CLI server. If your setup is working, no-vulns-pod.yml should pass image validation, while vulns-pod.yml should fail due to vulnerabilities.

这段话的意思是,在kube-apiserver的配置文件中启用任何必要的准入控制插件来扫描镜像。

在CLI服务器的/home/cloud_user目录中有两个Pod 文件。如果您的设置正常工作,no-vulns-pod.yml应该通过镜像验证,而vulns-pod.yml应该由于存在漏洞而失败。

Practice

在这里就是需要将ImagePolicyWebhook给应用到kube-apiserver中

我们需要在/etc/kubernetes/manifests/kube-apiserver.yaml文件中修改如下内容:

--enable-admissions-plugins=NodeRestriction,ImagePolicyWebhook

 验证

这里给我们在worker节点中提供了两个pod yml文件进行验证,我们可以利用kubectl create -f 来验证这两个pod,vulns-pod.yml将不会创建成功,no-vulns-pod.yml会创建成功

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/465405.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Centos开机自启动脚本示例

本文建议创建一个sh文件管理自启动的各项内容,再将sh文件设置开机启动 在/root/autoshell下创建一个autostart.sh,内容如下 #!/bin/bash # description:开机自启脚本# 启动mongodb sh /root/software/mongodb-linux-x86_64-rhel70-4.0.6/bin/mongod --c…

查看网路信息-ifconfig命令

1.ifconfig缺点: 可以查看接口的网络类型;部分IP和掩码以及状态是否插线,看不到接口下的网关,DNS, 要想看到接口下多个IP,使用 ip addr show 命令 要想看网关,使用 ip route show 命令、route -n 命令 显示路由表内容,route -n 命令 route -n命令主要用于手动配置静态…

buu PWN5

在做这道题目之前,我们先来了解一下什么是字符串格式化漏洞,格式化字符串函数就是将计算机 内存中表示的数据转化为我们人类可读的字符串格式,下面记几个有用的 %d十进制 输出十进制整数 %s 从内存中读取字符串 %p 指针地址 %n 到目前…

[Android]从FLAG_SECURE禁止截屏看surface

在应用中,设置activity的flag为FLAG_SECURE就可以禁止截屏,截屏出来是黑色的, 试验一下, 注意事项 影响: 设置 FLAG_SECURE 标志后,用户将无法对该Activity进行截屏或录制屏幕。这个标志会影响所有屏幕录…

【FL0013】基于SpringBoot和微信小程序的机电公司管理信息系统

🧑‍💻博主介绍🧑‍💻 全网粉丝10W,CSDN全栈领域优质创作者,博客之星、掘金/知乎/b站/华为云/阿里云等平台优质作者、专注于Java、小程序/APP、python、大数据等技术领域和毕业项目实战,以及程序定制化开发…

[渲染层网络层错误] net::ERR_CONTENT_LENGTH_MISMATCH 问题解决

问题描述 问题背景 微信小程序访问后端img资源的时候,偶尔出现这个感叹号,图片加载不出来,但是对应的url贴出来在浏览器中访问,或者重新加载是可以访问的。 错误描述 经查询前端报错 [渲染层网络层错误] net::ERR_CONTENT_LE…

【C++】踏上C++学习之旅(五):auto、范围for以及nullptr的精彩时刻(C++11)

文章目录 前言1. auto关键字(C11)1.1 为什么要有auto关键字1.2 auto关键字的使用方式1.3 auto的使用细则1.4 auto不能推导的场景 2. 基于范围的for循环(C11)2.1 范围for的语法2.2 范围for的使用条件 3. 指针空值nullptr&#xff0…

springboot2.x使用SSE方式代理或者转发其他流式接口

文章目录 1.需求描述2.代码2.1.示例controller2.2.示例service2.3.示例impl 3.测试 1.需求描述 使用SSE的方式主要还是要跟前端建立一个EventSource的链接,有了这个连接,然后往通道里写入数据流,前端自然会拿到流式数据,写啥拿啥…

“高效开发之路:用Spring MVC构建健壮的企业级应用”

一、SpringMVC框架概念: (一)概述 SpringMVC是Spring框架的一个模块,Spring和SpringMVC无需中间整合层整合。该模块是一个基于MVC的web框架。 作用:只要需要前后端通信,就需要springMVC帮我完成&#xff…

论文阅读笔记:Activating More Pixels in Image Super-Resolution Transformer

论文阅读笔记:Activating More Pixels in Image Super-Resolution Transformer 1 背景1.1 问题1.2 提出的方法 2 创新点3 方法4 模块4.1 混合注意力模块(HAB)4.2 重叠交叉注意力模块(OCAB)4.3 同任务预训练 5 效果5.1 …

制作gif动图并穿插到CSDN文章中

一、下载LICEcap软件 安装包放在文章末尾 二、双击运行 会出现一个透明框,可以通过左下角的Size来修改画布大小,也可以直接拖动来调整 把透明框拖至自己想放置的位置 点击record进行录制,点击stop暂停,录制完成后给自己的gif图…

新160个crackme - 093-kesan

运行分析 需破解用户名和注册码 PE分析 Delphi程序,32位,无壳 静态分析&动态调试 ida找不到字符串,根据Delphi程序逻辑,双击进入cls_Unit1_TForm1查找 向下翻找后发现4个事件,逐个分析 动调_TForm1_Edit1Change函数…

自己开发得期货资管模拟软件演示1.0.15版仅供学习

期货资管模拟软件演示1.0.15版仅供学习——C技术栈知识分享 本文将以期货资管模拟软件演示1.0.15版为例,分享其基于C技术栈的框架知识。 一、C技术栈在期货交易软件开发中的应用 C作为一种高性能的编程语言,以其强大的内存管理能力和高效的执行速度&a…

详解:字符串常量池

字符串常量池是Java运行时环境(JRE)的一部分,它用于存储字符串字面量。字符串字面量是源代码中直接用双引号括起来的字符串,例如"hello"。在Java中,字符串是不可变的,这意味着一旦创建了一个字符…

三次样条插值算法及推导过程

目录 1、定义 2、已知条件求解 3、具体推导 4、matlab案例 5、案例结果 6、matlab仿真 1、定义 给定 n 1 n1 n1个数据点,共有 n n n个区间,三次样条方程 S ( n ) S(n) S(n)满足以下条件:在每个分段区间内 ( x i , x i 1 ) (x_i,x_{i1}) (…

[数据结构从小白到大牛]第五篇:3分钟带你吃透双链表并用C语言模拟实现

目录 1->前言 2->链表的概念和结构 2.1链表概念 2.2->带头双向循环链表结构 3->模拟实现带头双向循环链表 3.1定义链表结点 struct ListNode 3.2创建链表结点 CreateLTNode 函数 3.3链表初始化函数 ListInit函数 3.4链表打印函数 ListPrint函数 3.5链表…

Rancher的安装

1. 概览 1.1 用户界面优势 Rancher 提供了一个直观的图形用户界面(GUI)。对于不熟悉 Kubernetes 复杂的命令行操作(如使用kubectl)的用户来说,通过 Rancher 的界面可以方便地进行资源管理。例如,用户可以在…

【办公类-04-04】华为助手导出照片视频分类(根据图片、视频的文件名日期导入“年-月-日”文件夹中,并转移到“年-月”文件中整理、转移到“年”文件夹中整理)

背景需求 最近带班,没有时间整理照片,偶尔导一次,几个月的照片。发现用电脑版“华为手机助手“中的WLAN连接”与华为手机的“华为手机助手”连接,速度更快、更稳定,不会出现数据线连接时碰碰就断网的问题 1、先打开电…

CDGP|企业数据治理流程全解析

在当今信息化时代,数据已成为企业最重要的资产之一。为了充分发挥数据的价值,企业需要对数据进行全面、系统的治理。企业数据治理流程是一套确保数据质量、安全性和合规性的规范化流程,涵盖了从数据采集到销毁的全过程。本文将详细介绍一般企…