创建本地集群

目录

前提条件

节点要求

  1. 如果您从下载安装包下载了单架构安装包,请确保节点机器的架构与安装包一致,否则节点因缺少对应架构的镜像无法启动。
  2. 确认节点操作系统和内核版本受支持,详情见支持的操作系统和内核
  3. 对节点机器进行可用性检查,具体检查项请参考节点预处理 > 节点检查
  4. 如果节点机器的 IP 无法通过 SSH 直接访问,需要为节点提供 SOCKS5 代理,global 集群将通过该代理服务访问节点。

负载均衡

生产环境中,集群控制平面节点需要负载均衡器以保证高可用性。 您可以使用自有硬件负载均衡器,或启用“自建 VIP”,后者通过 haproxy + keepalived 提供软件负载均衡。 我们推荐使用硬件负载均衡器,原因如下:

  • 性能更优:硬件负载均衡性能优于软件负载均衡。
  • 复杂度更低:如果不熟悉 keepalived,配置错误可能导致集群不可用,排查耗时且严重影响集群可靠性。

使用自有硬件负载均衡器时,可将负载均衡器的 VIP 作为“IP 地址 / 域名”参数;如果有解析到负载均衡器 VIP 的域名,也可使用该域名作为参数。 注意:

  • 负载均衡器必须正确转发流量到集群所有控制平面节点的端口 64431178011781
  • 如果集群仅有一个控制平面节点,且使用该节点 IP 作为“IP 地址 / 域名”参数,后续无法将单节点集群扩展为高可用多节点集群,因此建议即使是单节点集群也提供负载均衡器。

启用“自建 VIP”时,需准备:

  1. 可用的 VRID
  2. 支持 VRRP 协议的主机网络
  3. 所有控制平面节点和 VIP 必须处于同一子网,且 VIP 不得与任何节点 IP 重复。

连接 global 集群与业务集群

平台要求 global 集群与业务集群之间互通访问。若不在同一网络,需要:

  1. 为业务集群提供“外部访问”,确保 global 集群可访问业务集群。网络要求确保 global 可访问所有控制平面节点的端口 64431178011781
  2. global 添加业务集群可访问的额外地址。创建业务集群时,将该地址添加到集群注解中,键为 cpaas.io/platform-url,值为 global 的公网访问地址。

镜像仓库

集群镜像支持平台内置、私有仓库和公共仓库三种选项。

  • 平台内置:使用 global 集群提供的镜像仓库。若集群无法访问 global,请参见为内置仓库添加外部地址
  • 私有仓库:使用您自有的镜像仓库。推送所需镜像至私有仓库的具体操作,请联系技术支持。
  • 公共仓库:使用平台公共镜像仓库。使用前请完成更新公共仓库凭据

容器网络

若计划使用 Kube-OVN 的 Underlay 方案,请参考准备 Kube-OVN Underlay 物理网络

创建操作步骤

  1. 进入平台管理视图,点击左侧导航栏的集群/Clusters

  2. 点击创建集群

  3. 按照以下说明配置基本信息、容器网络、节点设置和扩展参数。

基本信息

参数说明
Kubernetes 版本

所有可选版本均经过严格测试,确保稳定性和兼容性。


推荐:选择最新版本以获得最佳功能和支持。

容器运行时

默认提供 containerd 作为容器运行时。


若偏好使用 Docker 作为容器运行时,请参见选择容器运行时

集群网络协议

支持三种模式:IPv4 单栈、IPv6 单栈、IPv4/IPv6 双栈。


注意:选择双栈模式时,确保所有节点均正确配置 IPv6 地址;设置后网络协议不可更改。

集群访问端点

IP 地址 / 域名:填写预先准备的域名,若无域名则填写 VIP。


自建 VIP:默认关闭。仅当未提供负载均衡器时启用,启用后安装程序会自动部署 keepalived 以支持软件负载均衡。


外部访问:当集群与 global 集群不在同一网络环境时,填写为集群准备的外部可访问地址。

容器网络

Kube-OVN
Calico
Flannel
Custom

