首页 / 平台管理 / 集群管理 / 集群 / 创建集群

创建集群

通过平台可基于基础设施搭建一个 Kubernetes 业务集群。

约束与限制

前提条件

操作步骤

  1. 在左侧导航栏中,单击 集群管理 > 集群

  2. 单击 创建集群

  3. 参照以下说明,配置 基本信息容器网络节点配置扩展参数

配置基本信息

参数 说明
Kubernetes 版本 集群的 Kubernetes 组件的版本及选中版本支持的容器运行时组件类型和版本。
提示:当其他要部署在集群上的业务组件对 Kubernetes 版本有强依赖关系时,请结合集群的业务用途,基于 自建集群组件版本要求 选择合适的版本。
运行时组件 Kubernetes 版本 支持的容器运行时组件的类型及版本。
集群地址 集群对外暴露 API Server 的访问地址,需支持 https 协议。

  • 自建 VIP:
    • 启用 自建 VIP:需输入已申请的 VRID(虚拟路由器 ID)并设置 IP 地址/域名 为已申请的 VIP(端口 必须为 6443)。
      提示:集群使用自建 VIP 并创建成功后,集群的访问地址为 <VIP>:6443
    • 关闭 自建 VIP:请结合规划的控制节点个数,配置 IP 地址/域名端口
      • 当集群的控制节点个数为 35 时,IP 地址/域名 须为提前准备的集群外的负载均衡(例如:F5 设备、IaaS 层的负载均衡器或 HAProxy 软件等)的访问地址或域名。
      • 当集群只有 1 个控制节点时,IP 地址/域名 可以是控制节点的 私有 IP/域名集群外的负载均衡的访问地址或域名。如有在集群创建成功后添加控制节点的计划,为方便后续扩容,建议您输入提前准备的集群外的负载均衡的访问地址或域名。
        注意:使用负载均衡时,端口 为负载均衡的端口号;不使用负载均衡时,端口 必须输入 6443
  • 外网访问:某些场景下 global 集群与业务集群无法使用内网地址联通,可配置集群的外网访问地址,使用公网地址对接 global 集群。
    • 启用 外网访问:请输入外网访问地址的域名或 IP 以及端口信息,同时您须满足如下条件:
      • 配置 API Server 端口转发:您需确保填写的外网地址 + 端口可转发至内网集群地址或每个 master 节点地址的 6443 端口上。
      • 配置 平台相关服务 端口转发:您需确保填写的外网地址 11780 和 11781 端口,可转发至内网集群地址的 11780、11781 或每个 master 节点的 11780 和 11781 端口上。
      • 确保业务集群可以访问 global 集群:在 节点设置 区域的 扩展参数 中,您需添加 Cluster annotation 键值对:cpaas.io/platform-url: <global 集群的公网访问地址,例如:https://publicIP:443>
        注意:对于使用 DevOps 平台流水线的用户,您还需参考 业务集群中的 DevOps 组件指定平台访问地址 配置 DevOps 组件。
      • 配置镜像仓库:仅支持选择外部镜像仓库,确保可以正常拉取平台镜像。例如使用公网地址访问 global 集群下的镜像仓库,将使用公网流量拉取镜像,配置流程请参考 业务集群无法访问平台默认镜像仓库,如何处理?
      • 配置 global 集群的外网访问:在 更新平台参数 页面,配置平台其他访问地址以支持公网访问。
    • 关闭 外网访问:global 集群与业务集群使用内网访问。若后续已创建的业务集群需要访问 global 集群的公网地址,可参考上述启用外网访问的相关描述,检查每项是否匹配并配置业务集群。
镜像仓库 存储集群所需平台组件镜像的仓库。
- 平台默认:部署 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
- 自定义

配置节点设置

参数 说明
网卡 集群网络插件使用的主机网卡设备的名称。
注意:Kube-OVN 默认子网选择 Underlay 传输方式时,您须指定网卡名称,此时的网卡为桥接网络的默认网卡。
节点名称 可选择使用节点 IP 或主机名称(Hostname)作为平台上节点的名称。
注意:当选择使用主机名称作为平台上节点名称时,需确保添加至集群的节点的主机名称唯一。
节点信息 为集群 添加节点,或 从草稿恢复 临时保存的配置数据,详细信息请参考 节点配置参数说明

注意
- 当节点的操作系统为 EulerOS 时,需要在 扩展参数 区域,为 kubelet 参数添加 cgroup-driver: cgroupfs 键值对。
- 控制节点至少添加 1 个,且个数只能为 1、3、5;控制节点个数大于等于 3 时,集群才具有多备容灾能力;不建议将仅有 1 个控制节点的集群作为生产环境集群使用。
监控组件类型 支持 PrometheusVictoriaMetrics,监控工具选型可参考文档 如何选择监控组件?

选择 VictoriaMetrics 监控组件时,您须配置 部署方式
- 部署 VictoriaMetrics: 部署相关的所有组件,包括 VMStorageVMAlertVMAgent 等。
- 部署 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 权限的 私钥私钥密码
保存草稿 将当前对话框中已配置的数据保存为草稿并关闭 添加节点 对话框。
在不离开 创建集群 页面的前提下,可通过选择 从草稿恢复 打开 添加节点 对话框并恢复保存为草稿的配置数据。
提示:从草稿中恢复的数据为最近一次保存为草稿的数据。

(可选)配置扩展参数

提示

操作步骤

  1. 单击 扩展参数,展开扩展参数配置区域,可选择为集群设置以下扩展参数。

    参数 说明
    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 参数 集群的注解信息,通过键值对的形式在元数据下标记集群特征,供平台组件或业务组件获取相关信息。
  2. 单击 创建。返回集群列表页面,集群处于 创建中 状态。

    提示:集群处于 创建中 状态时,可查看执行进度,具体操作请参考本文的 后续操作 内容。

后续操作

查看执行进度

在集群列表页面,可查看已创建的集群的列表信息,其中,处在 创建中 状态的集群,可查看执行进度。

操作步骤

  1. 单击处在 创建中 状态的集群右侧的 > 查看执行进度

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

    提示:当某个类型正在执行中或状态为失败且有原因时,光标悬浮在对应的原因(显示蓝色字体)上时,可查看原因(status.conditions.reason)的详细信息。

部署插件

集群创建成功后,您可前往 插件管理 选择为集群部署必须的插件,包括监控组件、日志采集组件、日志存储组件等。

关联项目

通过基于集群 创建项目 ,或通过 添加项目关联集群 的方式将集群添加至已有项目,可将新创建的集群关联至项目。

进而通过 创建命名空间 可在集群下创建命名空间,将集群资源分配给命名空间,为业务容器提供运行环境。