创建集群
通过平台可基于基础设施搭建一个 Kubernetes 业务集群。
约束与限制
- 
集群创建成功后,集群的网络模式、容器网段和服务网段、GPU 类型、硬件架构、IPv4/IPv6 双栈、节点代理配置信息不可更改,需要重新创建集群才能调整,请谨慎配置。 
- 
集群中控制节点的个数只能为 1、3、5。当集群中仅有 1 个控制节点时,一旦控制节点异常,将导致整个集群不可用,请勿将此类集群作为生产环境使用。 
- 
一个节点只能属于一个集群,待添加节点不能被其他集群占用。且待添加至集群的节点的硬件架构需与集群 硬件架构 一致。 
前提条件
- 
当集群的控制节点个数为 3 或 5 时,请提前准备好硬件或软件负载均衡器,为集群提供负载均衡能力,例如:F5 设备、IaaS 层的负载均衡器或 HAProxy 软件等。 
- 
如需使用 自建 VIP 作为集群地址,使集群地址高可用,请提前联系平台的网络管理员或运维人员申请 VIP(Virtual IP)及 VRID(虚拟路由器 ID)。 提示:VIP 需为集群节点 IP 所在子网中的空闲 IP(IPv4 地址)且不可与节点 IP 相同。 
- 
如需从 外部 镜像仓库拉取集群所需的平台组件镜像,请提前搭建好存储平台组件镜像的镜像仓库,具体实施方案请联系技术支持人员。 
- 
节点相关: - 
请参考 节点可用性检查参照表 准备、检查待添加至集群的节点。确保条件均已满足,否则可能会导致集群部署失败。 
- 
如需为集群启用 GPU 特性,需要为作为 GPU 节点的服务器安装 GPU 驱动和 GPU 硬件,请参考 安装 GPU 驱动 。 
- 
当 global 集群无法直接通过 SSH 访问待添加至集群的节点,而需要通过代理访问时,请提前准备好代理服务。 提示:代理服务目前仅支持 SOCKS5 代理。 
 
- 
操作步骤
- 
在左侧导航栏中,单击 集群管理 > 集群。 
- 
单击 创建集群。 
- 
参照以下说明,配置 基本信息、容器网络、节点配置 及 扩展参数。 
配置基本信息
| 参数 | 说明 | 
|---|---|
| Kubernetes 版本 | 集群的 Kubernetes 组件的版本及选中版本支持的容器运行时组件类型和版本。 提示:当其他要部署在集群上的业务组件对 Kubernetes 版本有强依赖关系时,请结合集群的业务用途,基于 自建集群组件版本要求 选择合适的版本。 | 
| 运行时组件 | Kubernetes 版本 支持的容器运行时组件的类型及版本。 | 
| 集群地址 | 集群对外暴露 API Server 的访问地址,需支持 https 协议。 
 
 | 
| 镜像仓库 | 存储集群所需平台组件镜像的仓库。 - 平台默认:部署 global 时配置的镜像仓库。 - 外部:提前搭建的外部镜像仓库。需输入访问镜像仓库的 私有镜像仓库地址、端口、用户名、密码。 提示:若当前集群的节点无法访问 平台默认 的镜像仓库,请参考 业务集群无法访问平台默认镜像仓库,如何处理? | 
| GPU | 集群是否支持 GPU。若支持,部署成功的集群可为业务容器组提供 GPU 资源,允许在集群的 GPU 节点上调度 GPU 服务容器组。请根据 GPU 节点的属性选择提供的 GPU 资源类型。 不使用:不支持 GPU。 虚拟 GPU:可实现 GPU 共享和细粒度资源分配。1 vGPU = 0.01 核;1 个单位的显存为 256 Mi。 物理 GPU:只能整颗分配,1 颗 = 1 核。 | 
| 硬件架构 | 集群的硬件架构类型,支持选择 X86 或 ARM。 注意:仅支持在当前集群下添加硬件架构与所选类型一致的节点。 | 
配置容器网络
| 参数 | 说明 | 
|---|---|
| IPv4/IPv6 双栈(Alpha) | 是否启用 IPv4/IPv6 双栈,支持双栈可以有效弥补 IPv4 网络地址资源有限的问题。 打开开关后,集群下节点可在双栈模式下运行,即节点可以同时拥有 IPv4 地址和 IPv6 地址,这两个 IP 地址都可以进行内网/公网访问,Flannel 不支持双栈模式。 注意:启用了双栈的集群,不支持还原为 IPv4 单栈。 当您的业务应用涉及到以下场景时,建议您启用双栈: - 您的应用需要为使用 IPv6 终端的用户提供访问服务。 - 您需要对使用 IPv6 终端访问应用提供的服务的访问来源进行数据分析处理。 - 如果您的应用系统与其他系统(例如:数据库系统)、应用系统之间需要使用 IPv6 进行内网访问。 | 
| 网络模式 及相关配置 | - 
    
        Kube-OVN - Calico - Flannel - 自定义 | 
