加入收藏 | 设为首页 | 会员中心 | 我要投稿 济源站长网 (https://www.0391zz.cn/)- 数据工具、数据仓库、行业智能、CDN、运营!
当前位置: 首页 > 云计算 > 正文

为啥需要 Kubernetes 准入控制器

发布时间:2022-06-15 13:06:10 所属栏目:云计算 来源:互联网
导读:Kubernetes 准入控制器是集群管理必要功能。这些控制器主要在后台工作,并且许多可以作为编译插件使用,它可以极大地提高部署的安全性。 准入控制器在 API 请求传递到 APIServer 之前拦截它们,并且可以禁止或修改它们。这适用于大多数类型的 Kubernetes 请
  Kubernetes 准入控制器是集群管理必要功能。这些控制器主要在后台工作,并且许多可以作为编译插件使用,它可以极大地提高部署的安全性。
 
  准入控制器在 API 请求传递到 APIServer 之前拦截它们,并且可以禁止或修改它们。这适用于大多数类型的 Kubernetes 请求。准入控制器在经过适当的身份验证和授权后处理请求。
 
  默认情况下启用了几个准入控制器,因为大多数正常的 Kubernetes 操作都依赖于它们。这些控制器中的大多数都包含一些 Kubernetes 源代码树,并被编译为插件。但是,也可以编写和部署第三方准入控制器。一些说明性示例将在稍后解决这个问题。
 
  从客户端应用程序(如 kubectl)接收标准 HTTP 请求。
  验证传入请求并应用授权策略。
  在成功的身份验证中,它能根据端点对象(Pod、Deployments、Namespace 等)和 http 动作(Create、Put、Get、Delete 等)执行操作。
  对 etcd 数据存储进行更改以保存数据。
  操作完成,它就向客户端发送响应。
 
  Kubernetes 具有多个内置准入控制器。一个简单的例子,DefaultIngressClass将默认入口类应用到还没有指定类的入口对象。同样,DefaultStorageClass将默认存储类应用到PersistentVolumeClaims还没有的存储类。必须启用此控制器以允许基于存储类的动态存储配置。
 
  准入控制器在维护安全性方面非常有帮助。例如,它们可以减轻对多租户集群的拒绝服务 (DoS) 攻击。考虑LimitRanger插件,顾名思义,它强制限制范围。限制范围以每个命名空间为基础定义资源消耗的强制范围。这可以防止租户耗尽彼此的资源。
 
  另一个问题是所谓的事件泛滥,集群被事件淹没,无法充分处理其他合法请求。对于EventRateLimit此类情况,控制器是一种强大的缓解工具。它的设计使其能够限制每个命名空间或每个用户的事件发生率。
 
  此外,还有两个重要的控制器允许开发人员将他们的准入插件作为 webhook 运行,以便在运行时进行配置。MutatingAdmissionWebhook使 webhook 能够修改提交的资源,通常用于强制执行自定义默认值。同时,ValidatingAdmissionWebhook控制器启用已注册的 webhook 来决定处于最终状态的 API 验证资源是继续通过还是被完全丢弃。

(编辑:济源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读