准备业务集群
集群是容器运行所需要的资源合集,包含节点、网络、存储等资源,是您在平台上搭建业务环境(Namespace)运行您的自定义应用的先决条件。
您可以通过平台创建一个新的 Kubernetes 集群,或将已有的标准 Kubernetes 集群、OpenShift 集群、Amazon EKS 集群接入平台进行托管。
本文将说明如何在平台上创建一个集群,如需接入集群,请参考用户手册中接入集群相关内容。
约束与限制
-
集群创建成功后,集群的网络模式、容器网段和服务网段、GPU 类型、IPv4/IPv6 双栈、节点代理配置信息不可更改,需要重新创建集群才能调整,请谨慎配置。
-
当集群中仅有 1 个控制节点时,一旦控制节点异常,将导致整个集群不可用,请勿将此类集群作为生产环境使用。
前提条件
-
当集群的控制节点个数为 3 或 5 时,请提前准备好硬件或软件负载均衡器,为集群提供负载均衡能力,例如:F5 设备、IaaS 层的负载均衡器或 HAProxy 软件等。
-
请参考 节点可用性检查参照表 准备、检查待添加至集群的节点。确保条件均已满足,否则可能会导致集群部署失败。
-
如需为集群启用 GPU 特性,需要为即将作为 GPU 节点的服务器安装 GPU 驱动和 GPU 硬件,请参考 安装 GPU 驱动 。
-
如需从外部镜像仓库拉取集群所需的平台组件镜像,请提前搭建好存储平台组件镜像的镜像仓库,具体实施方案请联系技术支持人员。
-
当 global 集群无法直接通过 SSH 访问待添加至集群的节点,而需要通过代理(Alpha 功能,打开功能开关后有效)访问时,请提前准备好代理服务。
提示:代理服务目前仅支持 SOCKS5 代理。
配置集群基本信息
-
在左侧导航栏中,单击 集群管理 > 集群。
-
单击 创建集群。
-
参照以下说明,配置相关参数。
参数 说明 GPU 是否支持 GPU。
打开开关后,部署成功的集群可为业务容器组提供 GPU 资源,允许在集群的 GPU 节点上调度 GPU 服务容器组。请根据 GPU 节点的属性选择提供的 GPU 资源类型:
vGPU:虚拟化 GPU,可实现 GPU 共享和细粒度资源分配。1 vGPU = 0.01 核;1 个单位的显存为 256 Mi。
pGPU:物理 GPU,只能整颗分配,1 颗 = 1 核。Kubernetes 版本 集群的 Kubernetes 组件的版本及选中版本支持的容器运行时组件类型和版本。
提示:
- 当通过平台创建的集群的 Kubernetes 版本大于等于 1.21 时,默认使用 Containerd 作为容器运行时组件。
- 当其他要部署在集群上的业务组件对 Kubernetes 版本有强依赖关系时,请结合集群的业务用途,基于 集群组件版本要求 选择合适的版本。集群地址 集群对外暴露 API Server 的访问地址,需支持 https 协议。
IP 地址/域名:
- 当集群的控制节点个数为3
或5
时,需要输入提前准备的集群外的负载均衡(例如:F5 设备、IaaS 层的负载均衡器或 HAProxy 软件等)的访问地址或域名。
- 当集群只有1
个控制节点时,输入控制节点的 私有 IP 或域名。如有在集群创建成功后添加控制节点的计划,为方便后续扩容,建议您输入提前准备的集群外的负载均衡的访问地址或域名。
端口:端口号。
注意:使用负载均衡时,请输入负载均衡的端口号;不使用负载均衡时,必须输入6443
。镜像仓库 存储集群所需平台组件镜像的仓库。
- 平台默认:使用部署 global 时配置的镜像仓库。
- 外部:使用提前搭建的外部镜像仓库。需输入访问镜像仓库的 私有镜像仓库地址、端口、用户名、密码。硬件架构 集群的硬件架构,支持 X86 或 ARM。 IPv4/IPv6 双栈(Alpha) 是否启用 IPv4/IPv6 双栈,支持双栈可以有效弥补 IPv4 网络地址资源有限的问题。
打开开关后,集群下节点可在双栈模式下运行,即节点可以同时拥有 IPv4 地址和 IPv6 地址,这两个 IP 地址都可以进行内网/公网访问。
注意:启用了双栈的集群,不支持还原为 IPv4 单栈。
当您的业务应用涉及到以下场景时,建议您启用双栈:
- 您的应用需要为使用 IPv6 终端的用户提供访问服务。
- 您需要对使用 IPv6 终端访问应用提供的服务的访问来源进行数据分析处理。
- 如果您的应用系统与其他系统(例如:数据库系统)、应用系统之间需要使用 IPv6 进行内网访问。网络模式 集群内容器网络插件(CNI)的类型。
Kube-OVN :Kube-OVN 是一款由灵雀云自主研发的开源企业级云原生 Kubernetes 容器网络编排系统,它通过将 OpenStack 领域成熟的网络功能平移到 Kubernetes,不仅能够支持跨云网络管理、传统网络架构与基础设施的互联互通、边缘集群落地等复杂的应用场景,且极大增强了 Kubernetes 容器网络的安全性,提升了运维、管理效率及性能。
Calico:Calico 是一种可为容器提供安全网络连接的三层网络方案,具有简单、易扩展、安全性高、性能好等优势。
Flannel:为集群内所有容器提供一个扁平化的网络环境,让集群中的不同节点主机创建的容器都具有全集群唯一的虚拟 IP 地址。容器组网段会按照掩码均匀划分给每个集群中的节点,每个节点上的容器组会从节点上划分的网段中分配 IP 地址。提高了容器之间通信效率,不用考虑 IP 转换问题。
自定义:如需安装其他网络插件,请选择 自定义 模式 ,集群创建成功后可手动安装网络插件。容器网络 Cluster CIDR:供集群创建时启动的容器组使用的 IP 地址段。
Service CIDR:供类型为 ClusterIP 的 Kubernetes Service 使用的 IP 地址段,不可与 Cluster CIDR 的网段重叠。
节点 IP 个数:仅当集群网络模式为 Flannel 时,支持设置该参数。为当前容器网络下允许在每个节点上分配给容器组的最大 IP 个数。
说明:会根据以上配置,自动计算集群最多可容纳的节点个数,并在输入框下方的提示内容中展示。Kube-OVN 网络高级设置 Join CIDR:Overlay 传输方式下,供节点与容器组间通信使用的 IP 地址段。不可与 Cluster CIDR、Service CIDR 的网段重叠。
传输方式:
- overlay:将使用在基础设施之上抽象出的虚拟的 overlay 网络。
- underlay:该传输方式的实现依赖物理网络设备。可以直接给容器分配物理网络中的地址资源,确保更好的性能以及和物理网络的连通性。
默认网关:物理网络的网关地址,即 Cluster CIDR 网段的网关地址(必须在 Cluster CIDR 地址范围内)。
桥接网络:节点上承担业务容器流量的网卡名称,可以和集群 网卡 相同。例如:eth1
。
VLAN ID:虚拟局域网标识(VLAN 编号),例如:0
。节点名称设置 可选择使用节点 IP 或主机名称(Hostname)作为平台上节点的名称。
注意:当选择使用主机名称作为平台上节点名称时,需确保添加至集群的节点的主机名称唯一。网卡 集群网络插件使用的网卡设备名称。
注意:选择网卡时,您需根据以下情况指定网卡。
- 选择 Docker 为容器运行时:
- 主机若为多网卡,则仅当 Kube-OVN 网络模式选择 overlay 传输方式时,可不填写网卡名称,后台将选择默认路由对应的网卡,其他情况您须指定网卡名称;
- 主机若为单网卡,可不填写网卡名称,后台将默认选择网卡。
- 选择 Containerd 为容器运行时:此时您须指定网卡名称。节点信息 为集群添加节点,详细说明请参考 为自建集群添加节点 。
注意:
- 当节点的操作系统为EulerOS
时,需要在 扩展参数 区域,为 kubelet 参数添加cgroup-driver: cgroupfs
键值对。
- 控制节点至少添加 1 个,且个数只能为 1、3、5。
- 控制节点个数大于等于 3 时,集群才具有多备容灾能力。
- 不建议将仅有 1 个控制节点的集群作为生产环境集群使用。监控组件类型 支持 Prometheus 和 VictoriaMetrics,监控工具选型可参考文档 如何选择监控组件?
选择 VictoriaMetrics 监控组件时,您须配置监控部署方式:
- 部署 VictoriaMetrics 时将包含所有组件,包括 VMStorage、VMAlert、VMAgent 等。
- 部署 VictoriaMetrics 代理 时仅部署日志采集组件,即 VMAgent。使用该部署方式时,需要关联平台中其他集群上已部署的 VictoriaMetrics 实例,才可为集群提供监控服务。监控组件部署节点 选择用于部署集群监控组件的节点,支持选择计算节点和允许部署应用的控制节点。
为避免影响集群性能,建议优先选择计算节点。集群创建成功后,将在选中的节点上部署存储类型为 本地卷 的监控组件。
提示:如果创建集群时选择不配置该参数(暂不部署监控组件),当集群创建成功且状态正常时,可前往集群的监控页面为集群部署监控组件,此时,存储类型可选 本地卷、存储类 或 持久卷,具体操作参见 部署监控组件 。 -
单击 创建。