华为云用户手册

  • SDK列表 在开始使用之前,请确保您安装的是最新版本的SDK。使用过时的版本可能会导致兼容性问题或无法使用最新功能。您可以在 SDK中心 查询版本信息。 表1提供了DNS服务支持的SDK列表,您可以在GitHub仓库查看SDK更新历史、获取安装包以及查看指导文档。 表1 SDK列表 编程语言 Github地址 参考文档 Java huaweicloud-sdk-java-v3 Java SDK使用指导 Python huaweicloud-sdk-python-v3 Python SDK使用指导 Go huaweicloud-sdk-go-v3 Go SDK使用指导 NodeJs huaweicloud-sdk-nodejs-v3 NodeJs SDK使用指导 .NET huaweicloud-sdk-net-v3 .Net SDK使用指导 PHP huaweicloud-sdk-php-v3 PHP SDK使用指导
  • SDK列表 提供了API网关支持的SDK列表,您可以在GitHub仓库查看SDK更新历史、获取安装包以及查看指导文档。查看接口请参考“ApigClient”/“apig_client”文件。 在开始使用之前,请确保您安装的是最新版本的SDK。使用过时的版本可能会导致兼容性问题或无法使用最新功能。您可以在SDK中心查询版本信息。 表1 SDK列表 编程语言 Github地址 Reference Java huaweicloud-sdk-java-v3 Java SDK使用指导 Python huaweicloud-sdk-python-v3 Python SDK使用指导 Go huaweicloud-sdk-go-v3 Go SDK使用指导
  • 命名空间权限(kubernetes RBAC授权) 命名空间权限是基于Kubernetes RBAC能力的授权,通过权限设置可以让不同的用户或用户组拥有操作不同Kubernetes资源的权限。Kubernetes RBAC API定义了四种类型:Role、ClusterRole、RoleBinding与ClusterRoleBinding,这四种类型之间的关系和简要说明如下: Role:角色,其实是定义一组对Kubernetes资源(命名空间级别)的访问规则。 RoleBinding:角色绑定,定义了用户和角色的关系。 ClusterRole:集群角色,其实是定义一组对Kubernetes资源(集群级别,包含全部命名空间)的访问规则。 ClusterRoleBinding:集群角色绑定,定义了用户和集群角色的关系。 Role和ClusterRole指定了可以对哪些资源做哪些动作,RoleBinding和ClusterRoleBinding将角色绑定到特定的用户、用户组或ServiceAccount上。如下图所示。 图1 角色绑定 在CCE控制台可以授予用户或用户组命名空间权限,可以对某一个命名空间或全部命名空间授权,CCE控制台默认提供如下ClusterRole。 view(只读权限):对全部或所选命名空间下大多数资源的只读权限。 edit(开发权限):对全部或所选命名空间下多数资源的读写权限。当配置在全部命名空间时能力与运维权限一致。 admin(运维权限):对全部命名空间下大多数资源的读写权限,对节点、存储卷,命名空间和配额管理的只读权限。 cluster-admin(管理员权限):对全部命名空间下所有资源的读写权限。 drainage-editor:节点排水操作权限,可执行节点排水。 drainage-viewer:节点排水只读权限,仅可查看节点排水状态,无法执行节点排水。 geip-editor-role:该权限用于在集群中使用全域弹性公网IP资源,仅对资源geips具有读写权限。 icagent-clusterRole:该权限用于生成Kubernetes事件日志上报到LTS。
  • 集群权限( IAM 系统策略授权) 默认情况下,管理员创建的IAM用户没有任何权限,需要将其加入用户组,并给用户组授予策略或角色,才能使得用户组中的用户获得对应的权限,这一过程称为授权。授权后,用户就可以基于被授予的权限对云服务进行操作。 CCE部署时通过物理区域划分,为项目级服务。授权时,“作用范围”需要选择“区域级项目”,然后在指定区域对应的项目中设置相关权限,并且该权限仅对此项目生效;如果在“所有项目”中设置权限,则该权限在所有区域项目中都生效。访问CCE时,需要先切换至授权区域。 权限根据授权精细程度分为角色和策略。 角色:IAM最初提供的一种根据用户的工作职能定义权限的粗粒度授权机制。该机制以服务为粒度,提供有限的服务相关角色用于授权。由于云各服务之间存在业务依赖关系,因此给用户授予角色时,可能需要一并授予依赖的其他角色,才能正确完成业务。角色并不能满足用户对精细化授权的要求,无法完全达到企业对权限最小化的安全管控要求。 策略:IAM最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。基于策略的授权是一种更加灵活的授权方式,能够满足企业对权限最小化的安全管控要求。例如:针对CCE服务,租户(Domain)能够控制用户仅能对某一类集群和节点资源进行指定的管理操作。多数细粒度策略以API接口为粒度进行权限拆分,CCE支持的API授权项请参见权限策略和授权项。 如表1所示,包括了CCE的所有系统权限。 表1 CCE系统权限 系统角色/策略名称 描述 类别 依赖关系 CCE Administrator 具有CCE集群及集群下所有资源(包含集群、节点、工作负载、任务、服务等)的读写权限。 系统角色 拥有该权限的用户必须同时拥有以下权限: 全局服务:OBS Buckets Viewer、OBS Administrator。 区域级项目:Tenant Guest、Server Administrator、ELB Administrator、SFS Administrator、SWR Admin、 APM FullAccess。 说明: 如果同时拥有NAT Gateway Administrator权限,则可以在集群中使用NAT网关的相关功能。 如果IAM子用户需要对其他用户或用户组进行集群命名空间授权,则该用户需要拥有IAM只读权限。 CCE FullAccess CCE服务集群相关资源的普通操作权限,不包括集群(启用Kubernetes RBAC鉴权)的命名空间权限,不包括委托授权、生成集群证书等管理员角色的特权操作。 策略 无 CCE ReadOnlyAccess CCE服务集群相关资源的查看权限,不包括集群(启用Kubernetes RBAC鉴权)的命名空间权限。 策略 无 表2 CCE常用操作与系统权限的关系 操作 CCE ReadOnlyAccess CCE FullAccess CCE Administrator 创建集群 x √ √ 删除集群 x √ √ 更新集群,如后续允许集群支持RBAC,调度参数更新等 x √ √ 升级集群 x √ √ 唤醒集群 x √ √ 休眠集群 x √ √ 查询集群列表 √ √ √ 查询集群详情 √ √ √ 添加节点 x √ √ 删除节点/批量删除节点 x √ √ 更新节点,如更新节点名称 x √ √ 查询节点详情 √ √ √ 查询节点列表 √ √ √ 查询任务列表(集群层面的job) √ √ √ 删除任务/批量删除任务(集群层面的job) x √ √ 查询任务详情(集群层面的job) √ √ √ 创建存储 x √ √ 删除存储 x √ √ 操作所有kubernetes资源。 √(需Kubernetes RBAC授权) √(需Kubernetes RBAC授权) √ 容器智能分析所有资源查看权限 √ √ √ 容器智能分析所有资源操作权限 x √ √ 告警助手所有资源查看权限 √ √ √ 告警助手所有资源操作权限 x √ √ E CS (弹性云服务器)服务的所有权限。 x √ √ EVS(云硬盘)的所有权限。 可以将云硬盘挂载到云服务器,并可以随时扩容云硬盘容量 x √ √ VPC(虚拟私有云)的所有权限。 创建的集群需要运行在虚拟私有云中,创建命名空间时,需要创建或关联VPC,创建在命名空间的容器都运行在VPC之内。 x √ √ ECS(弹性云服务器)所有资源详情的查看权限。 CCE中的一个节点就是具有多个云硬盘的一台弹性云服务器 √ √ √ ECS(弹性云服务器)所有资源列表的查看权限。 √ √ √ EVS(云硬盘)所有资源详情的查看权限。可以将云硬盘挂载到云服务器,并可以随时扩容云硬盘容量 √ √ √ EVS(云硬盘)所有资源列表的查看权限。 √ √ √ VPC(虚拟私有云)所有资源详情的查看权限。 创建的集群需要运行在虚拟私有云中,创建命名空间时,需要创建或关联VPC,创建在命名空间的容器都运行在VPC之内 √ √ √ VPC(虚拟私有云)所有资源列表的查看权限。 √ √ √ ELB(弹性负载均衡)服务所有资源详情的查看权限。 x x √ ELB(弹性负载均衡)服务所有资源列表的查看权限。 x x √ SFS(弹性文件服务)服务所有资源详情的查看权限。 √ √ √ SFS(弹性文件服务)服务所有资源列表额查看权限。 √ √ √ AOM 应用运维管理 )服务所有资源详情的查看权限。 √ √ √ AOM(应用运维管理)服务所有资源列表的查看权限。 √ √ √ AOM(应用运维管理)服务自动扩缩容规则的所有操作权限。 √ √ √
  • CCE集群配额限制 针对每个用户,云容器引擎的集群在每个地域分配了固定配额。 限制项 普通用户限制 例外 实名认证 实名认证 - 单Region下集群总数 50 请提交工单申请扩大配额。 单集群最大节点数(集群管理规模) 可选择50节点、200节点、1000节点或2000节点多种管理规模。 如果已有规模无法满足您的需求,您可以提交工单申请扩大集群管理规模,最大支持10000节点。 单节点最大实例数 256 说明: CCE Turbo 集群中,节点最大实例数由节点可使用的网卡数量决定。 如果您期望提升节点上的部署密度,您可以提交工单申请调整节点最大实例数,最大支持修改至512个实例。 单个集群管理的最大Pod数 10万Pod 如果当前支持的Pod数量无法满足您的需求,您可以提交工单申请技术支持,帮助您基于业务模型调优集群。
  • 集群容量限制 集群规格容量由多种资源共同构成,例如容器组(Pod)、 云存储 实例(Persistent volume)、服务(Service)等,同时资源对象的大小也会影响集群规格容量。 例如: 当Pod对象资源过大时,在一定的规格性能范围内Pod数量上限将相应降低。 当Pod数量趋于上限时,集群内其他类型资源上限也将相应降低。 在实际使用环境中,由于集群中多种资源共存,单一的类型资源可能无法达到上限值。因此,您可以通过监控及时查看集群相关使用率,对集群进行适当的规划和管理,以确保所有资源的性能都能够得到最大化的利用。如果当前规格无法满足您的使用需求,可以通过扩容来保证集群的稳定性。
  • 依赖底层云产品配额限制 限制大类 限制项 普通用户限制 计算 实例数 1000 核心数 8000核 RAM 容量 (MB) 16384000 网络 一个用户创建虚拟私有云的数量 5 一个用户创建子网的数量 100 一个用户拥有的安全组数量 100 一个用户拥有的安全组规则数量 5000 一个路由表里拥有的路由数量 100 一个虚拟私有云拥有路由数量 100 一个区域下的对等连接数量 50 一个用户拥有网络ACL数量 200 一个用户创建二层连接网关的数量 5 负载均衡 弹性负载均衡 50 弹性负载均衡监听器 100 弹性负载均衡证书 120 弹性负载均衡转发策略 500 弹性负载均衡后端主机组 500 弹性负载均衡后端服务器 500 如果当前配额无法满足您的需求,您可以提交工单申请提升配额。
  • 集群/节点限制 集群一旦创建以后,不支持变更以下项: 变更集群类型,例如“CCE Standard集群”更换为“CCE Turbo集群”。 变更集群的控制节点数量,例如非高可用集群(控制节点数量为1)变更为高可用集群(控制节点数量为3)。 变更控制节点可用区。 变更集群的网络配置,如所在的 虚拟私有云VPC 、子网、容器网段、服务网段、IPv6、kubeproxy代理(转发)模式。 变更网络模型,例如“容器隧道网络”更换为“VPC网络”。 CCE创建的ECS实例(节点)目前支持“按需计费”和“包年/包月”,其他资源(例如负载均衡)为按需计费。如果资源所属的服务支持将按需计费实例转换成包年/包月实例,您可以通过对应的控制台进行操作。 集群中纳管计费模式为“包年包月”的节点时,无法在CCE控制台为其续费,用户需前往ECS控制台单独续费。 由于ECS(节点)等CCE依赖的底层资源存在产品配额及库存限制,创建集群、扩容集群或者自动弹性扩容时,可能只有部分节点创建成功。 ECS(节点)规格要求:CPU ≥ 2核且内存 ≥ 4GB。 通过搭建VPN方式访问CCE集群,需要注意VPN网络和集群所在的VPC网段、容器使用网段不能冲突。
  • 网络限制 节点访问(NodePort)的使用约束:默认为VPC内网访问,如果需要通过公网访问该服务,请提前在集群的节点上绑定弹性IP。 CCE中的负载均衡(LoadBalancer)访问类型使用弹性负载均衡 ELB提供网络访问,存在如下产品约束: 自动创建的ELB实例建议不要被其他资源使用,否则会在删除时被占用,导致资源残留。 v1.15及之前版本集群使用的ELB实例请不要修改监听器名称,否则可能导致无法正常访问。 网络策略(NetworkPolicy),存在如下产品约束: 当前仅容器隧道网络模型的集群支持网络策略(NetworkPolicy)。网络策略可分为以下规则: 入规则(Ingress):所有版本均支持。 出规则(Egress):v1.23及以上集群版本。 不支持对IPv6地址网络隔离。 通过原地升级到支持Egress的集群版本,由于不会升级节点操作系统,会导致无法使用Egress,此种情况下,请重置节点。
  • 云容器引擎对比自建Kubernetes集群 表1 云容器引擎和自建Kubernetes集群对比 对比项 自建Kubernetes集群 云容器引擎 易用性 自建Kubernetes集群管理基础设施通常涉及安装、操作、扩展自己的集群管理软件、配置管理系统和监控解决方案,管理复杂。每次升级集群的过程都是巨大的调整,带来繁重的运维负担。 简化集群管理,简单易用 借助云容器引擎,您可以一键创建和升级Kubernetes容器集群,无需自行搭建Docker和Kubernetes集群。您可以通过云容器引擎自动化部署和一站式运维容器应用,使得应用的整个生命周期都在容器服务内高效完成。 您可以通过云容器引擎轻松使用深度集成的应用服务网格和Helm标准模板,真正实现开箱即用。 您只需启动容器集群,并指定想要运行的任务,云容器引擎帮您完成所有的集群管理工作,让您可以集中精力开发容器化的应用程序。 可扩展性 自建Kubernetes集群需要根据业务流量情况和健康情况人工确定容器服务的部署,可扩展性差。 灵活集群托管,轻松实现扩缩容 云容器引擎可以根据资源使用情况轻松实现集群节点和工作负载的自动扩容和缩容,并可以自由组合多种弹性策略,以应对业务高峰期的突发流量浪涌。 可靠性 自建Kubernetes集群操作系统可能存在安全漏洞和配置错误,这可能导致未经授权的访问、数据泄露等安全问题。 企业级的安全可靠 云容器引擎提供容器优化的各类型操作系统镜像,在原生Kubernetes集群和运行时版本基础上提供额外的稳定测试和安全加固,减少管理成本和风险,并提高应用程序的可靠性和安全性。 高效性 自建Kubernetes集群需要自行搭建镜像仓库或使用第三方镜像仓库,镜像拉取方式多采用串行传输,效率低。 镜像快速部署 云容器引擎配合 容器镜像服务 ,镜像拉取方式采用并行传输,确保高并发场景下能获得更快的下载速度,大幅提升容器交付效率。 成本 自建Kubernetes集群需要投入资金构建、安装、运维、扩展自己的集群管理基础设施,成本开销大。 云容器引擎成本低 您只需支付用于存储和运行应用程序的基础设施资源(例如云服务器、云硬盘、弹性IP/带宽、负载均衡等)费用和容器集群控制节点费用。
  • 容器化的优势 Docker使用Google公司推出的Go语言进行开发实现,基于Linux内核的cgroup,namespace,以及AUFS类的Union FS等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术。由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器。 Docker在容器的基础上,进行了进一步的封装,从文件系统、网络互联到进程隔离等,极大的简化了容器的创建和维护。 传统虚拟机技术通过Hypervisor将宿主机的硬件资源(如内存、CPU、网络、磁盘等)进行了虚拟化分配,然后通过这些虚拟化的硬件资源组成了虚拟机,并在上面运行一个完整的操作系统,每个虚拟机需要运行自己的系统进程。而容器内的应用进程直接运行于宿主机操作系统内核,没有硬件资源虚拟化分配的过程,避免了额外的系统进程开销,因此使得Docker技术比虚拟机技术更为轻便、快捷。 图2 传统虚拟化和容器化方式的对比 作为一种新兴的虚拟化方式,Docker跟虚拟机相比具有众多的优势: 更高效的利用系统资源 由于容器不需要进行硬件虚拟化分配以及运行完整操作系统等额外开销,Docker对系统资源的利用率更高。无论是应用执行速度、内存损耗或者文件存储速度,都要比传统虚拟机技术更高效。因此,相比虚拟机技术,一个相同配置的主机,往往可以运行更多数量的应用。 更快速的启动时间 传统的虚拟机技术启动应用服务往往需要数分钟,而Docker容器应用,由于直接运行于宿主内核,无需启动完整的操作系统,因此可以做到秒级、甚至毫秒级的启动时间。大大的节约了开发、测试、部署的时间。 一致的运行环境 开发过程中一个常见的问题是环境一致性问题。由于开发环境、测试环境、生产环境不一致,导致有些bug并未在开发过程中被发现。而Docker的镜像提供了除内核外完整的运行时环境,确保了应用运行环境一致性。 持续交付和部署 对开发和运维(DevOps)人员来说,最希望的就是一次创建或配置,可以在任意地方正常运行。 使用Docker可以通过定制应用镜像来实现持续集成、持续交付、部署。开发人员可以通过Dockerfile来进行镜像构建,并结合持续集成(Continuous Integration)系统进行集成测试,而运维人员则可以直接在生产环境中快速部署该镜像,甚至结合持续部署(Continuous Delivery/Deployment) 系统进行自动部署。 而且使用Dockerfile使镜像构建透明化,不仅开发团队可以理解应用运行环境,也方便运维团队理解应用运行所需条件,帮助更好的生产环境中部署该镜像。 更轻松的迁移 由于Docker确保了执行环境的一致性,使得应用的迁移更加容易。Docker可以在很多平台上运行,无论是物理机、虚拟机、公有云、私有云,甚至是笔记本,其运行结果是一致的。因此用户可以很轻易地将在一个平台上运行的应用,迁移到另一个平台上,而不用担心运行环境的变化导致应用无法正常运行的情况。 更轻松的维护和扩展 Docker使用的分层存储以及镜像的技术,使得应用重复部分的复用更为容易,也使得应用的维护更新更加简单,基于基础镜像进一步扩展镜像也变得非常简单。此外,Docker团队同各个开源项目团队一起维护了一大批高质量的官方镜像,既可以直接在生产环境使用,又可以作为基础进一步定制,大大的降低了应用服务的镜像制作成本。 表2 容器对比传统虚拟机总结 特性 容器 虚拟机 启动 秒级 分钟级 硬盘使用 一般为MB 一般为GB 性能 接近原生 弱 系统支持量 单机支持上千个容器 一般几十个
  • 云容器引擎的优势 云容器引擎是基于业界主流的Docker和Kubernetes开源技术构建的容器服务,提供众多契合企业大规模容器集群场景的功能,在系统可靠性、高性能、开源社区兼容性等多个方面具有独特的优势,满足企业在构建容器云方面的各种需求。 简单易用 通过WEB界面一键创建CCE Standard、CCE Turbo、CCE Autopilot三种集群,支持管理虚拟机节点或裸金属节点,支持虚拟机与物理机混用场景。 一站式自动化部署和运维容器应用,整个生命周期都在容器服务内一站式完成。 通过Web界面轻松实现集群节点和工作负载的扩容和缩容,自由组合策略以应对多变的突发浪涌。 通过Web界面一键完成Kubernetes集群的升级。 深度集成应用服务网格、Helm标准模板和插件中心,真正实现开箱即用。 高性能 基于在计算、网络、存储、异构等方面多年的行业技术积累,提供高性能的容器集群服务,支撑业务的高并发、大规模场景。 采用高性能裸金属NUMA架构和高速IB网卡,AI计算性能提升3-5倍以上。 安全可靠 高可靠:集群控制面支持3 Master HA高可用,3个Master节点可以处于不同可用区,保障您的业务高可用。集群内节点和工作负载支持跨可用区(AZ)部署,帮助您轻松构建多活业务架构,保证业务系统在主机故障、机房中断、自然灾害等情况下可持续运行,获得生产环境的高稳定性,实现业务系统零中断。 图1 集群高可用 高安全:私有集群,完全由用户掌控,并深度整合IAM和Kubernetes RBAC能力,支持用户在界面为子用户设置不同的RBAC权限。 提供安全运行时,为每个容器(准确地说是Pod)都运行在一个单独的微型虚拟机中,拥有独立的操作系统内核,以及虚拟化层的安全隔离。 开放兼容 云容器引擎在Docker技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性。 云容器引擎基于业界主流的Kubernetes实现,完全兼容Kubernetes/Docker社区原生版本,与社区最新版本保持紧密同步,完全兼容Kubernetes API和Kubectl。
  • 监控安全风险 结合应用运维管理AOM服务,CCE提供基于Kubernetes原生类型的容器监控能力,可实时监控应用及资源,采集各项指标及事件等数据以分析应用健康状态,提供全面、清晰、多维度 数据可视化 能力。此外,您还可以根据自己的需求,采集和监控工作负载的自定义指标,实现个性化的监控策略。 资源监控指标 资源基础监控包含CPU/内存/磁盘等指标数据,您可以全面监控集群的健康状态和负荷程度,具体请参见监控概述。您可以在CCE控制台从集群、节点、工作负载等维度查看这些监控指标数据,也可以在AOM中查看。 自定义指标 CCE支持采集应用程序中的自定义指标并上传到AOM,为您提供个性化的监控服务。您可以根据特定业务需求,扩展监控指标范围,具体使用方法请参见自定义监控。 父主题: 安全
  • 为什么选择云容器引擎 云容器引擎深度整合高性能的计算(ECS/BMS)、网络(VPC/EIP/ELB)、存储(EVS/OBS/SFS)等服务,并支持GPU、NPU、ARM等异构计算架构,支持多可用区(Available Zone,简称AZ)、多区域(Region)容灾等技术构建高可用Kubernetes集群。 华为云是全球首批Kubernetes认证服务提供商(Kubernetes Certified Service Provider,KCSP),是国内最早投入Kubernetes社区的厂商,是容器开源社区主要贡献者和容器生态领导者。华为云也是CNCF云原生计算基金会的创始成员及白金会员,云容器引擎是全球首批通过CNCF基金会Kubernetes一致性认证的容器服务。 更多选择理由,请参见产品优势和应用场景。
  • 产品形态 云容器引擎包含多种产品形态。 维度 子维度 CCE Standard CCE Turbo CCE Autopilot 产品定位 - 标准版本集群,提供高可靠、安全的商业级容器集群服务。 面向云原生2.0的新一代容器集群产品,计算、网络、调度全面加速。 无用户节点的Serverless版集群,无需对节点的部署、管理和安全性进行维护,并根据CPU和内存资源用量按需付费。 使用场景 - 面向有云原生数字化转型诉求的用户,期望通过容器集群管理应用,获得灵活弹性的算力资源,简化对计算、网络、存储的资源管理复杂度。 适合对极致性能、资源利用率提升和全场景覆盖有更高诉求的客户。 适合具有明显的波峰波谷特征的业务负载,例如在线教育、电子商务等行业。 规格差异 网络模型 云原生网络1.0:面向性能和规模要求不高的场景。 容器隧道网络模式 VPC网络模式 云原生网络2.0:面向大规模和高性能的场景。 组网规模最大支持2000节点 云原生网络2.0:面向大规模和高性能的场景。 网络性能 VPC网络叠加容器网络,性能有一定损耗 VPC网络和容器网络融合,性能无损耗 VPC网络和容器网络融合,性能无损耗 容器网络隔离 容器隧道网络模式:集群内部网络隔离策略,支持NetworkPolicy。 VPC网络模式:不支持 Pod可直接关联安全组,基于安全组的隔离策略,支持集群内外部统一的安全隔离。 Pod可直接关联安全组,基于安全组的隔离策略,支持集群内外部统一的安全隔离。 安全隔离性 普通容器:Cgroups隔离 安全容器:当前仅物理机支持,提供虚机级别的隔离 普通容器:Cgroups隔离 提供虚机级别的隔离 边缘基础设施管理 不支持 支持管理智能边缘小站 不支持
  • 产品架构 图1 CCE产品架构 计算:全面适配华为云各类计算实例,支持虚拟机和裸机混合部署、高性价比鲲鹏实例、GPU和华为云独有的昇腾算力;支持GPU虚拟化、共享调度、资源感知的调度优化。 网络:支持对接高性能、安全可靠、多协议的独享型ELB作为业务流量入口。 存储:对接云存储,支持EVS、SFS和OBS,提供磁盘加密、快照和备份能力。 集群服务:支持购买集群、连接集群、升级集群、管理集群等一系列集群生命周期管理服务。 容器编排:CCE提供了管理Helm Chart(模板)的控制台,能够帮助您方便的使用模板部署应用,并在控制台上管理应用。 制品仓库:对接容器 镜像服务 ,支持镜像全生命周期管理的服务,提供简单易用、安全可靠的镜像管理功能,帮助您快速部署容器化服务。 弹性伸缩:支持工作负载和节点的弹性伸缩,可以根据业务需求和策略,经济地自动调整弹性计算资源的管理服务。 服务治理:深度集成应用服务网格,提供开箱即用的应用服务网格流量治理能力,用户无需修改代码,即可实现灰度发布、流量治理和流量监控能力。 容器运维:深度集成容器智能分析,可实时监控应用及资源,支持采集、管理、分析日志,采集各项指标及事件并提供一键开启的告警能力。 扩展插件市场:提供了多种类型的插件,用于管理集群的扩展功能,以支持选择性扩展满足特性需求的功能。
  • 应用场景3:多种高级调度策略 当用户向Kubernetes申请容器所需的计算资源(如CPU、Memory、GPU等)时,调度器负责挑选出满足各项规格要求的节点来部署这些容器。通常,满足各项要求的节点并非唯一,且水位(节点已有负载)各不相同,不同的分配方式最终得到的分配率存在差异,因此,调度器的一项核心任务就是以最终资源利用率最优的目标从众多候选机器中挑出最合适的节点。 下图为Volcano scheduler调度流程,首先将API server中的Pod、PodGroup信息加载到scheduler cache中。Scheduler周期被称为session,每个scheduler周期会经历OpenSession,调用Action,CloseSession三个阶段。其中OpenSession阶段加载用户配置的scheduler plugin中实现的调度策略;调用Action阶段逐一调用配置的action以及在OpenSession阶段加载的调度策略;CloseSession为清理阶段。 Volcano scheduler通过插件方式提供了多种调度Action(例如enqueue,allocate,preempt,backfill)以及调度策略(例如gang,priority,drf,proportion,binpack等),用户可以根据实际业务需求进行配置。通过实现Scheduler提供的接口也可以方便灵活地进行定制化开发。
  • 应用场景4:高精度资源调度 Volcano 在支持AI,大数据等作业的时候提供了高精度的资源调度策略,例如在深度学习场景下计算效率非常重要。以TensorFlow计算为例,配置“ps”和“worker”之间的亲和性,以及“ps”与“ps”之间的反亲和性,可使“ps”和“worker”尽量调度到同一台节点上,从而提升“ps”和“worker”之间进行网络和数据交互的效率,进而提升计算效率。然而Kubernetes默认调度器在调度Pod过程中,仅会检查Pod与现有集群下所有已经处于运行状态Pod的亲和性和反亲和性配置是否冲突或吻合,并不会考虑接下来可能会调度的Pod造成的影响。 Volcano提供的Task-topology算法是一种根据Job内task之间亲和性和反亲和性配置计算task优先级和Node优先级的算法。通过在Job内配置task之间的亲和性和反亲和性策略,并使用task-topology算法,可优先将具有亲和性配置的task调度到同一个节点上,将具有反亲和性配置的Pod调度到不同的节点上。同样是处理亲和性和反亲和性配置对Pod调度的影响,task-topology算法与Kubernetes默认调度器处理的不同点在于,task-topology将待调度的Pods作为一个整体进行亲和性和反亲和性考虑,在批量调度Pod时,考虑未调度Pod之间的亲和性和反亲和性影响,并通过优先级施加到Pod的调度进程中。
  • 应用场景5:在线离线作业混合部署 当前很多业务有波峰和波谷,部署服务时,为了保证服务的性能和稳定性,通常会按照波峰时需要的资源申请,但是波峰的时间可能很短,这样在非波峰时段就有资源浪费。另外,由于在线作业SLA要求较高,为了保证服务的性能和可靠性,通常会申请大量的冗余资源,因此,会导致资源利用率很低、浪费比较严重。将这些申请而未使用的资源(即申请量与使用量的差值)利用起来,就是资源超卖。超卖资源适合部署离线作业,离线作业通常关注吞吐量,SLA要求不高,容忍一定的失败。在线作业和离线作业混合部署在Kubernetes集群中将有效的提升集群整体资源利用率。 目前Kubernetes的默认调度器是以Pod为单位进行调度的,不区分Pod中运行的业务类型。因此无法满足混部场景对资源分配的特殊要求。针对上述问题,Volcano实现了基于应用模型感知的智能调度算法,根据用户提交的作业类型,针对其应用模型对资源的诉求和整体应用负载的情况,优化调度方式,通过资源抢占,分时复用等机制减少集群资源的空闲比例。
  • 优势 CCE通过集成Volcano,在高性能计算、大数据、AI等领域有如下优势: 多种类型作业混合部署:支持AI、大数据、HPC作业类型混合部署。 多队列场景调度优化:支持分队列调度,提供队列优先级、多级队列等复杂任务调度能力。 多种高级调度策略:支持gang-scheduling、公平调度、资源抢占、GPU拓扑等高级调度策略。 多任务模板:支持单一Job多任务模板定义,打破Kubernetes原生资源束缚,Volcano Job描述多种作业类型(Tensorflow、MPI、PyTorch等)。 作业扩展插件配置:在提交作业、创建Pod等多个阶段,Controller支持配置插件用来执行自定义的环境准备和清理的工作,比如常见的MPI作业,在提交前就需要配置SSH插件,用来完成Pod资源的SSH信息配置。 在线离线业务混部:支持集群内在离线作业混部以及节点CPU和内存资源超卖,提升集群整体资源利用率。
  • 应用场景1:多类型作业混合部署 随着各行各业的发展,涌现出越来越多的领域框架来支持业务的发展,这些框架都在相应的业务领域有着不可替代的作用,例如Spark,Tensorflow,Flink等。在业务复杂性能不断增加的情况下,单一的领域框架很难应对现在复杂的业务场景,因此现在普遍使用多种框架达成业务目标。但随着各个领域框架集群的不断扩大,以及单个业务的波动性,各个子集群的资源浪费比较严重,越来越多的用户希望通过统一调度系统来解决资源共享的问题。 Volcano在Kubernetes之上抽象了一个批量计算的通用基础层,向下弥补Kubernetes调度能力的不足,向上提供灵活通用的Job抽象。Volcano通过提供多任务模板功能实现了利用Volcano Job描述多种作业类型(Tensorflow、Spark、MPI、PyTorch等),并通过Volcano统一调度系统实现多种作业混合部署,解决集群资源共享问题。
  • 应用场景2:多队列场景调度优化 用户在使用集群资源的时候通常会涉及到资源隔离与资源共享,Kubernetes中没有队列的支持,所以它在多个用户或多个部门共享一个机器时无法做资源共享。但不管在HPC还是大数据领域中,通过队列进行资源共享都是基本的需求。 在通过队列做资源共享时,CCE提供了多种机制。可以为队列设置weight值,集群通过计算该队列weight值占所有weight总和的比例来给队列划分资源;另外也可以为队列设置资源的Capability值,来确定该队列能够使用的资源上限。 例如下图中,通过这两个队列去共享整个集群的资源,一个队列获得40%的资源,另一个队列获得60%的资源,这样可以把两个不同的队列映射到不同的部门或者是不同的项目中。并且在一个队列里如果有多余的空闲资源,可以把这些空闲资源分配给另外一个队列里面的作业去使用。
  • 使用须知 该功能目前为公测阶段,如需使用,请联系客服申请开通。 搭建双活关系时,需要确保跨区域VPC网络互通,具体操作请参见跨区域VPC互通。 搭建双活关系前,需要在指定的区域提前创建好目标实例,且规格不小于源实例,且存储不小于源实例。如需放开规格限制,您可以联系客服申请,需注意目标实例的规格相较于源实例的规格不能过小,否则可能会导致目标实例CPU或内存资源不足。 搭建双活关系前,目标实例不能有任何额外的表。 双活的目标实例的管理员密码必须与源实例保持一致。 双活搭建完成以后,如果解除双活关系不能手动清理目标实例表(drop操作),否则无法重新再搭建双活实例。 当前实例为搭建双活关系中的源实例,负责将源实例的全量数据传输到目标实例。
  • 操作步骤 登录管理控制台。 在“实例管理”页面,单击“购买数据库实例”。 在“服务选型”页面,选择计费模式,兼容接口选择HBase,填写并选择实例相关信息后,单击“立即购买”。 图1 计费模式和基本信息 表1 计费方式 参数 描述 计费模式 目前仅支持按需计费模式。 用户选购完服务配置后,无需设置购买时长,系统会根据消费时长对账户余额进行扣费。 表2 基本信息 参数 描述 区域 租户所在的区域。 须知: 请就近选择靠近您业务的区域,可减少网络时延,提高访问速度。不同区域内的产品内网不互通,且购买后不能更换,请谨慎选择。 实例名称 设置实例名称时,需要满足如下规则。 实例名称允许和已有名称重复。 实例名称长度在4个到64个字节之间,必须以字母或中文字开头,区分大小写,可以包含字母、数字、中划线、下划线或中文(一个中文字符占用3个字节),不能包含其他特殊字符。 兼容接口 HBase 实例类型 集群 版本 3.11 可用区 指在同一区域下,电力、网络隔离的物理区域,可用区之间内网互通,不同可用区之间物理隔离。 图2 规格与存储 表3 规格与存储 参数 描述 性能规格 CPU规格越高,性能越好。请根据实际业务场景,选取符合业务类型的性能规格。 节点数量 节点数量可选择范围为3~21,请根据实际需要进行选取。 存储空间 存储空间的取值范围(最大值和最小值)与所选的实例规格有关 调整存储空间容量时,选择容量大小必须为整数,且至少需选择1GB的扩容量。 图3 网络配置 表4 网络配置 参数 描述 虚拟私有云 实例所在的 虚拟专用网络 ,可以对不同业务进行网络隔离。您可根据需要创建或选择所需的虚拟私有云。 如果没有可用的VPC,系统自动为您分配资源。 如何创建VPC,请参见《虚拟私有云用户指南》中的“创建虚拟私有云基本信息及默认子网”。 您还可以通过共享VPC功能,使用其他账号共享的VPC和子网。 共享VPC是基于 资源访问管理 (Resource Access Manager,简称RAM)服务的机制,VPC的所有者可以将VPC内的子网共享给其他账号使用,以实现网络资源的共享和统一管理,提升资源管控效率、降低运维成本。 有关VPC子网共享的更多信息,请参见《虚拟私有云用户指南》的“共享VPC”相关内容。 说明: 目前实例创建完成后不支持切换虚拟私有云VPC,请谨慎选择所属虚拟私有云。 如需与ECS进行内网通信,实例与需要通信的ECS需要处于同一个虚拟私有云下,或者不同虚拟私有云之间配置对等连接。 子网 通过子网提供与其他网络隔离的、可以独享的网络资源,以提高网络安全。 说明: 目前不支持选择IPV6网段的子网,建议您在使用时创建并选择IPV4网段的子网。 内网安全组 安全组限制安全访问规则,加强与其他服务间的安全访问。请确保所选取的安全组允许客户端访问数据库实例。 如果没有可用的安全组,系统自动为您分配资源。 图4 数据库配置 表5 数据库配置 参数 描述 管理员账户名 管理员账户名默认为rwuser。 管理员密码 用户设置的密码。 长度为8~32个字符。 必须是大写字母、小写字母、数字、特殊字符的组合,其中可输入特殊字符~!@#%^*-_=+?。 系统会进行弱密码校验,安全起见,请输入高强度密码。 请妥善管理您的密码,因为系统将无法获取您的密码信息。 确认密码 必须和管理员密码一致。 企业项目 该参数针对企业用户使用。 企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理,默认项目为default。 请在下拉框中选择所在的企业项目。更多关于企业项目的信息,请参见《企业管理用户指南》。 参数模板 数据库参数模板就像是数据库引擎配置值的容器,参数模板中的参数可应用于一个或多个相同类型的数据库实例。实例创建成功后,参数模板可进行修改。 用户可以在实例创建完成之后根据业务需要进行调整。 SSL安全连接 SSL证书是一种遵守SSL协议的服务器数字证书,能在客户端和服务器端之间建立加密通道,保证数据在传输过程中不被窃取或篡改。 您可以开启SSL连接,提高数据安全性。 说明: 如果您在创建实例时未开启SSL安全连接,可以待实例创建成功后开启,操作详情请参见设置SSL 数据加密 。 表6 标签 参数 描述 标签 可选配置,对GeminiDB HBase的标识。使用标签可以方便识别和管理您拥有的GeminiDB HBase资源。 每个实例默认最多支持20个标签配额。 如您的组织已经设定GeminiDB HBase的相关标签策略,则需按照标签策略规则为实例添加标签。标签如果不符合标签策略的规则,则可能会导致实例创建失败,请联系组织管理员了解标签策略详情。 标签由标签“键”和标签“值”组成。 键:如果要为数据库实例添加标签,该项为必选参数。 对于每个实例,每个标签的键唯一。长度不超过128字符,只能包含数字(0-9)、英文字母(A-Z,a-z)、下划线(_)、点(.)、连接符(-)和中文。 值:如果要为数据库实例添加标签,该项为可选参数。 长度不超过255个字符,只能包含数字(0-9)、英文字母(A-Z,a-z)、下划线(_)、点(.)、连接符(-)和中文。 在“订单详情确认”页面,核对实例信息。 如果需要修改,单击“上一步”,修改实例信息。 核对无误后,勾选协议,单击“提交”,开始创建实例。 在“实例管理”页面,您可以查看并管理实例。 实例创建过程中,运行状态显示为“创建中”。 实例创建完成后,运行状态显示为“正常”。 如果页面长时间未刷新,您可以单击页面右上角的刷新页面查看实例运行状态。 创建实例时,系统默认开启自动备份策略。因此,实例创建成功后,系统会自动创建一个全量备份。 实例创建完成后,在“实例管理”页面的兼容接口列显示“Cassandra 3.11.3”,实际为兼容HBase的Cassandra接口,使用与HBase无差异,可放心使用。
  • 查看实例IP地址 登录管理控制台。 在“实例管理”页面,单击目标实例名称,进入基本信息页面。 方法一: 在“基本信息”页面下方节点信息列表中,即可查看到GeminiDB HBase实例下各个节点的内网IP地址。 GeminiDB HBase实例目前不支持绑定公网IP。 图1 查看IP地址 在网络信息区域可以查看到GeminiDB HBase实例的端口,界面显示默认为8635,实际使用的默认端口为2181。 图2 查看端口 方法二: 您也可以单击实例“基本信息”左侧导航中的“连接管理”,即可查看到实例的内网IP地址和端口。 图3 查看IP和端口
  • 预留实例计费规则 预留实例的创建和释放由用户管理,根据预留实例的执行时长计费。通过预留实例,用户能够预热函数,从而彻底消除冷启动对延时的影响。 当用户调用API创建预留实例时,在预留实例创建成功后开始计费。 当用户调用API释放预留实例时,新的请求不会再路由到该预留实例上,因此该预留实例将在限定的时间内被释放,预留实例释放时停止计费。 图1 预留实例生命周期 如上图1所示,计费时长为T1~T4。 预留实例计量粒度为秒,不足一分钟,按照一分钟计费。超过一分钟,按照实际执行时长计费。 例如预留实例执行时长为51秒,按照1分钟计费。执行时长为61秒,则计费时长仍然为61秒。 执行时间费用的单位为GB-秒,指函数内存规格为1GB时,执行1秒的费用。
  • 计费周期 华为云 函数工作流 FunctionGraph 按照实际使用量付费,没有最低消费。计费模式采用累计分档计费,按天结算,即每日3点后对前一日使用量进行扣费。例如,2023-05-11 00:00:00至2023-05-11 23:59:59期间产生的费用,通常会在2023-05-12 03:00:00左右完成扣费。 函数响应事件通知或调用(包括控制台的测试调用)开始执行时记为一次请求,请求次数是所有函数的请求总数。 未使用预留实例情况下,执行时间是从函数代码开始执行的时间算起到其返回或终止的时间为止。计量粒度是1毫秒,不足1毫秒按1毫秒计费。例如,函数A执行了0.5毫秒、函数B执行了2.3毫秒,则计算函数资源消耗时,函数A执行时间按照1毫秒计费、函数B执行时间按照3毫秒计费。 使用预留实例情况下,执行时间是从实例创建成功后开始算起到用户调用API释放预留实例为止。计量粒度是1秒,不足1分钟按1分钟计算,超过一分钟的部分,按照秒的粒度向上取整计算,比如运行时间为51秒,将按60秒计算;运行时间为60.5秒,则按61秒计算,以此类推。
  • 适用计费项 函数工作流实际费用是由请求次数费用、执行时间费用、函数流节点执行次数、GPU计量时间、磁盘计量时间、闲置内存计量时间和其他费用构成,各计费项按需计费说明请参见表1。 表1 计费项说明 计费项 说明 请求次数费用 在您使用函数的过程中会产生请求次数费用,请求次数是所有函数的请求总数。 执行时间费用(非预留实例) 执行时间费用包含两个变量:函数分配的内存大小和执行时长。以下介绍计算资源消耗的方式: 函数计算资源消耗是函数所选内存和函数执行时长的乘积,执行时长是从函数代码开始执行的时间算起到其返回或终止的时间为止,计量的粒度是1毫秒,不足1毫秒按1毫秒计费。 执行时间费用(预留实例) 执行时间费用包含两个变量:函数分配的内存大小和执行时长。以下介绍计算资源消耗的方式: 函数计算资源消耗是函数所选内存和函数执行时长的乘积,执行时长是从预留实例创建成功后开始算起到用户调用API释放预留实例为止。如果预留实例存活时长不足1分钟,将按照1分钟计算,超过1分钟的部分,按照秒的粒度向上取整计算。 节点执行次数费用(函数流) 函数流中除开始、结束和异常分支节点外,其他节点都要统计执行次数计费。 GPU计量时间费用 根据您配置函数的GPU规格和函数执行时长计费,输入值必须在0GB到10GB之间,执行时长的计量粒度是1毫秒。 磁盘计量时间费用 根据您配置函数的磁盘规格和函数执行时长计费,磁盘超出512MB的部分才计费,输入值必须在512MB到10GB之间,执行时长的计量粒度是1毫秒。 闲置内存计量时间费用 在配置预留实例时可开启,表示预留实例在无调用的时候暂停CPU,节省资源,降低费用成本。详情请参见预留实例管理。 其他费用 在您使用函数工作流服务过程中,如果搭配使用了其它华为云服务,如OBS、 SMN 等,则您需要为该服务支付额外的费用,具体费用请参考价格详情。
  • 什么是KooMap 云地图服务 云地图 服务( KooMap )是提供空间处理、计算、可视、虚实交互等一站式开箱即用的云服务,赋能客户虚实融合互动的应用创新。 当前KooMap推出了AR地图生产服务和AR地图运行服务。 AR地图生产服务:对外业采集的图像数据进行加工处理,生成AR地图成果数据,供AR地图运行服务使用。 AR地图运行服务:基于高精度AR地图,提供在物理世界的厘米级高精度的视觉定位和AR导航,支持用户在物理空间中进行AR内容的展示,提供虚实交互应用体验。 父主题: 服务咨询
  • 请求示例 POST https://dme.cn-north-4.huaweicloud.com/rdm_b3f9b7523a6141f4b2d76b92d6595281_app/publicservices/api/PersistableModel/batchUpdate { "applicationId" : "b3f9b7523a6141f4b2d76b92d6595281", "params" : [ { "id" : "2", "modifier" : "test1", "creator" : "test1", "rdmExtensionType" : "PersistableModel", "uniqueKey" : "批量更新1" }, { "id" : "3", "modifier" : "test1", "creator" : "test1", "rdmExtensionType" : "PersistableModel", "uniqueKey" : "批量更新2" } ] }
共100000条