k8s--基础--23.4--认证-授权-准入控制--准入控制
Kubernetes的Admission Control实际上是一个准入控制器(Admission Controller)插件列表,发送到APIServer的请求都需要经过这个列表中的每个准入控制器插件的检查,如果某一个控制器插件准入失败,就准入失败。...
·
k8s–基础–23.4–认证-授权-准入控制–准入控制
1、介绍
Kubernetes的Admission Control实际上是一个准入控制器(Admission Controller)插件列表,发送到APIServer的请求都需要经过这个列表中的每个准入控制器插件的检查,如果某一个控制器插件准入失败,就准入失败。
2、控制器插件
2.1、AlwaysAdmit
允许所有请求通过
2.2、AlwaysPullImages
在启动容器之前总是去下载镜像,相当于每当容器启动前做一次用于是否有权使用该容器镜像的检查
2.3、AlwaysDeny
禁止所有请求通过,用于测试
2.4、DenyEscalatingExec
- 拒绝exec和attach命令到有升级特权的Pod的终端用户访问。
- 如果集群中包含升级特权的容器,而要限制终端用户在这些容器中执行命令的能力,推荐使用此插件
2.5、ImagePolicyWebhook
2.6、ServiceAccount
- 这个插件实现了serviceAccounts等等自动化
- 如果使用ServiceAccount对象,强烈推荐使用这个插件
2.7、SecurityContextDeny
- 将Pod定义中定义了的SecurityContext选项全部失效。
- SecurityContext包含在容器中定义了操作系统级别的安全选型如fsGroup,selinux等选项
2.8、ResourceQuota
- 用于namespace上的配额管理,它会观察进入的请求,确保在namespace上的配额不超标。
- 推荐将这个插件放到准入控制器列表的最后一个。
- 可以限制某个namespace中创建资源的数量
- 可以限制某个namespace中被Pod请求的资源总量
- ResourceQuota准入控制器和ResourceQuota资源对象一起可以实现资源配额管理。
2.9、LimitRanger
- 用于Pod和容器上的配额管理,它会观察进入的请求,确保Pod和容器上的配额不会超标。
- 准入控制器LimitRanger和资源对象LimitRange一起实现资源限制管理
2.10、NamespaceLifecycle
- 当一个请求是在一个不存在的namespace下创建资源对象时,该请求会被拒绝。
- 当删除一个namespace时,将会删除该namespace下的所有资源对象
2.11、DefaultStorageClass
2.12、DefaultTolerationSeconds
2.13、PodSecurityPolicy
3、官方推荐使用这些插件
- admission-control=NamespaceLifecycle
- LimitRanger
- ServiceAccount
- PersistentVolumeLabel
- DefaultStorageClass
- ResourceQuota
- DefaultTolerationSeconds
更多推荐
已为社区贡献55条内容
所有评论(0)