HarmonyOS 鸿蒙Next Karmada新版本发布,支持联邦应用跨集群滚动升级
HarmonyOS 鸿蒙Next Karmada新版本发布,支持联邦应用跨集群滚动升级 摘要:本次升级支持联邦应用跨集群滚动升级,使用户版本发布流程更加灵活可控;透明同事karmadactl新增了多项运维能力,提供独特的多集群运维体验。
本文分享自华为云社区《Karmada v1.11 版本发布!新增应用跨集群滚动升级能力》,作者:云容器大未来。
Karmada是开放的多云多集群容器编排引擎,旨在帮助用户在多云环境下部署和运维业务应用。凭借兼容Kubernetes原生API的能力,Karmada可以平滑迁移单集群工作负载,并且仍可保持与Kubernetes周边生态工具链协同。
本版本包含下列新增特性:
- 支持联邦应用跨集群滚动升级,使用户版本发布流程更加灵活可控
- karmadactl新增了多项运维能力,提供独特的多集群运维体验
- 为联邦工作负载提供标准化generation语义,使CD执行一步到位
- Karmada Operator支持自定义CRD下载策略,使离线部署更灵活
新特性概览
联邦应用跨集群滚动升级
在最新发布的v1.11版本中,Karmada新增了联邦应用跨集群滚动升级特性。这一特性特别适用于那些部署在多个集群上的应用,使得用户在发布应用新版本时能够采用更加灵活和可控的滚动升级策略。用户可以精细地控制升级流程,确保每个集群在升级过程中都能够平滑过渡,减少对生产环境的影响。这一特性不仅提升了用户体验,也为复杂的多集群管理提供了更多的灵活性和可靠性。
此外,该特性还能应用于其他场景:
作为开发者,当Karmada控制平面与成员集群争夺资源控制权时,会出现资源被频繁更新的情况。暂停将资源同步到成员集群的过程将有助于快速定位问题。
karmadactl能力增强和运维体验提升
在本版本中,Karmada社区致力于增强karmadactl的能力,以便提供更好的多集群运维体验,进而摆脱用户对kubectl的依赖。
更丰富的命令集
karmadactl支持更丰富的命令集,如create、patch、delete、label、annotate、edit、attach、top node、api-resources以及explain,这些命令允许用户对Karmada控制面或成员集群上的资源执行更多操作。
更丰富的功能
karmadactl引入了–operation-scope参数来控制命令的操作范围。有了这个新参数,get、describe、exec和explain等命令可以灵活切换集群视角对Karmada控制面或成员集群的资源进行操作。
更详细的命令输出信息
karmadactl get cluster命令的输出现在增加了cluster对象的Zones、Region、Provider、API-Endpoint和Proxy-URL信息。
通过这些能力增强,karmadactl的操作和运维体验得到了提升。karmadactl的新功能和更多详细信息可以通过使用karmadactl --help获得。
联邦工作负载标准化 generation 语义
在本版本中,Karmada将联邦层面的工作负载generation语义进行了标准化。这一更新为发布系统提供了可靠的参考,增强了跨集群部署的精确度。通过标准化generation语义,Karmada简化了发布流程,并确保一致性地跟踪工作负载状态,使得跨多个集群管理和监控应用程序变得更加容易。
标准化细节为,当且仅当工作负载分发至所有成员集群中的资源状态满足status.observedGeneration >= metadata.generation时,联邦层面的工作负载状态中的observedGeneration值才会被设置为其本身.metadata.generation值,这确保了每个成员集群中相应的控制器均已完成了对该工作负载的处理。此举将联邦层面的generation语义同kubernetes集群的generation语义进行了统一,使用户能够更便捷的将单集群业务迁移至多集群业务。
本版本已完成下列资源适配:
- GroupVersion: apps/v1 Kind: Deployment, DaemonSet, StatefulSet
- GroupVersion: apps.kruise.io/v1alpha1 Kind: CloneSet, DaemonSet
- GroupVersion: apps.kruise.io/v1beta1 Kind: StatefulSet
- GroupVersion: helm.toolkit.fluxcd.io/v2beta1 Kind: HelmRelease
- GroupVersion: kustomize.toolkit.fluxcd.io/v1 Kind: Kustomization
- GroupVersion: source.toolkit.fluxcd.io/v1 Kind: GitRepository
- GroupVersion: source.toolkit.fluxcd.io/v1beta2 Kind: Bucket, HelmChart, HelmRepository, OCIRepository
如有您有更多资源(包括CRD)需要适配,可以向Karmada社区进行反馈,也可以使用Resource Interpreter进行扩展。
Karmada Operator支持自定义CRD下载策略
CRD(Custom Resource Definition,自定义资源定义)资源是Karmada Operator用于配置新的Karmada实例的关键前提资源。这些CRD资源包含了Karmada系统的关键API定义,例如,PropagationPolicy,ResourceBinding,Work等。
在v 1.11版本中,Karmada Operator支持用户自定义CRD下载策略。利用这个功能,用户可以指定CRD资源的下载路径,并定义更多的下载策略,为用户提供了更灵活的离线部署方式。
有关该特性的详细描述,可以参考提案:Custom CRD Download Strategy Support for Karmada Operator。
致谢贡献者
Karmada v1.11版本包含了来自36位贡献者的223次代码提交,在此对各位贡献者表示由衷的感谢:
贡献者列表:
参考资料
- [1] Karmada v1.11: https://github.com/karmada-io/karmada/releases/tag/v1.11.0
- [2] 提案:Custom CRD Download Strategy Support for Karmada Operator: https://github.com/karmada-io/karmada/tree/master/docs/proposals/operator-custom-crd-download-strategy
更多关于HarmonyOS 鸿蒙Next Karmada新版本发布,支持联邦应用跨集群滚动升级的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
更多关于HarmonyOS 鸿蒙Next Karmada新版本发布,支持联邦应用跨集群滚动升级的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
HarmonyOS鸿蒙Next Karmada新版本在功能上进行了重要升级,其中最显著的是支持联邦应用的跨集群滚动升级。这一特性意味着,在采用Karmada进行多集群管理的环境中,应用可以更加灵活地在不同集群间进行版本更新,而无需中断服务或造成用户体验上的显著影响。
跨集群滚动升级的实现,依赖于Karmada对多集群资源的一致性管理和调度能力。它能够智能地规划升级路径,确保在升级过程中,服务的可用性和数据的一致性得到最大程度的保障。这对于运行关键业务的大型企业来说,无疑是一个重要的福音,因为它大大降低了因版本升级带来的业务中断风险。
此外,新版本还可能包含了对性能、稳定性和安全性的多项优化,以及对现有功能的完善和增强。这些改进将进一步提升HarmonyOS鸿蒙在多集群管理领域的竞争力,为用户提供更加高效、可靠和安全的数字化解决方案。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html,