手册下载
H3C UIS超融合产品 云原生引擎最佳实践-5W101-整本手册.pdf
(1.32 MB)
H3C UIS超融合产品
云原生引擎最佳实践
资料版本:5W101-20230630
Copyright © 2023 新华三技术有限公司 版权所有,保留一切权利。
非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。
除新华三技术有限公司的商标外,本手册中出现的其它公司的商标、产品标识及商品名称,由各自权利人拥有。
本文档中的信息可能变动,恕不另行通知。
本手册主要介绍UIS云原生引擎的产品特性及如何在其上部署云原生应用。
随着云计算和虚拟化技术的发展,越来越多的企业和组织开始采用云原生架构来构建和管理自己的基础设施。云原生架构的核心特征是采用容器技术、自动化编排和微服务架构的进行应用程序开发,并且具有弹性、可伸缩、易扩展、安全可靠等优势。
但是,传统的基础设施组件并不适用于云原生架构,它们通常基于非容器化的技术和架构,无法很好地支持容器化应用程序和微服务架构,因此,UIS开发出了独立的云原生内核,深度整合UIS高性能计算、网络和存储资源,帮助用户快速构建、部署和管理云原生的应用程序和基础设施,提高应用程序的交付速度和业务灵活性。
云原生引擎是一套基于云计算和虚拟化技术的云原生基础设施组件,其基础架构如下图所示,云原生引擎由UIS标准版支撑,由管理组件集群与业务容器集群组成,当前均为虚拟化部署。
· 简易运维:支持Kubernetes容器集群一站式部署和运维,无需自行搭建容器集群环境,开箱即用。
· 高可用:业务集群控制平面支持3节点HA,保障业务连续运行。
· 高性能:支持UIS高性能虚拟机、GPU等多种基础设施。
· 开放兼容:提供标准的Kubernetes API,完全兼容社区版本。提供连接凭据下载,轻松整合外部工具链。
云原生引擎的组网包括管理组件集群组网与业务容器集群组网两个部分,其中业务集群支持管理业务复用模式与管理业务分离模式两种模式。
管理集群网络当前仅使用管理网络,要求与UIS标准版、业务容器集群管理网络三层互通。通常使用相同网段网络。
管理业务复用模式下,业务网络与管理网络互通,此时无需单独为业务集群配置独立管理网络。业务集群组件需要配置业务网、存储网络:
· 业务网络:业务网络要求与管理组件集群、UIS标准版互通,用于承载容器集群网络、绑定EIP对外发布容器服务。
· 存储网络:存储网络主要用于文件、对象存储访问,在有访问需求时需要进行配置,其余情况可配置任意不干扰当前网络的地址。
管理业务分离模式的情况下,业务网络与管理网络无法通信,此时需为业务集群配置独立管理网络。业务集群组件需要配置管理网、业务网、存储网络:
· 管理网络:要求与管理组件集群、UIS标准版互通。
· 业务网络:用于承载容器集群网络、绑定EIP对外发布容器服务。
· 存储网络:主要用于文件、对象存储访问,在有访问需求时需要进行配置,其余情况可配置任意不干扰当前网络的地址。
|
组件 |
类别 |
虚拟交换机 |
网络 |
掩码 |
网关 |
|
UIS标准版 |
管理网 |
vswitch0 |
192.168.0.2(vip) |
255.255.255.0 |
192.168.0.1 |
|
业务网 |
vs_business |
N/A |
N/A |
N/A |
|
|
存储网 |
vs_storage |
192.168.2.10 |
255.255.255.0 |
N/A |
|
|
管理组件集群 |
管理网 |
vswitch0 |
192.168.0.100 |
255.255.255.0 |
192.168.0.1 |
|
业务集群1 (复用) |
业务网 |
vs_business |
192.168.0.110-192.168.0.120 |
255.255.255.0 |
192.168.0.1 |
|
存储网 |
vs_storage |
192.168.2.110-192.168.2.120 |
255.255.255.0 |
N/A |
|
|
业务集群2 (分离) |
管理网 |
vswitch0 |
192.168.0.130-192.168.0.140 |
255.255.255.0 |
192.168.0.1 |
|
业务网 |
vs_business |
192.168.1.130-192.168.1.140 |
255.255.255.0 |
N/A |
|
|
存储网 |
vs_storage |
192.168.2.130-192.168.2.140 |
255.255.255.0 |
N/A |
|
|
EIP预留 |
业务网 |
vs_business |
192.168.1.200-192.168.1.240 |
255.255.255.0 |
N/A |
本文档中所采用的软件版本信息如下:
|
软件 |
版本 |
|
UIS超融合管理平台 |
E0750P09 |
|
云原生引擎组件版本 |
E0102P02 |
|
特性 |
取值 |
|
最多可管理业务集群数量 |
50 |
|
单业务集群最大节点数量 |
500 |
业务集群的工作节点建议使用较大规格并减少其数量以避免节点所需的基础资源损耗。
在使用UIS云原生引擎组件服务前,需要UIS标准版环境已部署完成,对UIS环境有如下要求:
· UIS标准版至少为三节点。
· UIS标准版需添加共享存储池,可分配容量不低于200G(管理组件单节点部署)。
· 管理网络、业务网络和存储网络虚拟交换机已创建完成。
部署云原生应用之前,首先需要创建业务集群,业务集群是云原生引擎提供应用程序服务和业务相关的集群,也可以被视为容器应用的基础设施,用来部署相关应用程序和服务。
· 创建业务集群之前,需要在UIS超融合管理平台上已部署好管理集群组件,并上传业务容器集群组件包,管理集群组件部署请参见《UIS云原生引擎用户指南》。
创建业务集群之前,请首先做好业务集群的网络地址规划。集群配置中包含了业务集群的全局网络配置,包括管理网、业务网和存储网的网络规划。业务集群的组网说明请参见2.2 章节以及2.3 章节。
(1) 在UIS超融合管理平台,单击顶部“云业务”页签,选择左侧[容器与应用/集群配置]菜单项,进入集群配置页面。
(2) 单击<增加>按钮,弹出增加网络规划页面。
(3) 配置网络规划当中的管理网、业务网、存储网的地址信息并配置相关参数,参数的解释说明可参见《H3C UIS云原生引擎用户指南》。
(4) 在高级配置中,可配置业务集群的DNS服务器IP地址和附加路由,用于解析容器服务名称到容器IP地址的转换,添加附加路由将外部流量路由到容器服务的网络路由规则。
(5) 单击<完成>按钮完成操作。
(1) 在UIS超融合管理平台,单击顶部“云业务”页签,选择左侧[容器与应用/集群管理]菜单项,进入集群管理页面。
(2) 单击<增加>按钮,弹出增加集群页面,配置业务集群的基本信息和高级配置。
(3) 单击<完成>按钮完成业务集群的创建。
本章节将以典型的无状态服务nginx为例,介绍在云原生引擎上创建无状态服务的通用配置步骤。
上传镜像的方式分为页面上传和客户端上传两种,本章节采用页面上传镜像的方式。
· 页面上传:从本地上传镜像到云原生引擎上。
· 客户端上传:指在安装了容器引擎客户端的机器上使用docker命令将镜像上传到云原生引擎的镜像仓库中。
(1) 登录UIS云原生引擎,单击顶部“资源中心”页签,选择左侧[镜像仓库管理]菜单项,进入镜像仓库管理页面。
(2) 选择容器镜像上传的目的仓库,进入镜像仓库。
(3) 上传容器镜像。选择页面上传方式,上传本地的镜像文件。
上传镜像文件时如果访问凭证为空,请在访问凭证管理页面创建。
(4) 上传之后即可在镜像仓库中查看到已上传的nginx容器镜像,单击镜像名称前的下拉
图标,可查看上传镜像的集群内和集群外访问路径。
|
参数 |
说明 |
|
集群内路径 |
集群内创建应用服务的镜像访问路径。 |
|
集群外路径 |
云原生引擎外的镜像访问路径,可用于集群外拉取、下载镜像。 |
EIP为基于业务网的IP地址资源池,用于集群外部访问容器集群内部部署的服务,当创建的容器服务对外发布选择“负载均衡”时,需指定EIP地址池,否则容器服务发布将从所有的EIP地址池中选择。
(1) 登录UIS云原生引擎,进入云原生引擎概览页面。
(2) 单击顶部“集群管理”页签,在集群列表中单击目标集群名称,进入目标集群管理页面。
(3) 单击“服务”页签,进入服务设置页面,选择下方的“EIP”选项,进入EIP设置页面。
(4) 单击<增加>按钮,进入新建EIP页面,设置相关参数。
(5) 单击<提交>按钮完成EIP地址池的创建。
(1) 登录云原生引擎。
(2) 在“集群管理”页签下,选择目标集群,进入目标集群管理页面。
(3) 单击“工作负载”页签,进入工作负载设置页面。
(4) 单击<增加>按钮,增加Deployment类型的工作负载,在弹出的创建Workload页面中配置相关参数。
¡ 设置工作负载的基本信息。
¡ 设置实例内容器的名称和镜像,镜像处应该粘贴镜像集群内的访问地址。
¡ 设置容器服务的访问方式。此处以负载均衡为例,地址池处选择之前创建的EIP地址池。
(5) 单击<创建Workload>按钮,完成nginx工作负载的创建。在Pod管理页面,可查看到承载nginx服务的两个Pod正处于运行状态。
(1) nginx服务创建完成之后,在目的集群的集群管理页面,单击“服务”页签,可查看到nginx服务对外提供服务的IP地址。
(2) 返回UIS超融合管理平台,打开承载nginx服务的Pod所在工作节点虚拟机控制台,访问nginx服务对外提供服务的IP地址,查看到如下信息,说明nginx服务创建成功。
本章节以Helm模板来部署Mariadb数据库,介绍在云原生引擎上创建有状态应用的通用配置步骤。
上传mariadb镜像的操作步骤请参见7.1 的章节。
通过模板部署应用时还需上传应用的Helm模板到云原生引擎上,Helm模板的上传方式分为页面上传和客户端上传两种,本章节选用页面上传方式进行:
· 页面上传:本地上传Helm模板。
· 客户端上传:在安装了Helm客户端的机器上通过Helm命令上传模板到云原生引擎的模板仓库中。
(1) 登录UIS云原生引擎,单击顶部“资源中心”页签,选择左侧[应用模板管理]菜单项,进入模板管理页面。
(2) 单击“仓库”页签,进入仓库管理页面,并在目标仓库的操作列单击<页面上传>按钮,上传模板。
(3) 在应用模板上传页面,选择上传的模板文件,单击<上传>按钮,完成操作。
(4) 上传完成之后,在应用模板管理页面,单击“模板”页签,可查看到上传的模板。
有状态应用通常需要在执行过程中进行状态维护,比如需要存储和管理数据库中的数据,而MariaDB这种关系型的数据库管理系统(RDBMS)最终要将数据存储到文件系统中,因此需要为集群添加主机本地持久化数据存储,并指定挂载点和持久存储卷,以确保数据不会丢失。
(1) 登录云原生引擎,在集群管理页面选择并进入目标集群管理页面,单击“存储”页签,进入集群存储管理页面。
(2) 增加StorageClass。StorageClass是一种用于定义底层存储设备的抽象层,用于将物理存储资源与集群中的应用程序解耦。
¡ 在集群存储管理页面,选择左侧“StorageClass”选项,单击<增加>按钮,增加StorageClass。
表1 关键参数说明
|
参数 |
说明 |
|
默认StorageClass |
勾选是否将创建的StorageClass设置为默认,勾选之后,如其使用供应商的类型为“UIS CSI”,创建需要使用集群存储的应用时,无需手动创建PV和PVC。 |
|
供应商 |
选择为云原生提供存储资源的接口,包括UIS CSI和自定义两种选项。 · UIS CSI:UIS标准版提供的存储资源接口。 · 自定义:用户自定义的容器存储接口,此时需要输入供应商标志(Provisioner)。 |
|
回收策略 |
选择StorageClass的回收策略,包括保留和删除两种。 · 保留:保留策略会在PVC、PV之间的绑定关系解除后,仍然保留PV。 · 删除:删除策略会在PVC与PV之间的绑定关系解除后,直接删除底层存储的PV及其数据。 |
|
存储池名称 |
为容器集群提供存储资源的UIS超融合管理平台上共享存储池名称(非显示名称)。 |
¡ 配置完相关参数,单击<创建StorageClass>按钮,完成操作。此时在集群存储管理页面可查看创建完成的StorageClass。
¡ 在创建的StorageClass的操作列,可将其设置为默认StorageClass,设置为默认之后,如其使用供应商的类型为“UIS CSI”,创建需要使用集群存储的应用时,无需手动创建PV和PVC。
如创建的StorageClass的供应商类型为自定义,在创建需要使用集群存储的应用时,需要手动创建PV和PVC,并且其状态变为“Bound”绑定状态时,才能被集群应用使用。
(3) 创建PersistentVolumeClaim(PVC)。PVC是Kubernetes中用于声明对存储资源的需求的对象,它与Pod对象类似,可以在Kubernetes集群中被创建、销毁或更新,PVC通过指定StorageClass来引用底层存储系统中的持久化卷。
¡ 在集群存储管理页面,选择左侧“PersistentVolumeClaim”,单击<增加>按钮,增加StorageClass。
¡ 配置相关参数,单击<创建>按钮完成操作。
(4) 创建PersistentVolume(PV)。PV表示抽象的存储资源,通过PV可以将存储资源抽象为K8S集群中的存储资源,实现Pod与底层存储之间的解耦。
¡ 在集群存储管理页面,选择左侧“PersistentVolume”,单击<增加>按钮,弹出新建PersistentVolume页面,增加PersistentVolume。
¡ 配置相关参数,单击<创建PersistentVolume>按钮完成操作。创建的PersistentVolume如果有与其对应的PVC(StorageClass、访问模式一样,PV容量≥PVC容量),将会自动和PVC绑定,PV和PVC的状态都会变为“Bound”。
(1) 登录云原生引擎,进入云原生引擎概览页面。
(2) 单击顶部“运维中心”页签,进入应用管理界面。
(3) 单击<增加>按钮,新建应用,进入新建应用参数设置页面。
(4) 设置了应用名称、运行集群、命名空间、模板类型并选择了相应的模板之后,需要修改模板配置的yaml文件,设置相应参数。
(5) 在弹出的yaml参数配置页面,设置相关参数。此处创建的是mariadb应用,所以至少需要设置集群内mariadb镜像所在的仓库路径以及mariadb需要使用的StorageClass名称。
(6) 在配置文件中还可设置mariadb数据库服务的访问方式、root账户密码、副本数等多项参数,方便用户个性化部署。
(7) 参数设置完后,单击<保存>按钮,完成对yaml配置文件的修改。之后,可单击拟允许参数的<点击执行>按钮,查看模板部署的模拟结果,方便用户在实际部署之前验证模板的部署情况。
(8) 设置完相关参数之后,单击<提交>按钮,开始部署应用。应用管理页面上会显示模板的部署状态。
(9) 单击应用名称进入应用详情页面,可查看到应用相关的资源列表、应用详情和版本历史,并可对其中的参数进行修改重新部署。
创建了mariadb应用之后,可通过云原生引擎提供的容器远程登录功能,登录mariadb数据库,查看部署的mariadb应用。
(1) 部署完mariadb应用之后,在部署集群的工作负载页面,可查看承载mariadb应用的节点Pod。
(2) 单击master节点名称进入Pod管理页面,之后单击操作列的<远程登录>按钮,远程登录容器后台。
(3) 在弹出的容器登录页面单击<登录>按钮,浏览器会打开一个页面进入容器后台。
(4) 在命令行中输入mariadb数据库的登录命令,登录mariadb数据库。