- 
它是一款由灵雀云自主研发的开源企业级云原生 Kubernetes 容器网络编排系统,通过将 OpenStack 领域成熟的网络功能平移到 Kubernetes,不仅能够支持跨云网络管理、传统网络架构与基础设施的互联互通、边缘集群落地等复杂的应用场景,且极大增强了 Kubernetes 容器网络的安全性,提升了管理效率及性能。 参数 说明 网段 即 Cluster CIDR,表示 默认子网 网段,集群创建后,支持新增子网。 传输方式 Overlay:在基础设施之上抽象出的虚拟 Overlay 网络,不占用物理网络资源。创建 Overlay 默认子网时,集群内所有 Overlay 子网使用相同的集群网卡和节点网卡配置。 
 Underlay:该传输方式的实现依赖物理网络设备。可以直接给 Pod 分配物理网络中的地址资源,确保更好的性能以及和物理网络的连通性。Underlay 子网的节点必须为多网卡,且桥接网络使用的网卡需被 Underlay 独占,不可再承载其他流量,如 SSH。创建 Underlay 默认子网时,集群网卡实质上是一个桥接网络的默认网卡,节点网卡为桥接网络内的节点网卡配置。
 提示:Underlay 传输方式下容器网络需要依赖物理网络支持,请和网络管理员共同规划,可参考最佳实践 准备 Kube-OVN Underlay 物理网络 。
 - 默认网关:物理网络的网关地址,即 Cluster CIDR 网段的网关地址(必须在 Cluster CIDR 地址范围内)。
 - VLAN ID:虚拟局域网标识(VLAN 编号),例如:0。
 - 保留 IP:设置的保留 IP 将不会被自动分配,例如子网内某些 IP 被其他设备占用,可将其设置为保留 IP。Service 网段 供类型为 ClusterIP 的 Kubernetes Service 使用的 IP 地址段,不可与默认子网的网段重叠。 Join 网段 Overlay 传输方式下,供节点与容器组间通信使用的 IP 地址段。不可与默认子网、Service 网段重叠。 
- 
Calico Calico 是一种可为容器提供安全网络连接的三层网络方案,具有简单、易扩展、安全性高、性能好等优势。 参数 说明 默认子网 即 Cluster CIDR,表示默认子网网段,集群创建后,支持新增子网。 Service 网段 供类型为 ClusterIP 的 Kubernetes Service 使用的 IP 地址段,不可与默认子网重叠。 
- 
Flannel Flannel 为集群内所有容器提供一个扁平化的网络环境,让集群中的不同节点主机创建的容器都具有全集群唯一的虚拟 IP 地址。容器组网段会按照掩码均匀划分给每个集群中的节点,每个节点上的容器组会从节点上划分的网段中分配 IP 地址。提高了容器之间通信效率,不用考虑 IP 转换问题。 参数 说明 容器网段 即 Cluster CIDR,供集群创建时启动的容器组使用的 IP 地址段。并支持设置当前容器网络下允许在每个节点上分配给容器组的最大 IP 个数。 
 说明:平台会根据以上配置,自动计算集群最多可容纳的节点个数,并在输入框下方的提示内容中展示。
 注意:集群创建后,集群网络不支持变更,请合理规划网络。Service 网段 供类型为 ClusterIP 的 Kubernetes Service 使用的 IP 地址段,不可与容器网段重叠。 
