创建本地集群

前提条件

节点要求

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

负载均衡

对于生产环境,集群控制平面节点需要负载均衡器,以确保高可用。

如果您的环境中已有硬件负载均衡器,建议使用它。
如果没有,可以启用 Self-built VIP,它使用 keepalived 提供软件负载均衡能力。

建议:使用硬件负载均衡器时,建议将集群 Endpoint 配置为域名。如果集群安装后硬件负载均衡器的 VIP 发生变化,您可以更新 DNS 记录,而无需重新配置集群。

注意Self-built VIP 不支持域名配置。

负载均衡器必须能够正确转发到集群中所有控制平面节点上的 64431178011781 端口。

如果您的集群只有一个控制平面节点,并且使用该节点的 IP 作为 Cluster Endpoint 参数,那么后续无法从单节点扩展为高可用的多节点部署。因此,即使是单节点集群,我们也建议提供负载均衡器。

启用 Self-built VIP 时,您需要准备:

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

连接 global 集群和业务集群

平台要求 global 集群与业务集群之间能够相互访问。如果它们不在同一网络中,您需要:

  1. 为业务集群提供 External Access,以确保 global 集群可以访问它。网络要求必须确保 global 能够访问所有控制平面节点上的 64431178011781 端口。
  2. global 添加一个业务集群可访问的额外地址。创建业务集群时,请将该地址添加到集群注解中,键为 cpaas.io/platform-url,值设置为 global 的公网访问地址。

镜像仓库

集群镜像支持 Platform Built-in、Private Repository 和 Public Repository 选项。这些选项用于配置业务集群使用的平台镜像源。

  • Platform Built-in:使用为 global 集群配置的平台镜像源。该镜像源可以是随 global 部署的 Registry,也可以是安装过程中选择的外部平台镜像仓库。如果镜像源是内置 Registry 且业务集群无法访问 global,请参见为内置 Registry 添加外部地址
  • Private Repository:为该业务集群使用其他由客户管理的镜像仓库。在选择之前,请上传所选 Kubernetes 版本和架构所需的完整镜像内容,并满足准备外部平台镜像仓库中描述的能力和访问条件。用于生产时,还应遵循 HTTPS、DNS、可用性、监控、备份、恢复和保留方面的生产建议。
  • Public Repository:使用平台的公共镜像仓库。使用前,请完成更新公共仓库凭据

容器网络

如果您计划在集群中使用 Kube-OVN 的 Underlay,请准备Kube-OVN Underlay 物理网络

创建步骤

  1. 进入管理员视图,然后在左侧导航栏中单击 Clusters/Clusters

  2. 单击 Create Cluster

  3. 按照以下说明配置各个部分:Basic Info、Container Network、Node Settings 和 Extended Parameters。

基本信息

参数说明
Kubernetes Version

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


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

Container Runtime

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

Cluster Network Protocol

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


注意:如果选择双栈模式,请确保所有节点都已正确配置 IPv6 地址;设置后无法更改网络协议。

Cluster Endpoint

IP Address / Domain:如果没有域名,请输入预先准备好的域名或 VIP。


Self-built VIP:默认禁用。仅当您未提供 LoadBalancer 时才启用。启用后,安装程序会自动部署 keepalived,以支持软件负载均衡。


External Access:当集群与 global 集群不处于同一网络环境时,请输入为集群准备的外部可访问地址。

容器网络

Kube-OVN
Calico
Flannel
Custom

Kube-OVN 是由 开发的云原生 Kubernetes 容器网络编排系统。它为跨云网络管理、传统网络架构集成、基础设施互联以及边缘集群部署场景提供 Kubernetes 网络能力。

参数说明
Subnet

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

Transmit Mode

Overlay:在基础设施之上抽象出的虚拟网络,不占用物理网络资源。创建 Overlay 默认子网时,集群中的所有 Overlay 子网都使用相同的 cluster NIC 和 node NIC 配置。
Underlay:这种传输方式依赖物理网络设备。它可以直接为 Pod 分配物理网络地址,从而与物理网络实现更好的性能和连通性。Underlay 子网中的节点必须具有多个 NIC,并且用于桥接网络的 NIC 必须专用于 Underlay,不能承载 SSH 等其他流量。创建 Underlay 默认子网时,cluster NIC 实际上是桥接网络的默认 NIC,而 node NIC 是桥接网络中的 node NIC 配置。

  • Default Gateway:物理网络网关地址,即 Cluster CIDR 段的网关地址(必须位于 Cluster CIDR 地址范围内)。
  • VLAN ID:虚拟局域网标识符(VLAN 编号),例如 0
  • Reserved IPs:设置不会被自动分配的保留 IP,例如子网中已被其他设备使用的 IP。
Service CIDR

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

Join CIDR

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

节点设置

参数说明
Network Interface Card

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


注意:

  • 当为 Kube-OVN 默认子网选择 Underlay 传输模式时,必须指定网络接口名称,该接口将作为桥接网络的默认 NIC。
    - 平台默认对名称类似于 eth.|en.|wl.|ww. 的接口进行网络接口流量监控识别。如果您使用的接口命名规则不同,请在集群纳管后参见从自定义名称的网络接口收集网络数据修改相关资源,以确保平台能够正确监控网络接口流量。
