九大云原生产品之华为云MCP多云容器平台

举报
菜鸟级攻城狮 发表于 2021/10/26 12:04:15 2021/10/26
【摘要】 多云容器编排技术从Federation v1发展到Karmada,云原生技术和云市场,不断成熟,多云是未来的发展趋势, Karmada整体架构与概念: PropagationPolicy,OverridePolicy,介绍了MCP多云容器平台应用容灾多活,跨云迁移,应用故障迁移等功能

课程目标

学完本课程后,您将能够:

了解多云容器编排技术现状与发展趋势

了解Karmada的整体架构以及概念

了解多云容器平台MCP功能

目录

1. 多云容器编排技术现状与发展趋势

2. Karmada的整体架构以及概念

3. 多云容器平台MCP功能介绍及产品演示


华为云云原生基础设施产品解决方案全景图

多云容器平台(Multi-Cloud ContainerPlatform,MCP)是华为云基于多年容器云领域实践经验和社区最新集群联邦技术(Karmada),提供的容器多云和混合云的解决方案,为您提供跨云的多集群统一管理、应用在多集群的统一部署和流量分发,为您解决多云灾备问题的同时,还可以在业务流量分担、业务与数据分离、开发与生产分离、计算与业务分离等多种场景下发挥价值。

功能介绍

  • 统一集群管理

    多云容器平台通过集群联邦实现对多个云运营商的集群进行统一管理,支持动态集群接入和全局集群监控仪表盘。通过多云容器平台的多集群统一管理入口可以实现统一部署、统一发布及统一运维。

  • 全局应用管理

    基于多集群与Federation联邦技术,多云容器平台可以实现多个不同区域、不同云的Kubernetes管理,支持统一的全局应用管理,支持基于Kubernetes社区集群联邦标准化接口的跨集群应用的部署、删除、升级等全生命周期管理。

  • 跨集群的弹性伸缩能力

    多云容器平台支持跨集群的应用弹性伸缩策略,用以均衡各集群的应用实例分布,实现全局负载均衡。您无需再担心集群节点的水平扩展,多云容器平台将根据应用的负载情况,轻松灵活的自动扩缩容应用所需的资源。

  • 跨集群的服务发现能力

    多云容器平台支持创建联邦服务,支持跨集群的服务发现机制,能够基于服务就近访问原则实现业务的区域亲和,从而在业务进行多区域部署时,实现访问与服务的同地域优先,降低用户访问时的网络延迟。

  • 标准兼容

    多云容器平台兼容Kubernetes社区最新Federation架构,提供原生Kubernetes API及Karmada API您可使用熟悉的Kubernetes命令行和API来部署容器应用,无需修改任何服务代码即可支持Kubernetes典型应用场景。

  • 单集群应用多云化

    多云容器平台支持将单集群应用一键式转换为多云应用,将应用实例部署到多云多集群,方便快捷的完成业务多云容灾、多云业务流量分担等多云价值场景。

  • 跨集群应用克隆和迁移能力

    多云容器平台支持将某个集群的应用克隆或者迁移到其他集群,可以使用该能力完成跨云跨集群的应用主动迁移,或者跨云跨region的镜像环境复制等场景应用。


多云多集部署已经成为常态

调查显示,超过93%的企业正同时使用多个云厂商的服务。云原生技术和云市场不断成熟。未来将是多云管理服务的时代。

多云管理的关键技术难点,应用管理和资源管理割裂,不同云厂商提供的云服务接口各不相同,需要用户业务分别做适配,导致多云管理方案极为复杂,几乎不可能实现。

云原生的多云仍然充满挑战

多云容器集群管理的挑战:

集群繁多

繁琐重复的集群配置-云厂商的集群管理差异-碎片化的API访问入口

业务分散

应用在各集群的差异化配置-业务跨云访问-集群间的应用同步

集群的边界限制

资源调度受限于集群-应用可用性受限于集群-弹性伸缩受限于集群

厂商绑定

业务部署的“黏性”-缺少自动的故障迁移-缺少中立的开源多集群编排项目

Federation:集群联邦项目,16年发起已演进到V3,今年进CNCF孵化

Federation V1

  • 奠定容器混合云架构基础
  • 直接映射单集群API,易上手,无需切换API
  • 联邦层信息嵌入Annotation,难维护

