安装 Spiderpool¶
本页介绍如何安装 Spiderpool。
前提条件¶
- 在 DCE 5.0 集群内使用 SpiderPool,需要结合 Calico/Cillium。
- 建议使用 v0.9.0 及其以上的 Spiderpool 版本,新版 Spiderpool 支持自动安装 Multus, 安装后可结合 Multus CR 管理使用 Underlay CNI (Macvlan 或 SR-IOV,并确认待使用的网卡接口和子网。
安装步骤¶
请确认您的集群已成功接入容器管理
平台,然后执行以下步骤安装 Spiderpool。
-
在左侧导航栏点击
容器管理
—>集群列表
,然后找到准备安装 Spiderpool 的集群名称。 -
在左侧导航栏中选择
Helm 应用
->Helm 模板
,找到并点击spiderpool
。 -
在
版本选择
中选择希望安装的版本,点击安装
。 -
在安装界面,填写所需的安装参数。如需要使用 RDMA 资源,更多详情可参考 RDMA 安装及使用准备
上图中的各项参数说明:
namespace
:部署 SpiderPool 组件的命名空间,默认为kube-system
。如改为其他 Namespace,界面可能会不可用。Global Setting
—>global image Registry
:设置所有镜像的仓库地址,默认已经填写了可用的在线仓库,如果是私有化环境,可修改为私有仓库地址。Spiderpool Agent Setting
—>Spiderpool Agent Container registry
:设置镜像名,可使用默认值。-
Spiderpool Controller Setting
->replicas number
:设置 Spiderpool Controller 的副本数,主要负责 Spiderpool 的控制器逻辑。该 Pod 是 hostnetwork 模式,并且在 Pod 之间设置了反亲和性,所以一个 Node 上最多部署一个 Pod。 如果要部署大于 1 的副本数量,请确保集群的节点数充足,否则将导致部分 Pod 调度失败。
-
Spiderpool Controller Setting
->Spiderpool Controller Image
->repository
:设置镜像名,可使用默认值。
上图中的各项参数说明:
Multus Setting
->MultusCNI
->Install Multus CNI
:启用 Multus 安装。如果您已经安装了 Multus,则可以将其设置为 false。默认为 true。Multus Setting
->MultusCNI
->Default CNI Name
:集群默认 CNI 名称。 默认为空,如果该值为空,Spiderpool 将根据/etc/cni/net.d/
中已有的 CNI conf 文件自动获取默认 CNI, DCE5 集群推荐默认为空。Multus Setting
->Multus Image
->repository
:设置 Multus 的镜像仓库地址,默认已经填写了可用的在线仓库,如果是私有化环境,可修改为私有仓库地址。
上图中的各项参数说明:
Sriov-Operator
->Install Sriov-Operator
:开启安装 Sriov-operator,Sriov-operator 用于帮助安装 sriov-cni,sriov-device-plugin 等组件。 如果您是在建设 AI 集群场景下,需要基于 SR-IOV 技术给容器提供 RDMA 通信(包括 Roce 和 Infiniband)与加速能力,推荐安装。 注意: 建议 Sriov-operator 不要和 k8s-rdma-shared-dev-plugin 同时安装。Sriov-Operator
->Image
->Operator repository
:设置镜像名,可使用默认值。operator 用于帮助安装所有 sriov 组件。Sriov-Operator
->Image
->SriovCni repository
:设置镜像名,可使用默认值。用于帮助安装 sriov-cni CNI 二进制到每个节点。Sriov-Operator
->Image
->SriovDevicePlugin repository
:设置镜像名,可使用默认值。用于发现主机上的 srivo device 资源,并上报给 kubelet。Sriov-Operator
->Image
->SriovConfigDaemon repository
:设置镜像名,可使用默认值。用于配置主机上的 sriov 网络配置,比如启用 SR-IOV 功能等。Sriov-Operator
->Image
->IbSriovCni repository
:设置镜像名,可使用默认值。用于安装 ib-sriov-cni CNI 二进制到每个节点。Sriov-Operator
->Image
->ResourcesInjector repository
:设置镜像名,可使用默认值。基于 webHook 可实现自动更新 Pod 的网络资源(主要是 sriov 网络资源)配置。Sriov-Operator
->Image
->Webhook repository
:设置镜像名,可使用默认值。webhook 组件完成资源的校验和更新。
上图中的各项参数说明:
Rdma
->RdmaSharedDevicePlugin
->Install RdmaSharedDevicePlugin
:开启安装 RDMA k8s-shared-dev-plugin 组件。 并搭配 Macvlan 或 IPVlan CNI 将 rdma 设备共享给容器使用。如果您是在建设 AI 集群,推荐安装。注意: 建议 RdmaSharedDevicePlugin 不要和 Sriov-Operator 同时安装。Rdma
->RdmaSharedDevicePlugin
->Image repository
:设置镜像名,可使用默认值。Rdma
->RdmaSharedDevicePlugin
->RdmaSharedDevicePlugin Config
->resourceName
:配置 k8s-rdma-shared-dev-plugin 资源名称,名称集群内唯一,用于给 Pod 分配 RDMA 资源。Rdma
->RdmaSharedDevicePlugin
->RdmaSharedDevicePlugin Config
->vendors
:配置 RDMA 共享设备的 vendor,可使用默认值。用于发现主机上的 RDMA 设备。Rdma
->RdmaSharedDevicePlugin
->RdmaSharedDevicePlugin Config
->deviceIDs
:配置 RDMA 共享设备的 devices ID 列表,可使用默认值。用于发现主机上的 RDMA 设备。
上图中的各项参数说明:
CNI-Plugins
->Image
->repository
:设置镜像名,可使用默认值。install CNI-Plugins
:开启安装 CNI 插件,给每个节点安装 CNI 二进制文件(macvlan/ipvlan等)。如果你还未安装,则可以将其设置为 true。默认为 false。IP Family Setting
->enable IPv4
:开启 IPv4 支持。若开启,在给 pod 分配 IP 时,会尝试分配 IPv4 地址,否则会导致 Pod 启动失败。 所以,请开启Cluster Defalt Ippool Installation
->install IPv4 ippool
,以创建集群的默认 IPv4 池。IP Family Setting
->enable IPv6
:开启 IPv6 支持。若开启,在给 pod 分配 IP 时,会尝试分配 IPv6 地址,否则会导致 Pod 启动失败。 所以,请开启Cluster Default Ippool Installation
->install IPv6 ippool
,以创建集群的默认 IPv6 池。
上图中的各项参数说明:
Cluster Default Ippool Installation
->install IPv4 ippool
:安装 IPv4 IP 池。Cluster Default Ippool Installation
->install IPv6 ippool
:安装 IPv6 IP 池。Cluster Default Ippool Installation
->IPv4 ippool subnet
:设置默认池中的 IPv4 子网号,请提前规划好可使用的子网及网关, 例如192.168.0.0/16
。如果未开启install IPv4 ippool
,请忽略本项。Cluster Default Ippool Installation
->IPv6 ippool subnet
:设置默认池中的 IPv6 子网号,请提前规划好可使用的子网及网关, 例如fd00::/112
。如果未开启install IPv6 ippool
,请忽略本项。Cluster Default Ippool Installation
->IPv4 ippool gateway
:设置 IPv4 网关,例如192.168.0.1
, 该 IP 地址务必属于IPv4 ippool subnet
。如果未开启install IPv4 ippool
,请忽略本项。Cluster Default Ippool Installation
->IPv6 ippool gateway
:设置 IPv6 网关,例如fd00::1
,该 IP 地址应属于IPv6 ippool subnet
。如果未开启install IPv6 ippool
,请忽略本项。Cluster Default Ippool Installation
->IP Ranges for default IPv4 ippool
:设置哪些 IP 地址可分配给 Pod, 可设置多个成员,每个成员只支持 2 种输入格式的字符串。
Note
- 一种是一段连续的 IP,如
192.168.0.10-192.168.0.100
。 - 一种是单个 IP 地址,如
192.168.0.200
。不支持输入 CIDR 格式。
这些 IP 地址应属于
IPv4 ippool subnet
。如果未开启install IPv4 ippool
,请忽略本项。Cluster Default Ippool Installation
->IP Ranges for default IPv6 ippool
: 设置哪些 IP 地址可分配给 Pod,可设置多个成员,每个成员只支持 2 种输入格式的字符串。
Note
- 一种是一段连续的 IP,如
fd00::10-fd00::100
。 - 一种是单个 IP 地址,如
fd00::200
设置。不支持输入 CIDR 格式。
这些 IP 地址应属于
IPv6 ippool subnet
。如果未开启install IPv6 ippool
,请忽略本项。 -
点击右下角
确定
按钮即可完成安装。完成后,可参考 SpiderPool 的使用进行 IP Pool 的使用。
Note
在安装过程中,可创建默认的 subnet 和 ippool;在安装完成后,在使用界面可创建更多的 subnet 和 ippool。