驱动的自动定量容器是什么?
你是否使用AWS的,这样的管理Kubernetes服务GCP GKE或Azure部,或自我管理的DIY集群部署开源工具如散步流言和Kubespray,底层硬件可以不同容器的容器。每个容器需要特定的资源(CPU /内存/ GPU /网络/磁盘),雷竞技rabet官网只要底层基础设施可以提供这些资源,容器将能够执行其业务逻辑。
在实践中,当安排集装箱,Kubernetes验证他们的需求得到满足,但它没有考虑大小、类型或实例运行在容器的价格,只是有足够的。通常,用户获得的基础设施,以确保应用程序保持运行,但这将导致巨大的云浪费和不必要的开支。
容器驱动自动定量是一个方法,旨在减少获得,使高性能给容器尽可能优化的基础设施,根据指定的需求和限制在应用程序级。容器和pod特征像标签一样,越来越难以和纵容定义的实例匹配。
选择正确的机器类型的重要性
等集装箱编配平台Kubernetes要求用户处理底层基础设施的扩展(e。g添加/移除节点的集群)以及workload-level吊舱。Kubernetes的确提供了pod扩展服务添加和删除容器(水平舱自动定量)和修改资源为特定的容器(垂直吊舱自动定量),但没有本地基础设施扩展或管理功能。雷竞技rabet官网
Kubernetes集群的管理基础设施是一项具有挑战性的任务,通常需要支持多个机器的类型与不同的硬件特性,以满足应用程序的需求。最终有效地做到这一点,用户管理多个节点组,每个支持一台机器类型(或多种类型相似的硬件能力)。每个应用程序都有自己的需求例如形状和尺寸、节点组数量的增加,那么大量的基础设施资源的浪费。雷竞技rabet官网
阅读更多的挑战和探索如何选择正确的机器类型的例子可能会导致以下显著降低成本博客。
海洋是如何工作的呢?
海洋,现货NetApp serverless基础设施的引擎,将容器驱动扩展方法,允许用户支持无限数量的机器类型和大小在一个节点组。这大大简化了基础设施管理和结果在大幅降低成本。通过监测事件集装箱层面,海洋可以自动匹配合适的大小和类型的基础设施来满足应用程序的需求,以尽可能低的成本。
在本文中,我们将介绍如何通过现场实现海洋集装箱驱动自动定量基础设施。
海洋与Kubernetes集群使用一个集成控制器,它与Kubernetes API一端,和海洋SaaS的后端。
控制器获取Kubernetes资源部署在集群的元数据(例如豆荚、节点部署,DaemonSets,工作,Sta雷竞技rabet官网tefulSets, PersistentVolumes, PersistentVolumeClaims,等)并将其发送给海洋SaaS。海洋SaaS分析实时负载需求,使智能决定规模集群上和/或下。
事实上,海洋不断自动定量模拟Kubernetes调度器行动和将采取相应的行动来满足所有Kubernetes资源需求。雷竞技rabet官网
海洋认为Kubernetes配置如下:
- 雷竞技rabet官网资源请求(CPU、内存和GPU)
- nodeSelectors
- 需要亲和力& anti-affinity规则
- 污染和纵容
- 著名的标签,注释和污染
- 现货专有标签和污染
- cluster-autoscaler.kubernetes。io / safe-to-evict:错误的标签
- 圆荚体破坏预算
- PersistentVolumes & PersistentVolumeClaims
- 圆荚体拓扑约束传播
按比例增加
当需要时,海洋将决定增加集群工作节点容量将新节点添加到集群中。
扩大事件主要有两个原因:
- 等待豆荚Kubernetes调度程序不能在现有的节点
- 失踪的headroom
扩大的过程
- 控制器Pod发送等待舱/ s元数据就出现在集群级别。
- 每分钟,海洋决定是否有等待豆荚和检查空间,以确保它在理想的状态。
- 海洋SaaS将:
- 分析所需的资源:雷竞技rabet官网对于每一个悬而未决的豆荚,验证请求的资源及其定义的约束。雷竞技rabet官网接下来,确定相关的虚拟节点组(VNG)能够适应pod(支持节点的标签,会损害/纵容和实例类型)。最后,请求节点对实例的选择过程,并同时触发指定支持机器类型和大小的列表。
- 实例的选择:这个过程是负责成本效率最大化。它重视实例选择的顺序:
- Un-utilized保留实例(RIs)或储蓄计划(SPs)。
- 现货实例使用。io的独特点实例选择过程包含市场得分,成本和当前实例集群中的分布。
了解更多关于现货平台独特的市场评分系统读取博客。
-
-
- 缺乏现场实例的可用性,对需求的系统将回到(OD)自动实例,并提供一个99.99%的SLA,以确保工作负载将继续执行。
- 一旦发现容量恢复可用,海洋会自动回复到利用现货实例代替OD节点优雅。这使得连续基础设施优化允许用户获得节约成本,而不必每次都手动干预。
-
实例终止
海洋工程以确保优雅终止集群中的节点和豆荚。T他下面的场景导致终止节点在使用海洋:
缩小的事件
因为Kubernetes集群通常有很多动态工作负载,通常会有一段时间不再需要运行在集群的节点。当这种情况发生时,海洋将识别用了一半的节点和bin-pack更有效的达到更高的资源分配。每一分钟、海洋模拟是否有任何正在运行的豆荚(开始利用最少的节点),可以优雅地搬到集群中的其他节点。如果是这样,海洋会消耗这些节点(节点警戒线,排水pods优雅),同时尊重pdb分子(Pod破坏预算),以确保持续的云基础设施优化和增加储蓄。
按比例缩小的行为
- 按比例缩小一个节点时,海洋利用一个可配置的超时时间至少300秒。这时,海洋是节点unschedulable和清除所有豆荚(尊重terminationGracePeriodSeconds配置参数)的节点上运行。
- 驱逐舱时,将创建一个新的集群中的另一个节点。
- 后排水超时已过期,海洋将终止节点和删除任何不成功地驱逐的豆荚。
- 海洋排水过程考虑PodDisruptionBudgets并将执行pod pdb分子驱逐,同时尊重配置的(如果可能的话)
一些工作负载适应实例替换不如别人,所以你可能希望避免更换节点,同时还获得的利益点实例定价。这些情况的一个很好的例子是工作/批处理流程需要完成他们的工作没有终止的海洋自动定量。
海洋很容易防止按比例缩小的节点运行豆荚配置了一个下面的标签:
- spotinst。io / restrict-scale-down:真正的标签,这个标签是一种专有标签(现货额外的点标签),可以配置在一个圆荚体的水平。配置时,指示海洋自动定量防止按比例缩小一个节点运行任何与这个标签指定的豆荚。
- cluster-autoscaler.kubernetes。io / safe-to-evict:错误的标签– cluster-autoscaler label, works similarly to the restrict-scale-down label. Ocean supports that label to ensure easy migration from the cluster-autoscaler to Ocean.
容器实例替换
有几个场景,海洋积极工作,取代现有的集群中的节点:
- 恢复点——海洋发起点播节点由于缺乏能力。一旦发现容量恢复可用,海洋工程用点来取代那些点播节点容量最大化的节省。
- 利用RIs /利用SPs——海洋承认有保留未使用的实例或储蓄计划,可以利用和工作来取代现有的节点与点播节点将利用那些保留。
- Auto-healing——海洋探测节点/ s变得不健康和工作来取代它们。
- 预测再平衡——海洋预测一个中断发生,逐步取代了节点
- 现货中断——实例由云提供商回收。
- 集群卷——一个用户或一个计划任务触发一个集群辊和所有的集群中的节点(/子集)将逐渐取代。
海洋使得进一步优化集群智能决策,确保需求能力的可用性。
实例替换行为:
- 首先,海洋将会启动一个新实例来取代旧的。
- 一旦机器注册集群,海洋将开始消耗旧实例类似于一个缩小的事件。
在海洋现货中断的情况下,将取代实例并立即启动排水过程的实例,而不必等待新实例登记为健康的集群中。在这种情况下,有一些闲置产能的形式净空高度允许安全排水豆荚是非常有用的。
总结
现货海洋提供了一个不断优化集装箱驱动的自动定量工作,确保基础设施的可用性以尽可能低的成本。学习更多关于海洋看看这个演示,或头部https://docs.www.drvrless.com/ocean/开始。