Federation V2

  • 重点改进v1的API框架设计
  • 拆分独立API,模块化可裁剪,加强可扩展性
  • 要求用户适配新API,用户落地有额外适配成本

Federation V3 (Karmada)

  • ·支持原生API定义联邦应用,快速使能周边集成
  • ·增强分发策略,支持跨集群调度和扩缩容联动
  • . MCP企业级实践回馈社区

Karmada

Karmada(Kubernetes Armada)是基于Kubernetes原生API的多集群管理系统。在多云和混合云场景下,Karmada提供可插拔,全自动化管理多集群应用,实现多云集中管理、高可用性、故障恢复和流量调度。

使用Karmada构建无限可扩展的容器资源池让开发者像使用单个K8s集群一样使用多云

关键特性

  • 基于K8s原生API的跨集群应用管理,用户可以方便快捷地将应用从单集群迁移到多集群。
  • 中心式操作和管理Kubernetes集群。
  • 跨集群应用可在多集群上自动扩展,故障转移和负载均衡。
  • 高级的调度策略:区域,可用区,云提供商,集群亲和性/反亲和性。
  • 支持创建分发用户自定义(CustomResourceDefinitions)资源。

Karmada:开源的云原生多云容器编排引擎框架

  • ETCD:存储Karmada API对象。
  • Karmada Scheduler:提供高级的多集群调度策略。
  • Karmada Controller Manager: 包含多个Controller,Controller监听karmada对象并且与成员集群API server进行通信。

基本概念

  • 资源模板(Resource Template):Karmada使用K8s原生API定义作为资源模板,便于快速对接K8s生态工具链。
  • 分发策略(Propagaion Policy):Karmada提供独立的策略API,用来配置资源分发策略。
  • 差异化策略(Override Policy):Karmada提供独立的差异化API,用来配置与集群相关的差异化配置。比如配置不同集群使用不同的镜像。

  • 丰富云原生生态,开箱即用

K8s原生API+扩展策略;零改造、开箱即用

  • 丰富的多集群调度

支持集群亲和性、多维度HA等算法;支持静态、动态权重拆分引用

  • 集群资源空间隔离

不同集群资源分别存放,隔离权限

  • 多种模式集群同步

中心管理(Execution Controller);分布式管理(Agent);结合KubeEdge实现边缘集群管理

Propagation Policy:可重用的应用多集群调度策略

  • resourceSelector

支持关联多种资源类型;支持使用name或 labelSelector进行对象筛选

  • placement

clusterAffinity:定义倾向调度的目标集群;支持通过names或 labelselector筛选

  • clusterTolerations:

类似单集群中Pod tolerations和node taints

  • spreadConstraints:

定义应用分发的HA策略;支持对集群动态分组:按Region、AZ、特性label分组,实现不同层级的HA

Override Policy:跨集群可重用的差异化配置策略

  • resourceSelector

支持使用name或 labelSelector进行对象筛选

  • overriders

支持多种override插件类型

  • plainTextOverrider :

基础插件,纯文本操作替换

  • imageOverrider:

针对容器镜像的差异化配置插件


多云管理MCP:满足容灾/双活、应用地域亲和、跨云弹性等场景

多云容器平台是华为云基于多年容器云领域实践经验和社区最新的集群联邦技术,提供的容器多云和混合云的解决方案,为您提供跨云的多集群统一管理、应用在多集群的统一部署和流量分发,为您彻底解决多云灾备问题.

在云计算时代,云所带来的各种优势使得大量的企业纷纷将自身业务在云端托管,但当云服务出现故障时带来的损失却难以控制,也令许多企业的CIO们忧心忡忡。因此,通过将业务部署在多个云(不同的公有云、私有云)来进行灾备是一种最有效的方案,它为用户解决了单云场景下的诸多诉求:

  • 避免供应商锁定,增强用户的商业灵活性。
  • 实现多云容灾能力,快速应对云单点宕机故障。
  • 分担业务流量,智能应对业务流量高峰的冲击。
  • 跨地域业务部署,实现业务访问地域亲和,提升性能。