- 
自定义 如需安装其他网络插件,请选择 自定义 模式 ,集群创建成功后可手动安装网络插件。 参数 说明 容器网段 即 Cluster CIDR,供集群创建时启动的容器组使用的 IP 地址段。 Service 网段 供类型为 ClusterIP 的 Kubernetes Service 使用的 IP 地址段,不可与容器网段重叠。 
配置节点设置
| 参数 | 说明 | 
|---|---|
| 网卡 | 集群网络插件使用的主机网卡设备的名称。 注意:Kube-OVN 默认子网选择 Underlay 传输方式时,您须指定网卡名称,此时的网卡为桥接网络的默认网卡。 | 
| 节点名称 | 可选择使用节点 IP 或主机名称(Hostname)作为平台上节点的名称。 注意:当选择使用主机名称作为平台上节点名称时,需确保添加至集群的节点的主机名称唯一。 | 
| 节点信息 | 为集群 添加节点,或 从草稿恢复 临时保存的配置数据,详细信息请参考 
    
        节点配置参数说明
    
。 注意: - 当节点的操作系统为 EulerOS时,需要在 扩展参数 区域,为 kubelet 参数添加cgroup-driver: cgroupfs键值对。- 控制节点至少添加 1 个,且个数只能为 1、3、5;控制节点个数大于等于 3 时,集群才具有多备容灾能力;不建议将仅有 1 个控制节点的集群作为生产环境集群使用。 | 
| 监控组件类型 | 支持 Prometheus 和 VictoriaMetrics,监控工具选型可参考文档 
    
        如何选择监控组件? 选择 VictoriaMetrics 监控组件时,您须配置 部署方式: - 部署 VictoriaMetrics: 部署相关的所有组件,包括 VMStorage、VMAlert、VMAgent 等。 - 部署 VictoriaMetrics 代理:仅部署日志采集组件,即 VMAgent。使用该部署方式时,需要关联平台中其他集群上已部署的 VictoriaMetrics 实例,才可为集群提供监控服务。 | 
