本节以添加Kubernetes集群为例说明创建集群的步骤。
创建集群的步骤如下。
1.以系统管理员角色登录平台。
2.在左侧导航栏中选择集群。
3.单击页面右上角的创建新集群。
4.填写集群基础设置信息。
表1 集群的基础设置
参数 |
配置说明 |
配置示例 |
---|---|---|
集群名称 |
集群的名称,用于页面展示,可包括中文、英文、数字和特殊字符等。设置后不可修改。 |
开发的集群 |
集群编码 |
集群的名称编码,设置主机集群名称后,会自动生成该名称的编码,也可手动修改。只能包含小写字母数字。 |
k8s1 |
高可用集群 |
设置集群是否为高可用集群,默认不开启。 •高可用Kubernetes集群包含3个集群管理节点和至少1个集群计算节点,集群管理节点可同时作为集群计算节点。单管理节点故障时,集群仍然可用。 •常规Kubernetes集群只包含1个集群管理节点和至少1个集群计算节点,集群管理节点可同时作为集群计算节点。 |
- |
高可用集群Virtual IP地址 |
开启“高可用集群”时有该项设置,需与3台管理节点IP在同一网段,且不被占用。 |
- |
Virtual IP绑定网卡 |
开启“高可用集群”时有该项设置,3个集群管理节点的管理IP对应的网卡名称必须一致。 |
ens3 |
集群规格 |
可选“小规模(1~10个节点)”、“中规模(11~50个节点)”、“大规模(51~200个节点)”、“超大规模(200个节点以上)”。 选择不同的集群规模后,集群组件的资源要求会有差异,请根据实际情况选择。 |
- |
系统数据存储路径 |
打开日志收集功能后,请为日志数据分配存储空间,此处设置的路径为日志文件的存储路径。 |
/var/lib/miaoyun |
5.设置基础设置中的高级设置。
表2 集群的高级设置
参数 |
配置说明 |
配置示例 |
---|---|---|
节点最大Pod数量 |
设置集群中每个节点上允许运行Pod数量的最大值,默认为55,上限为1000。 |
55 |
监控设置 |
Kubernetes集群监控的相关设置,可设置监控数据的保留时间,默认保留15天,可以通过“+”、“-”设置监控数据保留天数。 |
15 |
访问入口设置 |
Kubernetes集群系统默认IngressController设置,可配置HTTP和HTTPS 的端口,不开启服务治理功能时,默认为80和443,自定义设置HTTP和HTTPS端口,端口范围在1-65536之间。 |
默认80和443 |
ETCD相关配置 |
默认已配置ETCD数据存储路径和ETCD存储路径前缀,可自定义设置。 |
- |
Virtual IP绑定网卡 |
开启“高可用集群”时有该项设置,3个集群管理节点的管理IP对应的网卡名称必须一致。 |
ens3 |
代理通信模式 |
启用后,将通过集群代理组件与管理平台核心组件进行通信,可用于内网集群访问外网管理平台的场景。 |
- |
6.设置集群的网络信息。
网络设置中包括网络模型、节点网络和容器组网络等信息。Pod、Service和外部组件之间需要通过Kubernetes集群的网络进行通信,网络信息设置如表 3所示。
表3 集群的网络信息
参数 |
配置说明 |
配置示例 |
---|---|---|
网络模型 |
Kubernetes集群支持如下两种网络模型: •Calico:Calico是基于全路由的集群网络组件,支持很细致的ACL控制。 Calico是一个纯三层的方法,使用虚拟路由代替虚拟交换,并且提供了丰富灵活的网络策略,可实现多租户隔离等功能。 •Flannel:Flannel是基于Overlay的集群网络组件,将数据包封装在另一种网络包里进行路由转发和通信。 |
Calico |
节点路由规则 |
网络模型选择为Calico时,有该选项。节点有多网卡时,为使管理和业务网络流量分离,可通过此规则来设置业务网卡。 •默认:使用第一个网卡上IP进行路由。 •IP或域名:使用可达IP或者域名的IP 进行路由。 •包括匹配的接口:可填写正则表达式进行匹配,使用匹配网卡列表的第一个网卡接口上的有效IP进行路由。 •排除匹配的接口:可填写正则表达式进行匹配,使用排除匹配网卡列表后的第一个网卡接口上的有效IP进行路由。 |
默认 |
网络安全策略 |
网络模型选择为Calico时,有该选项。开启网络安全策略后,默认项目间和项目内所有Pod相互隔。 |
- |
容器组网络CIDR |
容器组网络是Pod之间相互通信使用的网络,为非必填项,如果不设置则使用自动创建的网络。 |
10.32.0.0/12 |
服务网络CIDR |
服务网络是Pod和Service之间相互通信使用的网络,为非必填项,如果不设置则使用自动创建的网络。 |
10.96.0.0/12 |
起始端口 |
主机端口范围为1-65535之间,并且起始端口必须小于结束端口。默认起始端口30000。 |
30001 |
结束端口 |
主机端口范围为1-65535之间,并且起始端口必须小于结束端口。默认结束端口32767。 |
32767 |
新增附加网络 |
网络类型MacVLAN |
•网络名称:附加网络名称以小写字母开头,可以包含数字、小写字母和-,且不能重名。 •网络类型:MacVLAN。 •主机网卡名称:默认为默认路由对应的网卡,可以指自定义指定节点的某张网卡。 •模式: obridge 模式,模拟的是 Linux bridge 的功能,但比 bridge 要好的一点是每个接口的MAC地址是已知的,子接口之间就是直接可以通信的。 oprivate 模式,同一主接口下的子接口之间彼此隔离,不能通信。 oVEPA(virtual ethernet port aggregator) 模式,子接口之间的通信流量需要导到外部支持802.1Qbg/VPEA功能的交换机上(可以是物理的或者虚拟的),经由外部交换机转发,再绕回来。 opassthru 模式,只允许单个子接口连接主接口,且必须设置成混杂模式,一般用于子接口桥接和创建VLAN子接口的场景。 •IPAM元数据存储位置: oEtcd:集群范围,IPAM数据存储在Etcd里。 oHost-Local:节点范围,IPAM数据存储在本地。设置存储位置。 •网络段:可增加一个或者多个网络段,每个网络段包含子网地址、网关、IP段。 •路由表:可增加一个或者多个路由条目,每条路由包含目标地址和网关。 |
网络类型IPVLAN |
•网络名称:附加网络名称以小写字母开头,可以包含数字、小写字母和-,且不能重名。 •网络类型:IPVLAN。 •主机网卡名称:默认为默认路由对应的网卡,可以指自定义指定节点的某张网卡。 •模式:L2、L3、L3S。 oIPAM元数据存储位置: oEtcd:集群范围,IPAM数据存储在Etcd里。 oHost-Local:节点范围,IPAM数据存储在本地。设置存储位置。 •网络段:可增加一个或者多个网络段,每个网络段包含子网地址、网关、IP段。 •路由表:可增加一个或者多个路由条目,每条路由包含目标地址和网关。 |
|
网络类型Bridge |
•网络名称:附加网络名称以小写字母开头,可以包含数字、小写字母和-,且不能重名。 •网络类型:Bridge。 •IP伪装 :在主机上设置IP伪装,以接收来自此网络并发往其外部的流量。 •Harpin模式:配置了Harpin模式之后,源和目的地址都是本地 MacVLAN接口地址的流量,都会被本网桥发回给相应的接口。 •网桥名称:节点上某个网桥。 •IPAM元数据存储位置: oEtcd:集群范围,IPAM数据存储在Etcd里。 oLegacy:集群范围,专为虚拟机的MacVTAP和Bridge网络设计,IPAM数据存储在数据库里。 oHost-Local:节点范围,IPAM数据存储在本地。设置存储位置。 •网络段:可增加一个或者多个网络段,每个网络段包含子网地址、网关、IP段。 •路由表:可增加一个或者多个路由条目,每条路由包含目标地址和网关。 |
7.设置集群的存储信息。
表4 集群的高级设置
参数 |
配置说明 |
---|---|
内置本地存储 |
支持本地存储目录的动态分配,通过创建本地存储类与一个或多个本地目录进行绑定,以支持动态PV申请。 •存储类名称:存储类的名称,以小写字母开头,可以包含数字、小写字母和-。 •本地目录:集群主机的一个目录,必须以/开头。可配置多个目录。 |
8.配置扩展功能。
表5 集群的扩展功能
参数 |
配置说明 |
配置示例 |
---|---|---|
支持Windows计算节点 |
开关开启时,集群网络模型只支持Flannel网络。 |
- |
Pod GPU调度 |
允许应用使用此集群的GPU资源,对集群内的GPU资源集中管理和调度,Pod GPU调度功能开启前需确保服务器有显卡资源,编辑Pod GPU调度前,请先确认所有GPU实例处于空闲状态。 可选以下其中一种GPU资源切分插件类型: •Nvidia 需选择以下其中一种分割类型: oTimeSlicing Timeslicing模式通过在时间上分片,将GPU的计算资源在不同任务之间轮流分配,即每个任务在一定时间内使用GPU资源,之后切换到下一个任务。 配置该模式文件信息,其中默认配置文件名称为default-time-slicing-config-xxxx,单击新增配置项,当MIG策略为none时,资源行默认值为nvidia.com/gpu。 oMIG Mig(Multi-Instance GPU)模式通过将GPU划分为多个独立的计算实例,每个实例拥有自己的资源(如计算单元、内存等),以支持多任务并行运行。 MIG策略包括single和mixed两种模式。 •single,该策略下集群节点所有GPU上仅支持单一类型的MIG设备,且GPU必须属于同一型号。 •mixed,该策略下集群节点所有GPU上支持混合MIG设备类型。 配置该模式文件信息,其中使用默认配置文件时,名称为default-mig-parted-config;使用自定义配置文件时,名称为gpu-configmap-xxx,单击新增配置项,资源行默认值为nvidia.com/gpu。 •hami 需设置以下配置参数: o分割数:一张显卡的GPU资源指定分割的份数,每份为一个vGPU,默认为10份。 o默认显存大小:一份vGPU资源默认分配的显存大小,默认为5000MiB。 o默认任务算力:表示默认为每个任务预留的百分比算力,为整数类型,范围为0~100,默认为0。若设置为0,则代表任务可能会被分配到任一满足显存需求的GPU中,若设置为100,代表该任务独享整张显卡。 |
- |
虚拟机调度 |
启用后,将在Kubernetes集群中部署KubeVirt相关组件。可以使用KubeVirt来部署KVM虚拟机,启用Kubernetes支持虚拟化的能力。 |
默认关闭 |
虚拟机调度附加网络 |
开启虚拟机调度时,有该选项。 •网络名称:附加网络名称以小写字母开头,可以包含数字、小写字母和-,且不能重名。 •主机网卡名称:默认为默认路由对应的网卡,可以指自定义指定节点的某张网卡。 •IPAM元数据存储位置: oEtcd:集群范围,IPAM数据存储在Etcd里。 oLegacy:集群范围,专为虚拟机的MacVTAP和Bridge网络设计,IPAM数据存储在数据库里。 •DNS配置路径:默认是/etc/resolv.conf。 •网络段:可增加一个或者多个网络段,每个网络段包含子网地址、网关、IP段。 •路由表:可增加一个或者多个路由条目,每条路由包含目标地址和网关。 •DHCP服务器地址:可指定DHCP Server使用的IP地址。 |
- |
服务治理 |
启用后,将在Kubernetes集群中部署Istio相关组件,启用Service Mesh服务网格支持。开启后,将占用所有节点的80和443网络端口。 |
默认关闭。 |
日志中心 |
选择日志输出类型。 |
•系统默认,集群将会启动Elasticsearch组件进行日志接收。可设置日志的保留天数。 •自定义Elasticsearch,配置外部Elasticsearch, 接收平台采集到的日志。 •MYLI,选择日志输出到MYLI系统,MYLI系统通过Kafka来接收日志。 •外部MYLI,选择日志输出到外部MYLI系统,MYLI系统通过Kafka来接收日志。 |
每日增量备份 |
需填写备份路径,例如/data/log。每天23点59分将日志全量备份到指定路径,备份文件默认存储48天。 |
|
同时归档到FTP |
日志归档到指定FTP服务器指定用户指定路径下,包含地址、端口、用户名密码、归档路径,以及归档规则。 |
|
启用后,除配置过强制不收集的应用,将默认收集所有应用日志。 |
平台默认不收集所有应用日志,开启后,除配置过强制不收集的应用,将收集所有应用日志。 |
|
镜像缓存加速 |
启用后,将在Kubernetes集群中部署镜像缓存加速相关组件,支持从中心镜像仓库缓存镜像到本地集群镜像仓库中,以实现镜像拉取加速。 可自定义缓存容量和缓存路径。 |
20G,/data/mirror |
资源许可 |
启用后,创建Pod、Workload、Service、Job等需要特权模式、主机网络、主机端口时必须审核后才能创建。 |
- |
节点本地DNS缓存 |
启用后,将在Kubernetes集群中部署NodeLocal DNSCache相关组件以提高集群内DNS解析性能。需设置本地监听IP地址。 |
本地侦听IP地址:127.0.0.1 |
集群自动伸缩 |
当存在云主机池类型的主机池时,该选项会出现。当启用后,将在Kubernetes集群中部署Cluster Autoscaler相关组件,以实现集群节点的按需扩缩容,默认启用自动扩容。 •扩容:需进行扩容相关配置,包括关联云主机池、最小节点数和最大节点数。如需关联多个云主机池,单击+添加关联云主机池,并设置相关云主机池信息。 •缩容:启用集群自动缩容,当启用后,节点CPU和内存利用率同时低于设定的资源利用阈值时,会被自动移除集群。默认缩容阈值为0.5,可按需自定义设置。 |
- |
operator |
应用中间件,启用后,将在Kubernetes集群中部署对应operator相关组件,可以使用operator来部署相关应用。可选择要使用的operator包括Elasticsearch、Kafka、MongoDB、MySQL、RabbitMQ和Redis。 |
- |
资源调度策略 |
启用后,将根据定义的插件和策略调度集群资源。需选择所需调度插件,并进行相关设置。 •目标负载调度:根据节点预期CPU利用率进行调度,该插件将尽量把Pod调度到资源利用率接近此目标值的节点。还可在高级设置中配置容器权重乘数、默认资源预留和目标CPU利用率。 •真实负载感知调度:结合节点Pod资源请求值、限制值和节点实际负载指标评估节点风险,优先将Pod调度到风险更小的节点。还可在高级设置中配置平滑度量窗口数、指标权重和内存。 •负载动态感知:在默认调度器上,考虑了节点负载动态波动的幅度变化,负载利用率波动越小,Pod将优先被调度到该节点。还可在高级设置中配置安全方差(乘数)和安全方差(根幂)。 |
- |
部署审核 |
根据设置的漏洞数对模板部署应用或本地镜像部署应用前进行合规审核,不通过审核的镜像或模板无法创建应用。还需设置合规检查出现次数、镜像扫描漏洞危险级别及出现次数。 |
- |
成本计量 |
启用后,将允许Kubernetes集群关联计量配置。成本计量将展示在左侧导航栏中。 |
- |
9.单击立即创建。
创建成功后,新创建的集群在集群列表中显示。