在非 Alauda OS 上创建集群

前提条件

节点要求

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

负载均衡

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

如果环境中有可用的硬件 LoadBalancer,建议使用该负载均衡器。 如果没有,可以启用 Self-built VIP,通过 keepalived 提供软件负载均衡。

建议:使用硬件 LoadBalancer 时,建议使用域名配置 Cluster Endpoint。如果集群安装后硬件 LoadBalancer 的 VIP 发生变化,可以更新 DNS 记录,而无需重新配置集群。

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

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

如果集群只有一个控制平面节点,并将该节点的 IP 用作 Cluster Endpoint 参数,则之后无法将集群从单节点扩展为高可用多节点集群。因此,即使是单节点集群,也建议配置负载均衡器。

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

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

连接 global 集群和业务集群

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

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

镜像仓库

集群镜像支持平台内置、私有仓库和公共仓库选项。这些选项用于配置业务集群使用的平台镜像源。

  • 平台内置:使用为 global 集群配置的平台镜像源。此镜像源可以是通过 global 部署的 Registry,也可以是安装期间选择的外部平台镜像仓库。如果镜像源是内置 Registry,且业务集群无法访问 global,请参阅为内置 Registry 添加外部地址。
  • 私有仓库:为此业务集群使用另一个由客户管理的镜像仓库。选择此选项前,请上传所选 Kubernetes 版本和架构所需的完整负载,并满足准备外部平台镜像仓库中所述的功能要求和访问条件。用于生产环境时,还应遵循有关 HTTPS、DNS、可用性、监控、备份、恢复和保留的生产建议。
  • 公共仓库:使用平台的公共镜像仓库。使用前,请完成更新公共仓库凭据。

容器网络

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

创建操作步骤

  1. 进入管理员视图,点击左侧导航栏中的集群/集群。

  2. 点击创建集群。

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

基本信息

参数描述
Kubernetes 版本

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


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

容器运行时

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

集群网络协议

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


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

集群端点

IP 地址 / 域名:输入预先准备的域名;如果没有可用的域名,则输入 VIP。


自建 VIP:默认禁用。仅在未提供 LoadBalancer 时启用。启用后,安装程序将自动部署 keepalived,以支持软件负载均衡。


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

容器网络

Kube-OVN
Custom

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

参数描述
子网

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

传输模式

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

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

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

Join CIDR

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

节点设置

参数描述
网络接口卡

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


注意:

  • 为 Kube-OVN 默认子网选择 Underlay 传输模式时,必须指定网络接口名称,该接口将作为用于网桥网络的默认网卡。
    - 平台默认通过接口名称 eth.|en.|wl.|ww.识别网络接口流量。如果使用其他命名规则的接口,请在集群接入后参阅从自定义名称的网络接口收集网络数据,修改相关资源,以确保平台能够正确监控网络接口流量。
节点名称

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


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

节点

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

监控类型

支持 Prometheus 和 VictoriaMetrics。
选择 VictoriaMetrics 作为监控组件时,必须配置部署类型:
- 部署 VictoriaMetrics:部署所有相关组件,包括 VMStorage、VMAlert、VMAgent 等。


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

监控节点

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


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

节点添加参数

参数描述
类型

控制平面节点:负责在集群中运行 kube-apiserver、kube-scheduler、kube-controller-manager、etcd、容器网络和部分平台管理组件等。当 允许部署原生应用启用时,控制平面节点也可以用作工作节点。


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

IPv4 地址

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

IPv6 地址

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

允许部署原生应用

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

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

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


如果可以使用 ssh <username>@<node's IPv4 address>登录节点,则无需设置此参数;否则请输入节点的公共 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 代理。


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


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

SSH 身份验证

登录所添加节点的身份验证方式及相应的身份验证信息。选项包括:


密码:需要具有 root 权限的用户名及对应的SSH 密码。
密钥:需要具有 root 权限的私钥及 私钥密码。

保存草稿

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


无需离开创建集群页面,即可选择 从草稿恢复,打开添加节点对话框并恢复保存为草稿的配置数据。


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

扩展参数

注意:

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

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

操作步骤

  1. 点击扩展参数,展开扩展参数配置区域。可以为集群选择性设置以下扩展参数:
参数描述
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)。

关联项目

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