| 监控组件部署节点 | 选择用于部署集群监控组件的节点,支持选择计算节点和允许部署应用的控制节点。 为避免影响集群性能,建议优先选择计算节点。集群创建成功后,将在选中的节点上部署存储类型为 本地卷 的监控组件。 提示:如果创建集群时选择不配置该参数(暂不部署监控组件),当集群创建成功且状态正常时,可前往集群的 插件 页面为集群部署监控组件,此时,存储类型可选 本地卷、存储类 或 持久卷,具体操作参见 部署监控组件 。 | 
表 - 节点配置参数说明
| 参数 | 说明 | 
|---|---|
| 类型 | 控制节点:负责运行集群中的 kube-apiserver、kube-scheduler、kube-controller-manager、etcd 等组件、容器网络以及平台的部分管理组件。当 可部署应用 时,控制节点同时可作为计算节点使用。 计算节点:负责承载运行在集群上的业务容器组。 注意:如果集群中没有计算节点,集群仅能运行平台组件和少量业务,无法正常运行生产业务。 提示:单击 类型 左侧  可展开更多节点配置参数。 | 
| IPv4 地址 | 节点的 IPv4 地址。在内网模式下创建的集群,请输入节点的 私有 IP。 | 
| IPv6 地址 | 集群启用 IPv4/IPv6 双栈时,该参数有效。为节点的 IPv6 地址。 | 
| GPU 节点 | 是否作为 GPU 节点使用。即是否允许调度 GPU 服务的容器组至该节点,为业务容器组提供 GPU 计算能力。 注意:启用该配置的节点,需包含 GPU 计算资源且已安装 GPU 驱动。 | 
| 可部署应用 | 当 节点类型 为 控制节点 时该参数有效。是否允许在该控制节点上部署业务应用,将业务应用相关的容器组调度到该节点上。 | 
| 显示名称 | 节点的显示名称。 | 
| SSH 连接 IP | 通过 SSH 服务访问节点时,可连通节点的 IP 地址。 如果能够通过 ssh <username>@<节点的 IPv4 地址>登录节点,无需设置该参数;否则,需要输入节点的公网 IP 或 NAT 的外网 IP,确保 global 集群和代理能够通过该 IP 连接节点。 | 
| 网卡名称 | 请填写节点使用的网卡名称,网卡配置生效的优先级如下,从左到右优先级依次递减: kube-OVN Underlay:节点网卡 > 集群网卡 kube-OVN Overlay:节点网卡 > 集群网卡 > 节点默认路由对应的网卡 Calico:集群网卡 > 节点默认路由对应的网卡 Flannel:集群网卡 > 节点默认路由对应的网卡 | 
| 关联桥接网络 | 提示:创建集群时,不支持配置桥接网络;仅当集群中已创建了 Underlay 子网后,为集群 添加节点 时,可配置此项。 选择已创建的 桥接网络 ,若您不希望使用桥接网络默认网卡,可单独配置节点网卡。 | 
| SSH 端口 | SSH 服务端口号,例如: 22。 | 
| SSH 用户名 | SSH 用户名,需要输入具有 root 权限的用户名,例如: root。 | 
| 代理(Alpha) | 是否通过代理访问节点的 SSH 端口。当 global 集群无法直接通过 SSH 访问待添加节点(例如:global 集群和业务集群不在同一网段;节点 IP 为内网 IP,global 集群无法直接访问)时,需要打开该开关并配置代理相关参数。配置代理后,即可通过代理实现节点的访问、部署。 提示:目前仅支持使用 SOCKS5 代理。 地址:代理服务器的地址,例如: 192.168.1.1:1080。用户名:访问代理服务器的用户名。 密码:访问代理服务器的密码。 | 
| 节点认证 | 登录已添加节点的认证方式及对应的认证信息。可选择: 密码:需要输入具有 root 权限的用户名及对应的 SSH 密码。 密钥:需要输入具有 root 权限的 私钥 及 私钥密码。 | 
| 保存草稿 | 将当前对话框中已配置的数据保存为草稿并关闭 添加节点 对话框。 在不离开 创建集群 页面的前提下,可通过选择 从草稿恢复 打开 添加节点 对话框并恢复保存为草稿的配置数据。 提示:从草稿中恢复的数据为最近一次保存为草稿的数据。 | 
(可选)配置扩展参数
提示:
- 
除了必须的配置,不建议设置扩展参数,设置错误可能导致集群不可用,且集群创建后无法修改。 
- 
如果填写的 键 与默认参数 键 重复,则会覆盖默认配置。 
操作步骤
- 
单击 扩展参数,展开扩展参数配置区域,可选择为集群设置以下扩展参数。 参数 说明 Docker 参数 dockerExtraArgs,Docker 额外的配置参数,将写入/etc/sysconfig/docker,建议不要修改。通过daemon.json文件配置 Docker,必须以键、值的方式进行配置。Kubelet 参数 kubeletExtraArgs,Kubelet 额外的配置参数。
 说明:当 容器网络 的 节点 IP 个数 参数输入后,会自动生成一个键为max-pods,值为 节点 IP 个数 的默认 Kubelet 参数 配置。用于设置集群下任意节点上最多可运行的容器组数,该配置不在界面上显示。
 在 Kubelet 参数 区域新添加max-pods: 可运行的最大容器组数键值对后,会覆盖默认值。值允许输入任意正整数,建议使用默认值(节点 IP 个数),或输入不超过256的值。Controller Manager 参数 controllerManagerExtraArgs,Controller Manager 额外的配置参数。Scheduler 参数 schedulerExtraArgs,Scheduler 额外的配置参数。APIServer 参数 apiServerExtraArgs,APIServer 额外的配置参数。APIServer 地址 publicAlternativeNames,签发到证书中的 APIServer 访问地址,只能填写 IP 或域名,最多 253 个字符。Cluster Annotation 参数 集群的注解信息,通过键值对的形式在元数据下标记集群特征,供平台组件或业务组件获取相关信息。 
- 
单击 创建。返回集群列表页面,集群处于 创建中 状态。 提示:集群处于 创建中 状态时,可查看执行进度,具体操作请参考本文的 后续操作 内容。 
后续操作
查看执行进度
在集群列表页面,可查看已创建的集群的列表信息,其中,处在 创建中 状态的集群,可查看执行进度。
操作步骤
- 
单击处在 创建中 状态的集群右侧的  > 查看执行进度。 > 查看执行进度。
- 
在弹出的执行进度对话框中,可查看集群的执行进度(status.conditions)。 提示:当某个类型正在执行中或状态为失败且有原因时,光标悬浮在对应的原因(显示蓝色字体)上时,可查看原因(status.conditions.reason)的详细信息。 
部署插件
集群创建成功后,您可前往 插件管理 选择为集群部署必须的插件,包括监控组件、日志采集组件、日志存储组件等。
关联项目
通过基于集群 创建项目 ,或通过 添加项目关联集群 的方式将集群添加至已有项目,可将新创建的集群关联至项目。
进而通过 创建命名空间 可在集群下创建命名空间,将集群资源分配给命名空间,为业务容器提供运行环境。