K8S 准入控制器有哪些是默认的?
什么是准入控制插件?
准入控制器是一段代码,它会在请求通过认证和授权之后、对象被持久化之前拦截到达 API 服务器的请求。
准入控制器可以执行 “验证(Validating)” 和/或 “变更(Mutating)” 操作。 变更(mutating)控制器可以根据被其接受的请求修改相关对象;验证(validating)控制器则不行。
准入控制器限制创建、删除、修改对象或连接到代理的请求,不限制读取对象的请求。
为什么需要准入控制器?
Kubernetes 的许多高级功能都要求启用一个准入控制器,以便正确地支持该特性。 因此,没有正确配置准入控制器的 Kubernetes API 服务器是不完整的,它无法支持你期望的所有特性。
准入控制器的启用和关闭
Kubernetes API 服务器的 --enable-admission-plugins
和 --disable-admission-plugins 选项来分别启动和关闭相关。
各个准入控制器的作用可以参考这里。
K8S 默认开启的准入控制器
NamespaceLifecycle:该准入控制器禁止在一个正在被终止的 Namespace 中创建新对象,并确保 使用不存在的 Namespace 的请求被拒绝。 该准入控制器还会禁止删除三个系统保留的名字空间,即 default、 kube-system 和 kube-public。
LimitRanger:该准入控制器会观察传入的请求,并确保它不会违反 Namespace 中 LimitRange 对象枚举的任何约束。 如果你在 Kubernetes 部署中使用了 LimitRange 对象,则必须使用此准入控制器来 执行这些约束。 LimitRanger 还可以用于将默认资源请求应用到没有指定任何内容的 Pod; 当前,默认的 LimitRanger 对 default 名字空间中的所有 Pod 都应用了 0.1 CPU 的需求。
ServiceAccount:此准入控制器实现了 ServiceAccount 的自动化。 如果你打算使用 Kubernetes 的 ServiceAccount 对象,我们强烈建议你使用这个准入控制器。
TaintNodesByCondition:该准入控制器为新创建的节点添加
NotReady
和NoSchedule
污点。 这些污点能够避免一些竞态条件的发生,这类静态条件可能导致 Pod 在更新节点污点以准确 反映其所报告状况之前,就被调度到新节点上。PodSecurity:此准入控制器负责在创建和修改 Pod 时根据请求的安全上下文和 Pod 安全标准 来确定是否可以执行请求。
Priority:优先级准入控制器使用 priorityClassName 字段并用整型值填充优先级。 如果找不到优先级,则拒绝 Pod。更多细节可以参考《Pod 优先级和抢占》
DefaultTolerationSeconds:该准入控制器基于 k8s-apiserver 输入参数
default-not-ready-toleration-seconds
和default-unreachable-toleration-seconds
为 Pod 设置默认的容忍度,以容忍notready:NoExecute
和unreachable:NoExecute
污点。DefaultStorageClass:该准入控制器监测没有请求任何特定存储类的 PersistentVolumeClaim 对象的创建, 并自动向其添加默认存储类。 这样,没有任何特殊存储类需求的用户根本不需要关心它们,它们将获得默认存储类。
StorageObjectInUseProtection:将
kubernetes.io/pvc-protection
或kubernetes.io/pv-protection
finalizers 添加到新创建的持久化卷声明(PVC) 或持久化卷(PV)中。 如果用户尝试删除 PVC/PV,除非 PVC/PV 的保护控制器移除 finalizers,否则 PVC/PV 不会被删除。 有关更多详细信息,请参考 保护使用中的存储对象。PersistentVolumeClaimResize:该准入控制器检查传入的 PersistentVolumeClaim 调整大小请求,对其执行额外的验证操作。
RuntimeClass
CertificateApproval
CertificateSigning
CertificateSubjectRestriction
DefaultIngressClass
MutatingAdmissionWebhook
ValidatingAdmissionWebhook
ResourceQuota
版权声明: 本文为 InfoQ 作者【baiyutang】的原创文章。
原文链接:【http://xie.infoq.cn/article/e760a4eaf41d8b281f5e7cee2】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论