[CKS] K8S Admission Set Up

ops/2025/2/1 20:40:09/

最近准备花一周的时间准备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.ppmy.cn/ops/131525.html

相关文章

uniapp 下拉选择器picker

<picker mode"selector" :range"options" change"onPickerChange"> <div style"border: 1px solid #ccc;">选择品牌</div> </picker> let options reactive([选项1, 选项2, 选项3, 选项4]); const…

Python+Appium+Pytest+Allure自动化测试框架-代码篇

文章目录 自动化测试框架工程目录示例测试代码示例结果查看allurepytest编写pytest测试样例的规则pytest conftest.py向测试函数传参 appium启动appium服务代码端通过端口与appium服务通信对设备进行操作在pytest测试用例中调用appium 更多功能 PythonAppiumPytestAllure自动化…

基于SSM+微信小程序的订餐管理系统(点餐2)

&#x1f449;文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1、项目介绍 基于SSM微信小程序的订餐管理系统实现了管理员和用户。管理端实现了 首页、个人中心、用户管理、菜品分类管理、菜品信息管理、订单信息管理、配送信息管理、菜品评价管理、订单投诉管理、…

yelp数据集上识别潜在的热门商家

yelp数据集是研究B2C业态的一个很好的数据集&#xff0c;要识别潜在的热门商家是一个多维度的分析过程&#xff0c;涉及用户行为、商家特征和社区结构等多个因素。从yelp数据集里我们可以挖掘到下面信息有助于识别热门商家 用户评分和评论分析 评分均值: 商家的平均评分是反映其…

springBoot动态加载jar,将类注册到IOC

具体实现 Service public interface JarService {Boolean loadJarByName(LoadJarDTO dto); } impl: Service RequiredArgsConstructor Slf4j public class JarServiceImpl implements JarService {private final SpringContextUtil springContextUtil;Overridepublic Boolea…

仿微信项目-1-部署依赖、环境

为了避免 idea 给我们生成多余的文件&#xff0c;我们可以选择直接在文件夹中创建项目 第一步&#xff0c;创建项目文件夹 文件夹目录&#xff1a; wfChat-java: src: main: java: resources pom.xml 创建好文件夹目录后 我们将 pom.xml 的代码复制进去 <?xml versi…

多级物联网(IoT)基础异构无线传感器网络(HWSNs)中的节点角色选择与轮换方案以提高能效

英文标题&#xff1a;Node Role Selection and Rotation Scheme for Energy Efficiency in Multi-Level IoT-Based Heterogeneous Wireless Sensor Networks (HWSNs) 作者信息&#xff1a; Tamoor ShafiqueAbdel-Hamid SolimanAnas AmjadLorna UdenDebi Marie Roberts 以上作…

基于SpringBoot+微信小程序+协同过滤算法+二维码订单位置跟踪的农产品销售平台-新

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取项目下载方式&#x1f345; 一、项目背景介绍&#xff1a; “农产品商城”小程序…