由 Alauda 开发的企业级云原生 Kubernetes 容器网络编排系统,将 OpenStack 领域成熟的网络能力引入 Kubernetes,支持跨云网络管理、传统网络架构与基础设施互联、边缘集群部署场景,极大提升 Kubernetes 容器网络安全性、管理效率和性能。

参数说明
子网

也称为 Cluster CIDR,表示默认子网段。集群创建后可添加额外子网。

传输模式

Overlay:基于基础设施抽象的虚拟网络,不占用物理网络资源。创建 Overlay 默认子网时,集群内所有 Overlay 子网使用相同的集群 NIC 和节点 NIC 配置。
Underlay:依赖物理网络设备的传输方式,可直接为 Pod 分配物理网络地址,保证更佳性能和与物理网络的连通性。Underlay 子网节点需具备多网卡,桥接网络使用的网卡必须专用于 Underlay,且不承载其他流量如 SSH。创建 Underlay 默认子网时,集群 NIC 实为桥接网络默认网卡,节点 NIC 为桥接网络中的节点网卡配置。

  • 默认网关:物理网络网关地址,为 Cluster CIDR 段的网关地址(必须在 Cluster CIDR 地址范围内)。
  • VLAN ID:虚拟局域网标识(VLAN 号),例如 0
  • 保留 IP:设置不自动分配的保留 IP,如子网内已被其他设备使用的 IP。
Service CIDR

Kubernetes 类型为 ClusterIP 的服务使用的 IP 地址范围,不能与默认子网范围重叠。

Join CIDR

Overlay 传输模式下,节点与 Pod 通信使用的 IP 地址范围,不能与默认子网或 Service CIDR 重叠。

节点设置

参数说明
网卡名称

集群网络插件使用的宿主机网络接口设备名称。


注意

  • 选择 Kube-OVN 默认子网的 Underlay 传输模式时,必须指定网卡名称,该网卡将作为桥接网络的默认网卡。
    - 平台默认识别名称类似 eth.|en.|wl.|ww. 的网卡流量进行监控。若使用其他命名规则的网卡,请参考从自定义命名的网卡采集网络数据修改相关资源,确保平台能正确监控网卡流量。
节点名称

可选择使用节点 IP 或主机名作为平台上的节点名称。


注意:选择主机名作为节点名称时,确保集群中所有节点的主机名唯一。

节点列表

添加节点至集群,或从草稿恢复暂存的节点信息。具体添加节点参数说明见下文。

监控类型

支持 PrometheusVictoriaMetrics
选择 VictoriaMetrics 作为监控组件时,需配置 部署类型
- 部署 VictoriaMetrics:部署所有相关组件,包括 VMStorageVMAlertVMAgent 等。


- 部署 VictoriaMetrics Agent:仅部署日志采集组件 VMAgent。此部署方式需关联平台中已部署的其他集群上的 VictoriaMetrics 实例,为集群提供监控服务。

监控节点

选择部署集群监控组件的节点,支持选择允许部署应用的计算节点和控制平面节点。


为避免影响集群性能,建议优先选择计算节点。集群创建成功后,存储类型为 本地卷 的监控组件将在所选节点部署。

添加节点参数

参数说明
类型

控制平面节点:负责运行 kube-apiserver、kube-scheduler、kube-controller-manager、etcd、容器网络及部分平台管理组件。启用 允许部署应用 后,控制平面节点也可作为计算节点使用。


工作节点:负责承载集群中运行的业务 Pod。

IPv4 地址

节点的 IPv4 地址。内网模式创建的集群请填写节点的私有 IP

IPv6 地址

集群启用 IPv4/IPv6 双栈时有效,节点的 IPv6 地址。

允许部署应用

节点类型控制平面节点 时有效,是否允许在该控制平面节点上部署业务应用,调度业务相关 Pod 到该节点。

显示名称节点的显示名称。
SSH 连接 IP

通过 SSH 服务访问节点时可连接的 IP 地址。


若可通过 ssh <用户名>@<节点 IPv4 地址> 登录节点,则此参数可不填;否则请填写节点的公网 IP 或 NAT 外网 IP,确保 global 集群及代理能通过该 IP 连接节点。

