华为云UCS分布式云原生服务:从集群接入到全域治理的完整对接指南
一、华为云UCS:重新定义分布式云原生
在数字化转型的浪潮中,容器与Kubernetes已经成为企业应用现代化的基础底座。然而,当业务规模持续扩张,应用部署从单一集群延伸到多个集群、从单一云平台扩展到混合云与多云环境时,如何实现跨云跨地域的统一管理、调度与治理,成为摆在每一位架构师面前的现实挑战。华为云UCS(Ubiquitous Cloud Native Service)正是在这一背景下应运而生的分布式云原生产品。
华为云UCS是业界首个专门针对集群跨云场景的分布式云原生产品,它为企业提供云原生业务部署、管理、应用生态的全域一致性体验,让客户在使用云原生应用时感受不到地域、跨云与流量的限制。UCS基于CNCF(Cloud Native Computing Foundation)首个多云容器编排项目Karmada构建,在Karmada的多云编排能力之上,实现了云原生应用跨云跨地域的统一协同治理。
从产品架构来看,UCS支持对多种类型的Kubernetes集群进行统一接入和管理,具体包括:华为云基础设施上的CCE Standard集群与CCE Turbo集群;用户自有基础设施上的自建Kubernetes集群;第三方云服务设施上的Kubernetes集群;以及伙伴云基础设施上的CCE集群。这种广泛的兼容性使得UCS能够全面覆盖中心区域、热点区域、客户机房、业务现场等多种使用场景。
UCS的核心能力可以概括为三大创新模式:第一,应用与数据协同创新模式,通过分布式数据管理实现数据随应用一键迁移,支撑全业务一体化迁移、弹性伸缩与容灾;第二,应用算力供给新模式,通过分布式调度管理实现百万级节点算力协同,随时随地为应用提供所需算力资源;第三,应用流量治理新模式,通过分布式流量控制实现智能流量分发调度,实时跨域按需调配应用访问流量。
与传统的云原生产品相比,UCS的优势体现在多个维度:在体验层面,传统方案存在厂商锁定和跨区域管理不一致的问题,而UCS提供跨云跨地域的一致体验;在计算调度层面,传统方案无法实现跨云资源调度,而UCS基于Karmada实现多云资源的协同调度;在应用管理层面,传统方案跨云迁移需要人工克隆数据、效率低下,而UCS支持数据随应用同步迁移;在流量管理层面,传统方案的流量管理与业务解耦、无法按需分发,而UCS提供基于地理位置和业务策略的智能流量分发。
需要先登录华为云控制台,点击:华为云控制台,还没有账号,点击:注册并关联,已有账号点击:登录后关联
二、集群接入:将Kubernetes集群纳入UCS管理
使用UCS的第一步是将需要管理的Kubernetes集群注册到UCS平台。UCS支持多种集群类型的接入,注册流程因集群类型和网络环境的不同而有所差异。
2.1 接入前的准备工作
在开始集群注册之前,需要完成以下准备工作。首先,确保使用的是华为云账号且具备UCS FullAccess权限的用户,因为只有具备此权限的用户才能进行集群注册操作。其次,确认UCS集群配额充足,如果配额不足需要提前申请扩容。
对于不同类型的集群,还有一些特定的前提条件需要满足。接入UCS服务的Kubernetes集群版本必须为1.19及以上。对于本地集群(运行在用户数据中心基础设施上的集群),节点/tmp目录需要预留至少20GB空间。对于附着集群(运行在其他云厂商或自建环境中的集群),需要确保部署代理组件(proxy-agent)的节点能够通过弹性公网IP(EIP)或NAT网关从公网访问。同时,还需要提前获取待接入集群的kubeconfig配置文件,用于完成集群认证。
如果集群需要通过私网接入UCS,则需要通过云专线(DC)或虚拟专用网络(VPN)服务将云下网络与云上虚拟私有云(VPC)连通,并利用VPC终端节点(VPCEP)通过内网与UCS服务建立连接。
2.2 注册华为云CCE集群
华为云CCE集群(包括CCE Standard集群和CCE Turbo集群)是注册流程最简单的集群类型,只需在UCS控制台进行几次点击操作即可完成。
操作步骤如下:登录UCS控制台,在左侧导航栏中选择“容器舰队”。在“华为云集群”卡片中,单击“注册集群”按钮。在弹出的对话框中,勾选需要注册的CCE集群,并选择一个容器舰队,单击“确定”即可完成注册。如果在注册集群时未选择容器舰队,集群注册成功后将会显示在“未加入舰队的集群”页签下,后续还可以再添加至舰队中。
需要注意的是,注册集群时不能选择已开通集群联邦能力的舰队。如果希望将集群加入已开通联邦的舰队,需要先将集群注册到UCS,然后再添加到该舰队中。集群注册完成后,UCS会自动获取集群的cluster-admin权限,以确保具备完整的集群管理能力。
2.3 注册本地集群
本地集群是指运行在用户自有数据中心基础设施上的Kubernetes集群。注册本地集群的流程相对复杂一些,需要先在UCS控制台申请本地集群试用。申请通过后,登录UCS控制台,在左侧导航栏中选择“容器舰队”。单击“本地集群”选项卡中的“注册集群”按钮。参考页面中的表格填写待添加集群的基础信息,其中带星号的参数为必填参数。集群名称需以小写字母开头,由小写字母、数字和中划线组成,且不能以中划线结尾。集群标签为可选项,以键值对的形式为集群添加分类标签。在“容器舰队”字段中选择集群所属的舰队,一个集群只能加入一个舰队。单击“确定”后,集群注册成功,但需要在24小时内完成网络接入配置。
2.4 注册附着集群(公网接入)
附着集群是指运行在其他云厂商或自建环境中的Kubernetes集群,通过公网或私网方式接入UCS。本节重点介绍公网接入方式。
注册附着集群的前提条件包括:华为云账号需具备UCS FullAccess和VPCEndpoint Administrator权限;待接入的Kubernetes集群需通过CNCF认证且版本为1.19及以上;已创建好集群且状态正常;已获取待添加集群的kubeconfig配置文件。
注册流程如下:登录UCS控制台,在左侧导航栏中选择“容器舰队”。在“附着集群”卡片中,单击“注册集群”按钮。配置集群参数,包括集群名称、服务提供商、区域等基本信息。集群名称需以小写字母开头,由小写字母、数字和中划线组成。集群标签为可选项,以键值对形式添加。上传kubeconfig配置文件以完成集群认证,文件格式支持JSON或YAML。上传后系统会自动从文件中获取contexts字段,默认使用current-context指定的上下文。填写完成后单击“确定”提交注册请求。
注册成功后,需要在集群中部署proxy-agent代理组件,使集群能够与UCS服务端建立连接。UCS控制台会提供详细的网络接入指引,按照指引完成代理组件的安装即可。
2.5 私网接入模式
对于安全性要求较高或公网访问受限的场景,UCS支持通过私网方式接入集群。私网接入需要提前完成以下网络基础设施的配置:通过云专线(DC)或虚拟专用网络(VPN)将本地数据中心网络与华为云VPC连通;在VPC中创建VPC终端节点(VPCEP),用于与UCS服务建立内网连接。完成这些配置后,在UCS控制台选择“私网接入”模式,按照指引完成集群注册即可。私网接入方式不仅可以降低公网暴露的风险,还能利用内网高速传输降低网络延迟和流量费用。
三、容器舰队与集群联邦:多集群统一管理
3.1 容器舰队
容器舰队是UCS中进行多集群分类分组和权限管理的基本单元。通过将不同的集群划分到不同的舰队中,可以实现精细化的权限管控和资源隔离。一个集群只能加入一个容器舰队。未加入任何舰队的集群会显示在“未加入舰队的集群”页签下,后续可以根据需要随时添加到舰队中。容器舰队的创建和管理均在UCS控制台的“容器舰队”菜单中完成。
3.2 集群联邦
集群联邦是基于CNCF项目Karmada所提供的多云容器编排能力,旨在管理跨云、跨地域场景下的多集群应用。集群联邦能力与容器舰队绑定——只有开启了联邦能力的舰队,才能进行跨集群的应用部署、服务发现和弹性伸缩等操作。开通集群联邦的操作方法如下:登录UCS控制台,在左侧导航栏中选择“容器舰队”。找到目标舰队,如果页面提示暂未开通集群联邦能力,单击“去开通”按钮即可。开通联邦后,该舰队内的所有集群将统一接受联邦的控制面调度,实现跨集群的应用统一分发和服务治理。
集群联邦的核心价值在于:将多个异构集群抽象为一个统一的资源池,应用可以跨集群进行部署和调度,无需关心底层集群的差异。同时,集群联邦还支持跨集群的服务发现和故障自动迁移,为高可用架构提供了坚实的基础。
四、权限管理体系
UCS的权限管理是在统一身份认证服务(IAM)与Kubernetes的角色访问控制(RBAC)能力基础上打造的细粒度权限管理功能。
4.1 IAM系统策略
UCS在IAM中预置了多种系统身份策略,主要包括以下几种类型:UCS FullAccess——拥有UCS服务的全部操作权限,包括集群注册、舰队管理、联邦开通等所有功能;UCS CommonOperations——拥有UCS服务的常用操作权限,适用于日常运维人员;UCS CIAOperations——拥有容器智能分析相关的操作权限;UCS ReadOnlyAccess——拥有UCS服务的只读权限,适用于监控和审计场景。
如果IAM系统策略无法满足精细化授权要求,管理员可以根据UCS支持的授权项创建IAM自定义身份策略,实现更细粒度的访问控制。
4.2 系统委托ucs_admin_trust
由于UCS在运行中对其他容器云服务资源存在依赖关系,当您首次登录UCS控制台时,UCS会自动请求获取相关云资源的访问权限。当您同意授权后,UCS将在IAM中自动创建名为ucs_admin_trust的委托,将账号内的其他资源操作权限委托给UCS服务进行操作。ucs_admin_trust委托用于对UCS所依赖的其他云服务资源进行调用,例如获取CCE集群状态等场景。由于UCS对其他云服务有很多依赖,如果没有该委托,可能会因为某个服务权限不足而影响UCS功能的正常使用。因此,在使用UCS服务期间,建议不要在IAM中自行删除或修改ucs_admin_trust委托。为了提高委托安全性,UCS根据对其他云服务的依赖对委托权限进行了重新设计,新的委托权限已不再包含Tenant Administrator权限。重新授权后,UCS依赖的各项云服务权限会被添加到该委托中。创建ucs_admin_trust委托时会自动创建名为“UCS admin policies”的自定义策略,请勿删除该策略。
4.3 多层级权限控制
UCS的权限管理支持多个层级的控制粒度,包括集群级别、舰队级别、集群命名空间级别、舰队命名空间级别的权限控制。在UCS控制台的“权限管理”页面创建用户或用户组时,系统会跳转到IAM控制台完成具体操作。权限设置完成后,在集群或容器舰队的权限页面可以查看用户或用户组所拥有的权限。这种多层级的设计使得企业可以根据组织架构和职责分工,为不同角色的人员授予恰到好处的操作权限,既保障了安全性又兼顾了灵活性。
五、流量治理与智能分发
UCS提供了强大的流量治理能力,支持基于访问位置和业务策略对全域流量进行最优化调度。通过智能流量分发调度,可以实现实时跨域、按需调配应用访问流量。在具体功能层面,UCS支持跨云多集群服务接入和流量管理,可以根据权重和内容进行流量分割。同时,还提供了灰度发布、故障转移、异常检测和限流等高级功能,帮助企业构建高可用的应用服务体系。UCS的流量治理能力与容器舰队和集群联邦深度集成,可以在舰队级别统一配置流量策略,实现全网流量的统一调度和治理。
六、容器智能分析:可视化监控与洞察
UCS支持立体化的监控运维体系,并且兼容开源Prometheus和OpenTelemetry生态。通过容器智能分析功能,用户可以创建自定义仪表盘(Dashboard),实时查看服务状态,获得容器和服务网格的深度洞察。容器智能分析支持采用公网或私网方式接入集群,同时也支持附着集群的接入。在多集群场景下,智能分析功能可以汇总所有集群的监控数据,提供统一的观测视图,大大降低了多集群运维的复杂度。
七、容器迁移服务
华为云UCS的容器迁移服务提供了一种可靠、安全、灵活且高效的迁移方案。通过UCS,可以将本地数据中心或其他云提供商上的Kubernetes集群中的云原生应用迁移到华为云UCS管理的Kubernetes集群中。容器迁移服务通过以下四个阶段提供全流程迁移指导:集群评估——评估源集群的状态以决定目标集群的类型;数据迁移——迁移镜像以及依赖服务的相关数据;应用备份——备份源集群中的应用;应用迁移——通过备份数据恢复的方式,将源集群中的应用迁移到目标集群。
UCS容器迁移的主要优势包括:易用性——迁移过程已实现工具化,工具免安装、简单轻量且配置灵活;多版本——支持Kubernetes 1.19以上版本的集群迁移;无依赖——迁移工具不需要任何外部依赖,可以独立运行;多架构——迁移工具支持在Linux(x86、arm)和Windows环境中运行;多场景——支持本地IDC集群迁移上云、第三方云集群跨云迁移、不同Region间迁移等多种场景;不停机——迁移过程无需停机,不影响源集群业务。
八、配额管理与扩展
UCS具有集群、舰队、权限、集群联邦以及容器智能分析实例等多方面的配额限制。其中,集群配额是指UCS支持接入的集群数量上限,华为云集群和附着集群的数量均占用该配额值。如果需要扩大UCS配额,需要联系技术支持进行申请。申请流程为:登录管理控制台,在页面右上角选择“工单 > 新建工单”,进入新建工单页面提交配额扩容申请。
九、最佳实践与注意事项
9.1 权限最小化原则
在实际使用中,建议遵循权限最小化原则。对于日常运维人员,授予UCS CommonOperations或UCS ReadOnlyAccess即可,避免授予FullAccess权限。对于需要操作CCE集群资源的场景,还需要额外授予CCE Administrator权限。IAM用户的权限设置需要同时具备UCS系统策略权限和集群资源对象操作权限。
9.2 网络规划建议
对于生产环境,建议优先使用私网接入方式。私网接入不仅可以降低公网暴露带来的安全风险,还可以利用内网的高速传输降低网络延迟和流量成本。私网接入需要提前规划好云专线或VPN的连接方案,并配置好VPC终端节点。
9.3 集群版本管理
接入UCS的Kubernetes集群版本必须为1.19及以上。在进行集群迁移时,源集群和目标集群的版本需要在1.19至1.34之间。建议定期关注UCS官方文档中关于集群版本兼容性的更新说明,确保集群版本始终在支持的范围内。
9.4 舰队规划策略
容器舰队是UCS中进行权限管理和应用分发的核心单元。建议按照业务线、环境类型(开发/测试/生产)或地域等维度进行舰队划分。一个集群只能加入一个舰队,因此在规划阶段就要明确每个集群的归属。已开通集群联邦能力的舰队在注册集群阶段不能直接加入,需要先完成集群注册再添加到舰队中。
十、常见问题解答
问1:接入UCS的Kubernetes集群有哪些版本要求?
答:接入UCS的Kubernetes集群版本必须为1.19及以上。如果使用容器迁移服务,源集群和目标集群的版本需在1.19至1.34之间。
问2:注册集群时提示权限不足怎么办?
答:注册集群需要华为云账号具备UCS FullAccess权限。如果使用的是IAM子账号,请联系主账号管理员授予UCS FullAccess权限。对于附着集群的公网接入,还需要同时具备VPCEndpoint Administrator权限。
问3:什么是ucs_admin_trust委托?可以删除吗?
答:ucs_admin_trust是UCS在IAM中自动创建的系统委托,用于授权UCS调用其他云服务资源。在使用UCS服务期间,建议不要在IAM中自行删除或修改该委托,否则可能导致UCS功能异常。
问4:一个集群可以加入多个容器舰队吗?
答:不可以。一个集群只能加入一个容器舰队。如果集群在注册时未加入任何舰队,会显示在“未加入舰队的集群”页签下,后续可以再添加至某个舰队中。
问5:集群注册成功后需要多长时间内完成网络接入?
答:集群注册成功后,需要在24小时内完成网络接入配置。可以选择公网接入或私网接入方式。如果超时未完成接入,可能需要重新注册集群。
问6:如何申请扩大UCS的集群配额?
答:如需扩大UCS配额,需要联系技术支持进行申请。具体操作为:登录管理控制台,在页面右上角选择“工单 > 新建工单”,提交配额扩容申请。