Node Name

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


注意:当选择使用主机名作为节点名称时,请确保添加到集群中的节点主机名是唯一的。

Nodes

添加节点到集群,或从草稿中恢复临时保存的节点信息。有关添加节点的详细参数说明,请参见下文。

Monitoring Type

支持 PrometheusVictoriaMetrics
当选择 VictoriaMetrics 作为监控组件时,必须配置 Deploy Type
- Deploy VictoriaMetrics:部署所有相关组件,包括 VMStorageVMAlertVMAgent 等。


- Deploy VictoriaMetrics Agent:仅部署日志采集组件 VMAgent。使用此部署方式时,您需要关联平台中另一个集群上已部署的 VictoriaMetrics 实例,为该集群提供监控服务。

Monitoring Nodes

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


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

添加节点参数

参数说明
Type

Control Plane Node:负责运行集群中的 kube-apiserver、kube-scheduler、kube-controller-manager、etcd、容器网络以及部分平台管理组件。当启用 Application Deployable 时,控制平面节点也可以用作计算节点。


Worker Node:负责承载集群中运行的业务 Pod。

IPv4 Address

节点的 IPv4 地址。对于以内网模式创建的集群,请输入节点的私有 IP

IPv6 Address

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

Application Deployable

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

Display Name节点的显示名称。
SSH Connection IP

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


如果您可以使用 ssh <username>@<node's IPv4 address> 登录节点,则不需要填写此参数;否则,请输入节点的公网 IP 或 NAT 外网 IP,以确保 global 集群和代理能够通过该 IP 连接到节点。

Network Interface Card

输入节点使用的网络接口名称。网络接口配置生效的优先级如下(从左到右,优先级依次降低):


Kube-OVN Underlay:Node NIC > Cluster NIC


Kube-OVN Overlay:Node NIC > Cluster NIC > 节点默认路由对应的 NIC


Calico:Cluster NIC > 节点默认路由对应的 NIC


Flannel:Cluster NIC > 节点默认路由对应的 NIC

Associated Bridge Network

注意:创建集群时不支持桥接网络配置;此选项仅在向已创建 Underlay 子网的集群中添加节点时可用。


请选择现有的添加桥接网络。如果您不想使用桥接网络的默认 NIC,可以单独配置节点 NIC。

SSH Port

SSH 服务端口号,例如 22

SSH Username

SSH 用户名,需要是具有 root 权限的用户,例如 root

Proxy

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


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


Access URL:代理服务器地址,例如 192.168.1.1:1080
Username:访问代理服务器的用户名。


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

SSH Authentication

登录到所添加节点时所使用的认证方式及相应认证信息。可选项包括:


Password:需要具有 root 权限的用户名及对应的 SSH password
Key:需要具有 root 权限的 private keyprivate key password

Save Draft

将当前对话框中已配置的数据保存为草稿,并关闭 Add Node 对话框。


在不离开 Create Cluster 页面时,您可以选择 Restore from draft 打开 Add Node 对话框,并恢复保存为草稿的配置数据。


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

扩展参数

注意

  • 除必需配置外,不建议设置扩展参数,因为错误的设置可能会导致集群不可用,并且在集群创建后无法修改。

  • 如果输入的 Key 与默认参数 Key 重复,则会覆盖默认配置。

操作步骤

  1. 单击 Extended Parameters 以展开扩展参数配置区域。您可以为集群选择性设置以下扩展参数:
参数说明
Kubelet Parameters

kubeletExtraArgs,Kubelet 的附加配置参数。


注意:当填写 Container NetworkNode IP Count 参数时,系统会自动生成一个默认的 Kubelet Parameter 配置,其键为 max-pods,值为 Node IP Count。该配置用于设置集群中任意节点可运行的 Pod 最大数量。此配置不会在界面中显示。


Kubelet Parameters 区域新增 max-pods: maximum number of runnable pods 键值对会覆盖默认值。允许填写任意正整数,但建议使用默认值(Node IP Count)或填写不超过 256 的值。

Controller Manager Parameters

controllerManagerExtraArgs,Controller Manager 的附加配置参数。

Scheduler Parameters

schedulerExtraArgs,Scheduler 的附加配置参数。

APIServer Parameters

apiServerExtraArgs,APIServer 的附加配置参数。

APIServer URL

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

Cluster Annotations

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

  1. 单击 Create。您将返回集群列表页面,集群状态将显示为 Creating

创建后步骤

查看创建进度

在集群列表页面,您可以查看已创建集群的列表。对于处于 Creating 状态的集群,您可以查看其执行进度。

操作步骤

  1. 单击集群状态右侧的 View Execution Progress 小图标。

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

    提示:当某个类型处于进行中状态,或者在失败状态下带有原因时,将鼠标悬停在对应原因(蓝色文本)上,可查看该原因的详细信息(status.conditions.reason)。

关联项目

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