kubernetes安全机制--Admission Control 准入控制

引言

当请求通过了前面的认证和授权之后,还需要经过准入控制处理通过之后,apiserver 才会处理这个请求。Admission Control 有一个准入控制列表,我们可以通过命令行设置选择执行哪几个准入控制器。只有所有的准入控制器都检查通过之后,apiserver 才执行该请求,否则返回拒绝。

为什么需要Admission Control

在kubernetes中,一些高级特性正常运行的前提条件为,将一些准入模块处于enable状态。总结下,对于kubernetes apiserver,如果不适当的配置准入控制模块,他就不能称作是一个完整的server,某些功能也不会正常的生效。

主要的准入控制器介绍

AlwaysAdmit

允许所有请求

AlwaysDeny

拒绝所有请求

AlwaysPullImages

强制设置Pod拉取镜像策略为Always。这样能够保证私有镜像只能被有拉取权限的使用者使用。

DenyExecOnPrivileged

它会拦截所有想在privileged container上执行命令的请求。(如果自己的集群支持privileged container,自己又希望限制用户在这些privileged container上执行命令,那么强烈推荐使用它。)

DenyEscalatingExec

这个插件禁止那些通过主机执行而获得privileges去执行exec和attach Pod的命令。

ImagePolicyWebhook

通过webhook决定image策略,需要同时配置–admission-control-config-file

ServiceAccount

一个serviceAccount为运行在pod内的进程添加了相应的认证信息。当准入模块中开启了此插件(默认开启),如果pod没有serviceAccount属性,将这个pod的serviceAccount属性设为“default”;确保pod使用的serviceAccount始终存在;如果LimitSecretReferences 设置为true,当这个pod引用了Secret对象却没引用ServiceAccount对象,弃置这个pod;如果这个pod没有包含任何ImagePullSecrets,则serviceAccount的ImagePullSecrets被添加给这个pod;如果MountServiceAccountToken为true,则将pod中的container添加一个VolumeMount 。

ResourceQuota

它会观察所有的请求,确保在namespace中ResourceQuota对象处列举的container没有任何异常。如果在kubernetes中使用了ResourceQuota对象,就必须使用这个插件来约束container。(推荐在admission control参数列表中,这个插件排最后一个。)

LimitRanger

实现配额控制。他会观察所有的请求,确保没有违反已经定义好的约束条件,这些条件定义在namespace中LimitRange对象中。如果在kubernetes中使用LimitRange对象,则必须使用这个插件。

SecurityContextDeny

禁止创建设置了 Security Context 的 pod。这个插件将会将使用了 SecurityContext的pod中定义的选项全部失效。关于 SecurityContext的描述:SecurityContext 在container中定义了操作系统级别的安全设定(uid, gid, capabilities, SELinux等等)。

NamespaceLifecycle

确保处于termination状态的namespace不再接收新的对象创建请求,并拒绝请求不存在的namespace。

InitialResources

根据镜像的历史使用记录,为容器设置默认资源请求和限制

DefaultStorageClass

为PVC设置默认StorageClass

DefaultTolerationSeconds

设置Pod的默认forgiveness toleration为5分钟

PodSecurityPolicy

使用Pod Security Policies时必须开启

NodeRestriction

限制kubelet仅可访问node、endpoint、pod、service以及secret、configmap、PV和PVC等相关的资源(v1.7版本以上才支持)

推荐的设置控制器顺序:
--admission-control=NamespaceLifecycle,LimitRanger,ServiceAccount,PersistentVolumeLabel,DefaultStorageClass,ResourceQuota,DefaultTolerationSeconds
参考链接

Admission Controllers

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ingress-nginx-admission-patch的CrashLoopBackOff状态指的是该POD在启动后不断重启,并且无法正常运行。这可能是由于以下几种原因引起的。 首先,可能是镜像下载失败导致的。在引用和引用中可以看到,POD的状态为ImagePullBackOff,这表示POD无法下载所需的镜像。可以尝试查看镜像仓库是否可用,网络是否正常,以及POD是否能够访问镜像仓库。 其次,可能是容器配置错误引起的。请检查ingress-nginx-admission-patch的日志,查看是否有任何错误信息。常见的问题包括容器所需的环境变量未正确设置、容器所需的卷未正确挂载等。可以尝试更新容器的配置,确保所有依赖项都正确设置。 最后,可能是资源不足导致的。如果节点上的资源(如CPU、内存)不足以支持POD的正常运行,也会导致CrashLoopBackOff状态。可以检查节点的资源使用情况,并尝试重新分配资源或调整资源限制。 综上所述,要解决ingress-nginx-admission-patch的CrashLoopBackOff问题,需要检查镜像下载是否成功、容器配置是否正确以及节点资源是否足够。根据具体情况进行相应的调整和修复。123 #### 引用[.reference_title] - *1* [hualinux 进阶 1.20:反向代理ngress及ingress-nginx安装](https://blog.csdn.net/hualinux/article/details/107642281)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] - *2* [ingress-nginx部署状态为CrashLoopBackOff 问题排查](https://blog.csdn.net/tongzidane/article/details/119716274)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] - *3* [ingress-nginx控制器安装](https://blog.csdn.net/zhangzhaokun/article/details/131572345)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值