部第二天很容易管理

阅读时间:6分钟

你的Azure Kubernetes部署服务(部)集群投入生产。现在怎么办呢?部部署集群值得庆祝,但不要在你的荣誉上停留太久。你现在在第二天Kubernetes管理阶段和运营挑战日益增多。

Kubernetes应用程序生命周期分为三个主要阶段。他们通常被称为天,但实际上,他们需要更长的时间超过24小时!

  • 一天0定义了设计与规划、需求和体系结构。
  • 第一天包括应用程序投入生产,包括配置、部署、安装和验证)
  • 第二天表示正在进行的操作和维护,包括应用程序更新和生命周期,Kubernetes升级和基础设施维护、安全性和遵从性、监测和故障诊断,和成本优化。

Kubernetes应用程序生命周期

第二天是最长的阶段和跨应用程序的生活,保持灯,直到终止或被其他东西所取代。

部集群是第一次部署时,只有少量的应用程序——几百豆荚一组小的节点。最初,这看似简单的操作团队,包括DevOps和网站可靠性工程师(sr),管理和手动调试。但随着时间的推移,应用程序将与更多的用户规模,更多的应用程序从多个团队,和集群管理成百上千的节点和成千上万的豆荚。太多的移动部件的复杂性呈指数级增长和增加机会错误,错误配置,安全漏洞。你如何执行在第二天可以成就或者毁掉你公司的原生云战略。

这些只是几个因素需要考虑当你进入第二天:

  • Kubernetes升级:Kubernetes上游有一个积极的季度发布周期。你打算如何升级Kubernetes版本在服务数百个应用程序集群,包括关键任务,大数据,边缘,转播画面,AI /毫升新兴技术,和遗留应用程序?如果升级失败,你需要回滚?
  • 安全补丁:多长时间你要安全漏洞补丁Kubernetes组件和节点操作系统或图片吗?
  • 配置管理:你打算如何推出应用程序和基础设施配置更新吗?此外,你将如何管理新的安全政策,新的网络子网,短暂的磁盘存储,连拱的(ARM)的支持,和Windows Server windows2019 (hyper - v Gen1) windows2022 (hyper - v Gen2)升级?
  • 基础设施故障:你打算如何检测和修复错误配置和基础设施故障,如节点池在失败的准备状态或不健康的节点不回应?
  • 成本优化:最后,你打算如何管理和优化你的云基础设施,这样成本不失控?您需要能够监视基础设施和应用程序资源利用率和做出调整。

现有Kubernetes监测和开源工具可能是不够的。你需要一个云提供商微软Azure的组合工具和供应商附件可观测性,遥测,配置管理,和成本优化不雷竞技地址ray仅提供指标和生成警报还优化资源,使用自动化来解决问题,执行日常任务。雷竞技rabet官网

自动化是一个成功的关键Kubernetes第二天操作策略。拥有一个可靠的第二天计划使用正确的工具和自动化框架将帮助你达到你公司的云业务目标。

现货海洋辊:想要滚吗?

海洋部提供Azure serverless Kubernetes优化现在添加支持海洋的滚动功能,或滚动更新来帮助简化你第二天云操作。

这是第一个在一系列的三个海洋部第二天管理博客。这篇文章介绍了海洋的滚动特性的能力,它是如何工作的,以及何时使用它。在下一个博客,我们将深入探究与海洋的滚动功能定制自动化部Kubernetes升级,最后的博客将覆盖更多场景海洋部第二天管理。

海洋的“滚”能力使用户能够自动化和定制推广Kubernetes升级、打补丁的节点图像,和安全更新以及推动与最低配置更新中断工作负载和不需要禁用自动定量。滚动功能也可以用来自动平衡基础设施在现货和普通节点来提高可用性和降低成本以及取代不健康的节点和节点池失败。滚动功能可以节省大量的时间和挫折通过容易自动化第二天操作。

海洋部支持辊能力滚动更新可以执行或者安排:

  • 海洋管理Kubernetes集群,称为“集群卷”
  • 一个特定的虚拟节点组(VNG),”或VNG卷”
  • 特定的节点池,或“节点池卷”
  • 只有一组节点,或“节点卷”

它是如何工作的呢?准备一批

当一个海洋对于集群或多个VNGs触发,然后卷被分解成可定制的批次(默认batchSize= 20%),一批是节点的一个子集(和节点池)。批卷被认为是成功的,当一个节点的最小百分比已经取代了健康的节点,定义的batchMinHealthyPercentage默认情况下,设置为50%。然后下一批上的滚花,直到所有的批次都成功地滚。

对每一批、海洋新节点池中尝试推出新节点匹配工作负载需求(CPU和内存请求)现有的批节点滚。新节点池可能是相同的或不同的VM大小取决于更新VNG配置以及目前市场的可用性和成本。

虽然新节点的节点池启动,现有节点池批量锁定的缩放和节点区,标记为unschedulable(污点node.kubernetes.io / unschedulable)。海洋自动定量可以继续扩大,如果需要,使用其他节点池,包括新创建的节点池当他们准备好了。

一旦新节点(和节点池)准备好了,海洋安全排水节点和优雅的驱逐豆荚。驱逐豆荚立即重新安排新节点的新节点池。

海洋提供了足够的时间(纪念terminationGracePeriodSeconds设置在其PodSpec),被驱逐的豆荚和结束任务优雅地终止。海洋还提供了一个集群级别使用定制的DrainTimeout = 300年代处理行为不端吊舱。当工作负载控制器重启豆荚,他们马上将新节点在等待他们。这确保最少的停机时间在生产中关键任务工作负载。海洋验证新推出的节点是健康和豆荚正常运行。

海洋是辊时完成所有批次都有执行,所有现有的节点被处理,其中大部分(batchMinHealthyPercentage= 50%)取代了健康节点和豆荚在新节点上运行。最后,现有节点池是按比例缩小(节点删除)和删除。

滚动期间,海洋会尊重pod约束包括标签spotinst.io / restrict-scale-down,圆荚体破坏预算(PDB)圆荚体拓扑约束传播。海洋不会驱逐舱是否违反和PDBrespectPDB = True节点是不能被取代的,节点状态将被设置为NOT_REPLACED_DUE_TO_PDB。海洋将继续推进其他节点。

如果某些节点或节点池不能取代由于PDB或其它原因,你可以修复这个问题或选择忽略PDB(集respectPDB = False)并重新运行或者调度辊对失败的节点。

在UI中控制台“卷”标签或使用辊API,您可以跟踪每个卷的状态,批卷或节点。

海洋部:实现轧辊的力量

海洋部不仅管理您的云基础设施也消除了疼痛的第二天操作。

现在你看到的力量为海洋部新卷功能,是时候给它一个滚!接触你的现货联系人或开始工作在你部今天在现场控制台。

请求一个演示 解决方案架构师或 试现场控制台(自助)开始今天的海洋

在下一个博客,我们将深入探究如何海洋部可以Kubernetes升级一个完全自动化的无痛体验。

Baidu
map