Skip to content

Latest commit

 

History

History
152 lines (87 loc) · 8.28 KB

readme-zh_CN.md

File metadata and controls

152 lines (87 loc) · 8.28 KB

使用索引

English | 简体中文

安装 Spiderpool

在裸金属环境上安装 Spiderpool

集群网络可以为 Pod 接入 Spiderpool 一个或多个 Underlay 网络的网卡,从而让 Pod 具备接入 underlay 网络的能力,具体可参考 一个或多个 underlay CNI 协同

以下是安装示例:

在虚拟机和公有云环境上安装 Spiderpool

在公有云和虚拟机环境上运行 Spiderpool,使得 POD 对接 VPC 的网络

基于 Overlay CNI 和 Spiderpool 的双 CNI 集群

集群网络可以为 Pod 同时接入一个 Overlay CNI 网卡和多个 spiderpool 的 Underlay CNI 辅助网卡,从而让 Pod 同时具备接入 overlay 和 underlay 网络的能力,具体可参考 underlay CNI 和 overlay CNI 协同 。以下是安装示例:

TLS 证书

安装 spiderpool 时,可指定 TLS 证书的生成方式,可参考 文章

卸载 Spiderpool

  1. 您可以通过以下方式卸载 Spiderpool :

    helm uninstall spiderpool -n kube-system
  2. 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

升级 Spiderpool

可参考 升级

使用 Spiderpool

IPAM 功能

  • 应用可以共享一个 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 CNIipvlan CNI 准备 master 接口。可参考例子

  • 以最佳实践的 CNI 配置来便捷地生成 Multus NetworkAttachmentDefinition 实例,并且保证其正确的 JSON 格式来提高使用体验。 可参考例子

其它功能

  • 指标

  • 支持 AMD64 和 ARM64

  • 所有的功能都能够在 ipv4-only、ipv6-only、dual-stack 场景下工作。可参考例子