而在各种多云/混合云的解决方案中,多云/混合云+容器的组合是一种更好的选择。华为云多云容器平台(MCP)应运而生,相较于传统的多云和混合云解决方案,多云容器平台的优势在于:

  • 基于容器技术的统一标准,应用可以跨云在多个集群间自由迁移而不必担心对环境的依赖。
  • 基于容器技术的秒级弹性机制,您不需要为多云和混合云解决方案维护额外的资源,企业成本并不会明显增加。
  • 基于容器技术的轻量级技术方案,您跨云业务的构建和维护较为简单,无需关注大量基础设施的问题。

围绕Karmada内核打造新一代多云管理服务。MCP 2.0五大核心特征:

  • 特征一:天然多云

 100%兼容K8s原生API√具备“单云”操作体验

  • 特征二:多云调度

内置丰富多云调度算法

可自定义调度算法

多云镜像统一分发

多云容灾调度

跨云应用一键迁移

  • 特征三:多云治理

跨云全域流量统一治理

跨云应用灰度发布管理

  • 特征四:多云运维

多云统一监控日志

多云一站式故障定位

多云调用链拓扑视图

跨云应用弹性伸缩

多云流水线

  • 特征五:多云安全

多云细粒度权限控制

跨云安全加密通信

多云安全审计合规管理

MCP关键功能1:统一集群管理

通过MCP,客户可以统一管理多云环境中的K8S集群及应用,接入各类高级功能如服务网格、容器DevOps、应用监控管理等。

MCP关键功能2:高效容灾管理

MCP注册并更新应用的域名记录至全局DNS,任意集群故障时访问流量自动切换到可用集群;同时应用实例将自动弹性到其他云上,实现业务的容灾管理。

MCP关键功能3:应用地域亲和

应用可以部署在不同地域的数据中心的集群中,实现地域亲和的请求转发,有效降低业务时延。


MCP关键功能4:跨云应用迁移

通过华为多云容器平台,客户可以对单云的资源进行一键式跨云迁移,实现应用多云部署。

MCP关键功能5︰跨云弹性伸缩

灵活配置跨集群的应用弹性伸缩策略,MCP收集资源的使用情况(CPU或者内存、自定义指标项),动态调整负载实例数。

混合云方案:是指混合华为云的CCE集群和自建数据中心的Kubernetes集群的场景。

该方案具有如下特点:

  • 云上统一管理:在公有云上实现资源、应用、网络等多云统一管理。
  • 云上伸缩应用:私有云作为固定资源,公有云作为备用资源,当业务出现突发流量高峰时,实现云上资源的快速扩容。
  • 云上数据无关:核心数据放在线下,公有云上运行与核心数据无关的应用。
  • 业务迁移过渡:合理利用原有的物理计算资源,将业务逐步平稳切换到公有云上,实现资源的最大化利用。

多云方案:是指混合华为云的CCE集群与其它云运营商(如阿里云、腾讯云)的Kubernetes集群。

该方案具有如下特点:

  • 统一管理:实现资源、应用、网络等多云统一管理。
  • 可扩展性:比单集群更高的横向扩展性,解决单集群管理容量受限的问题。
  • 智能路由:多集群分布在不同区域,实现地域亲和的请求转发,降低用户因跨区域访问造成的网络延迟。
  • 多云容灾:相同业务部署到不同云运营商的集群,实现多云容灾。

多区域方案:混合在华为云相同或不同的虚拟私有云、区域下的CCE集群。

该方案具有如下特点:

  • 统一管理:实现资源、应用、网络等多云统一管理。
  • 可扩展性:比单集群更高的横向扩展性,解决单集群管理容量受限的问题。
  • 智能路由:多集群分布在不同区域,实现地域亲和的请求转发,降低用户因跨区域访问造成的网络延迟。
  • 多区域容灾:相同业务部署到华为云不同区域的集群,实现多云容灾。

https://console.huaweicloud.com/mcp


本课总结

本课程重点讲解1:多云容器编排技术从Federation v1发展到Karmada,云原生技术和云市场,不断成熟,多云是未来的发展趋势

本课程重点讲解2:Karmada整体架构与概念: PropagationPolicy,OverridePolicy

本课程重点讲解3:介绍了MCP多云容器平台应用容灾多活,跨云迁移,应用故障迁移等功能

参考链接

MCP多云容器平台首页: https://console.huaweicloud.com/mcp

相关内容的华为云官网链接: https://support.huaweicloud.com/usermanual-mcp/mcp_01_0001.html

Karmada代码仓库: https://github.com/karmada-io/karmada

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。