English | 简体中文
集群网络可以为 Pod 接入 Spiderpool 一个或多个 Underlay 网络的网卡,从而让 Pod 具备接入 underlay 网络的能力,具体可参考 一个或多个 underlay CNI 协同
以下是安装示例:
在公有云和虚拟机环境上运行 Spiderpool,使得 POD 对接 VPC 的网络
集群网络可以为 Pod 同时接入一个 Overlay CNI 网卡和多个 spiderpool 的 Underlay CNI 辅助网卡,从而让 Pod 同时具备接入 overlay 和 underlay 网络的能力,具体可参考 underlay CNI 和 overlay CNI 协同 。以下是安装示例:
安装 spiderpool 时,可指定 TLS 证书的生成方式,可参考 文章
-
您可以通过以下方式卸载 Spiderpool :
helm uninstall spiderpool -n kube-system
-
Spiderpool 的某些 CR 资源中存在 finalizers ,导致
helm uninstall
命令无法清理干净。 可获取如下清理脚本来完成清理,以确保下次部署 Spiderpool 时不会出现意外错误。wget https://raw.githubusercontent.com/spidernet-io/spiderpool/main/tools/scripts/cleanCRD.sh chmod +x cleanCRD.sh && ./cleanCRD.sh
可参考 升级
-
应用可以共享一个 IP 池,可参考例子。
-
对于无状态应用,可以独享一个 IP 地址池,并固定所有 Pod 的 IP 使用范围。 可参考例子。
-
对于有状态应用,支持为每一个 Pod 持久化分配固定 IP 地址,同时在扩缩时可控制所有 Pod 所使用的 IP 范围,可参考例子。
-
支持为 kubevirt 提供 underlay 网络,固定虚拟机的 IP 地址,可参考 例子
-
对于一个跨子网部署的应用,支持为其不同副本分配不同子网的 IP 地址,可参考例子。
-
Subnet 功能,一方面,能够实现基础设施管理员和应用管理员的职责分离, 另一方面,能够为有固定 IP 需求的应用自动管理 IP 池,包括自动创建、扩缩容 IP、删除 固定 IP 池, 这能够减少大量的运维负担,可参考例子。
该功能除了支持 K8S 原生的应用控制器,同时支持基于 operator 实现的第三方应用控制器。 可参考例子。
-
可以设置集群级别的默认 IP 池,也可租户级别的默认 IP 池。同时,IP 池既可以被整个集群共享, 也可被限定为被一个租户使用。可参考例子。
-
基于节点拓扑的 IP 池功能,满足每个节点精细化的子网规划需求,可参考例子
-
可以通过 IP 池和 Pod annotaiton 等多种方式定制自定义路由,可参考例子。
-
应用可设置多个 IP 池,实现 IP 资源的备用效果。可参考例子。
-
设置全局的预留 IP,让 IPAM 不分配出这些 IP 地址,这样能避免与集群外部的已用 IP 冲突。 可参考例子。
-
分配和释放 IP 地址的高效性能,可参考报告。
-
合理的 IP 回收机制设计,使得集群或应用在故障恢复过程中,能够及时分配到 IP 地址。可参考例子。
-
支持为 Pod 多网卡分配不同子网的 IP 地址;帮助所有网卡之间协调策略路由,以确保请求向和回复向数据路径一致,避免丢包;支持定制哪张网卡的网关作为缺省路由。
对于 Pod 具备多个 underlay CNI 网卡场景,可参考例子。
对于 Pod 具备一个 overlay 网卡和多个 underlay CNI 网卡场景,可参考例子。
-
支持 RDMA 网卡的 shared 和 exclusive 模式,能基于 maclan、ipvlan 和 SR-IOV CNI 为应用提供 RDMA 通信设备。具体可参考 Roce 例子 和 IB 例子.
-
coordinator 插件能够依据网卡的 IP 地址来重新配置 MAC 地址,使两者一一对应,从而能够有效避免网络中的交换路由设备更新 ARP 转发规则,避免丢包。可参考 文章。
-
对 Macvlan CNI, vlan CNI, ipvlan CNI, SR-IOV CNI, ovs CNI 等, 提供了基于 kube-proxy 和 eBPF kube-proxy replacement 访问 ClusterIP 访问,并联通 Pod 和宿主机通信,解决 Pod 健康检查问题。 可参考例子。
-
能够帮助实施 IP 地址冲突检测、网关可达性检测,以保证 Pod 通信正常,可参考例子。
-
多集群网络可基于相同的 underlay 网络或者 Submariner 实现联通。
-
在 Pod 启动时,能够在宿主机上动态创建 BOND 接口和 VLAN 子接口,以帮助 Macvlan CNI 和 ipvlan CNI 准备 master 接口。可参考例子。
-
以最佳实践的 CNI 配置来便捷地生成 Multus NetworkAttachmentDefinition 实例,并且保证其正确的 JSON 格式来提高使用体验。 可参考例子。