陈奇网络工作室

Kubernetes安全的三个步骤:如何监视和控制Kubernetes资源消耗问题

云计算

本文是关于Kubernetes安全系列的三篇文章中的最后一篇。 第一篇文章分享了如何保护企业Kubernetes集群不受外部影响***; 第二篇文章介绍了保护Kubernetes免受内部威胁的三种方法。 本文介绍了如何处理资源消耗和noisy neighbor问题。

对于安装多租户Kubernetes群集的群集管理员,如何避免公共租户成为“无租户”,即独占CPU、内存、存储和其他资源Noisy neighbor会对共享基础设施的其他用户资源的性能产生非常负面的影响。

因此,跟踪Kubernetes容器和Pod的资源使用情况对集群管理非常重要,因为它不仅可以使容器组织系统保持最佳状态,降低运输成本,而且可以增强Kubernetes的整体安全状况。

一些运输车队可能不认为资源消耗是一个重要的安全问题。 至少没有保护Kubernetes免受内部和外部网络的影响***很重要。 但是,这种想法是不正确的。 因为厉害的***会利用功能不良的基础设施,找到***Kubernetes组件的方法。

“安全不仅仅是‘不入侵我家’。 Rancher Labs资深解决方案架构师Adrian Goins说:“我如何才能让我的家始终保持良好的状态?”

运输团队充分利用Kubernetes Pods消耗的资源,这是一组具有共享存储和网络资源的一个或多个容器,用于确保所有用户都能监视成本分配的最佳性能和使用情况“使用和成本一样,”Goins说。 “Kubernetes的所有资源都运行在云提供商的底层计算基础架构(如AWS、谷歌云和阿里巴巴云)上,因此所有资源消耗都是黄金即使集群在数据中心的裸机上运行,过度使用也需要硬件、电力和其他资源。 ”

缺省情况下,配置容器时对可用资源量没有限制。 如果集装箱无法有效运作,部署集装箱的组织将支付超额费用。 幸运的是,Kubernetes提供了一些功能,可以帮助运输团队管理和优化Kubernetes的资源利用能力。

在Pods上管理资源

管理员定义Pod时,可以选择并指定每个容器所需的CPU和内存( RAM )数量。 容器指定资源请求后,调度程序可以更好地确定将放置Pod的节点。 根据Kubernetes文档,如果为容器指定了限制,则可以按指定的方式处理节点上的资源冲突。

缺省情况下,Kubernetes群集中的所有资源都是使用缺省命名空间创建的。 命名空间是一种对群集资源进行逻辑分组的方法,包括指定资源配额的选项。

管理员可以在命名空间中设置资源限制或配额,以便将CPU、RAM或存储——Kubernetes群集中的三个资源分配给在命名空间中运行的工作负载或APP应用程序。 Goins指出:“如果在命名空间中启动其他资源,则超过默认配额后,新资源将无法启动。”

? “应用资源配额后,在该命名空间中运行的所有内容都将为自己设置资源限制。 Goins解释说:“有两种类型的限制:保留和最大限制。” 例如,保留允许Kubernetes群集为WordPress站点分配128 MB的RAM。 对于部署的每个WordPress Pod,服务器本身可以保证128 MB的RAM。 因此,如果管理员将资源请求与1GB资源配额组合在一起,则用户在超出限制之前只能运行8个WordPress Pod。 之后,他们就不能使用RAM了。

资源限制的第二部分是最大限度的。 管理员可以保留128 MB的资源请求和最多256 MB的RAM。 “如果Pod超过256 MB的RAM使用量,Kubernetes就会将其杀死并重新启动,”Goins说。 “通过这种方式,用户可以免受失控过程和noisy neighbor的影响。 ”

项目和资源的分配

像Rancher这样的平台旨在通过提供直观的界面和集中管理任务(如全局层角色描述)来简化Kubernetes的管理。

正如以前的内部威胁防护文章中所述,Rancher包含用于减轻群集管理超出命名空间的负担的项目资源。 在Rancher中,Project允许管理员将多个命名空间作为单个实体进行管理。 因此,Rancher可以将资源配额应用于项目。

在标准Kubernetes部署中,资源配额只能应用于单独的命名空间。 但是,管理员不能在一次操作中对命名空间应用配额。 资源配额必须操作多次。

但是,Rancher允许管理员将资源配额应用于Project,并将配额传播到每个命名空间。 然后,Kubernetes将使用本地版本的资源配额来应用管理员限制。 如果管理员想更改特定命名空间的配额,可以复盖以前的配额。

Kubernetes的增强和优化

确实,Kubernetes已成为容器组织的标准,大多数云和虚拟化供应商都将其作为标准基础架构提供。 但是,公众对与Kubernetes环境相关的安全问题缺乏了解,各种组件可能会暴露在来自网络群集内部和外部的***中。

本系列文章的前两篇文章介绍了如何使用Kubernetes功能和容器管理解决方案(如Rancher )来增强Kubernetes抵御外部和内部网络威胁的能力。 企业需要通过基于角色的访问控制( RBAC )和强身份验证来保护Kubernetes API访问不受外部影响。 对于内部员工保护,由于Kubernetes群集是多用户的,因此组织必须通过RBAC、逻辑隔离和网络策略来保护交叉通信。

为了避免其他租户独占CPU、内存、存储和其他资源而降低群集的整体性能,Kubernetes提供了资源限制和配额等功能,运输团队可以管理Kubernetes的资源使用功能最后,除了可用的缺省设置外,业界还有一些非常有效的工具可以帮助您管理和保护Kubernetes群集。 例如,Rancher这样的平台是为在生产环境中部署多个群集的组织构建的高度优化的容器管理解决方案,使企业用户能够更轻松地管理和运行各地的Kubernetes。 保护Kubernetes集群免受外部***威胁、内部危险甚至noisy neighbor的影响。

详情请访问云服务器、域名注册、虚拟主机的问题,请访问西部数码代理商官方网站: www.chenqinet.cn

相关推荐

后台-系统设置-扩展变量-手机广告位-内容页底部广告位3