网卡名称

输入节点使用的网卡名称。网卡配置生效优先级如下(从左到右,优先级递减):


Kube-OVN Underlay:节点网卡 > 集群网卡


Kube-OVN Overlay:节点网卡 > 集群网卡 > 节点默认路由对应网卡


Calico:集群网卡 > 节点默认路由对应网卡


Flannel:集群网卡 > 节点默认路由对应网卡

关联桥接网络

注意:创建集群时不支持桥接网络配置,仅在为已有 Underlay 子网的集群添加节点时可用。


选择已有的添加桥接网络。若不想使用桥接网络的默认网卡,可单独配置节点网卡。

SSH 端口

SSH 服务端口号,例如 22

SSH 用户名

SSH 用户名,需为具备 root 权限的用户,例如 root

代理

是否通过代理访问节点的 SSH 端口。当 global 集群无法直接通过 SSH 访问待添加节点(如 global 集群与业务集群不在同一子网,节点 IP 为 global 集群无法直接访问的内网 IP)时,需开启此开关并配置代理相关参数。配置代理后,可通过代理实现节点访问和部署。


注意:当前仅支持 SOCKS5 代理。


访问地址:代理服务器地址,例如 192.168.1.1


用户名:访问代理服务器的用户名。


密码:访问代理服务器的密码。

SSH 认证

登录添加节点的认证方式及对应认证信息。选项包括:


密码:需提供具备 root 权限的用户名及对应的 SSH 密码
密钥:需提供具备 root 权限的 私钥私钥密码

保存草稿

将当前对话框配置的数据保存为草稿并关闭添加节点对话框。


在不离开创建集群页面的情况下,可选择从草稿恢复打开添加节点对话框,恢复保存的草稿配置数据。


注意:恢复的草稿数据为最近一次保存的草稿数据。

扩展参数

注意

  • 除必填配置外,不建议设置扩展参数,错误配置可能导致集群不可用,且集群创建后无法修改。
  • 若输入的 Key 与默认参数 Key 重复,将覆盖默认配置。

操作步骤

  1. 点击扩展参数展开配置区域,可选设置以下集群扩展参数:
参数说明
Docker 参数

dockerExtraArgs,Docker 的额外配置参数,将写入 /etc/sysconfig/docker。不建议修改。通过 daemon.json 配置 Docker 时,需以键值对形式配置。

Kubelet 参数

kubeletExtraArgs,Kubelet 的额外配置参数。


注意:当输入 容器网络节点 IP 数量 参数时,系统会自动生成一个默认的 Kubelet 参数,键为 max-pods,值为 节点 IP 数量,用于设置集群中任一节点可运行的最大 Pod 数量。该配置不在界面中显示。


Kubelet 参数 区域新增 max-pods: 最大可运行 Pod 数 键值对将覆盖默认值。允许任意正整数,但建议使用默认值(节点 IP 数量)或不超过 256 的值。

Controller Manager 参数

controllerManagerExtraArgs,Controller Manager 的额外配置参数。

Scheduler 参数

schedulerExtraArgs,Scheduler 的额外配置参数。

APIServer 参数

apiServerExtraArgs,APIServer 的额外配置参数。

APIServer URL

publicAlternativeNames,证书中颁发的 APIServer 访问地址。仅可输入 IP 或域名,最长 253 字符。

集群注解

集群注解信息,以键值对形式标记集群元数据特征,供平台组件或业务组件获取相关信息。

  1. 点击创建,返回集群列表页面,集群状态为创建中

创建后操作

查看创建进度

在集群列表页面,可查看已创建集群列表。对于状态为创建中的集群,可查看执行进度。

操作步骤

  1. 点击集群状态右侧的小图标查看执行进度

  2. 弹出的执行进度对话框中,可查看集群执行进度(status.conditions)。

    提示:当某类型处于进行中或失败状态且带有原因时,将鼠标悬停在对应原因(蓝色文字)上,可查看原因详情(status.conditions.reason)。

关联项目

集群创建完成后,可在项目管理视图中将其添加至项目。