# v1.0.0 版本发布说明 # v1.0.0 欢迎使用 Spiderpool v1.0.0 版本! 与 0.9.9 版本相比,v1.0.0 版本有以下更新。 *** ## 新功能 * 添加注解 cni.spidernet.io/network-resource-inject:[PR 4421](https://github.com/spidernet-io/spiderpool/pull/4421) * **支持 Kubevirt 虚拟机静态 IP**:实现了为 Kubevirt 虚拟机分配静态 IP 地址的功能,使虚拟机可以像 Pod 一样获得固定且可预测的 IP 地址,简化了虚拟化环境中的网络管理。[PR 3751](https://github.com/spidernet-io/spiderpool/pull/3751) * **节点 sysctl 配置支持**:spiderpool-agent 现在可以为节点配置系统级别的网络参数,通过 sysctl 接口调整内核网络栈参数,提高网络性能和稳定性。[PR 3772](https://github.com/spidernet-io/spiderpool/pull/3772) * **AI 与 macvlan 文档**:新增了详细文档,介绍如何在 AI 工作负载场景中使用 macvlan 网络模式,包括最佳实践和配置示例,优化 AI 训练和推理任务的网络性能。[PR 3870](https://github.com/spidernet-io/spiderpool/pull/3870) * **节点 rp_filter 自动设置**:agent 组件现在会自动将每个节点的 rp_filter(反向路径过滤)参数设置为 0,解决多网卡环境中的路由非对称问题,提高网络连接的可靠性。[PR 3898](https://github.com/spidernet-io/spiderpool/pull/3898) * **支持大掩码 IPv6 子网**:新增对 CIDR 掩码大于 64 位的 IPv6 子网的支持,允许更灵活的 IPv6 地址分配策略,满足不同规模网络的需求。[PR 3804](https://github.com/spidernet-io/spiderpool/pull/3804) * **chainCNI 支持**:为 spidermultusconfig 添加了 chainCNI 支持,允许多个 CNI 插件按顺序链式调用,实现更复杂的网络功能组合,如安全策略和流量控制。[PR 3918](https://github.com/spidernet-io/spiderpool/pull/3918) * **Pod 网络资源自动注入**:添加了 Pod 变更 webhook,能够根据预定义的规则自动为 Pod 注入网络资源配置,简化了多网卡环境下的 Pod 网络配置管理。[PR 4179](https://github.com/spidernet-io/spiderpool/pull/4179) *** ## 功能变更 * **VLAN 子接口创建优化**:修复了父接口关闭时的问题,现在会在创建 VLAN 子接口前自动将父接口设置为启用状态,提高了网络接口配置的可靠性。[PR 3089](https://github.com/spidernet-io/spiderpool/pull/3089) * **CRD 升级稳定性改进**:修复了 coordinator 升级过程中由于 CRD 属性为空导致的系统崩溃问题,增强了版本升级的稳定性和兼容性。[PR 3119](https://github.com/spidernet-io/spiderpool/pull/3119) * **动态 serviceCIDR 支持**:增强了 coordinator 组件,使其能够根据不同的 Kubernetes 版本自动适配并支持相应的 serviceCIDR 格式,提高了跨版本兼容性。[PR 3169](https://github.com/spidernet-io/spiderpool/pull/3169) * **组件启动控制优化**:通过 Helm charts 值参数实现了对 coordinator 组件启动过程的精细控制,提供更灵活的部署和配置选项。[PR 3183](https://github.com/spidernet-io/spiderpool/pull/3183) * **kubeadm-config 获取逻辑优化**:修复了获取 kubeadm-config 的逻辑问题,避免因配置获取失败而导致的 Pod 创建阻塞,提高了系统可用性。[PR 3212](https://github.com/spidernet-io/spiderpool/pull/3212) * **informer 稳定性提升**:修复了 spidercoordinator informer 中的崩溃问题,增强了事件处理的稳定性和错误恢复能力。[PR 3275](https://github.com/spidernet-io/spiderpool/pull/3275) * **边缘情况处理增强**:改进了 spidercoordinator 对网络边缘情况的处理能力,提高了在复杂网络环境下的稳定性和可靠性。[PR 3288](https://github.com/spidernet-io/spiderpool/pull/3288) * **配置事件同步机制**:优化了 Spidercoordinator 对 kubeadm-config 事件的同步处理,确保配置变更能及时触发状态更新,提高系统响应速度。[PR 3295](https://github.com/spidernet-io/spiderpool/pull/3295) * **StatefulSet IP 分配策略优化**:修复了 StatefulSet Pod 重新创建时的 IP 分配问题,确保在注解中指定新池时能正确更改 IP 地址,提高了有状态应用的网络稳定性。[PR 3676](https://github.com/spidernet-io/spiderpool/pull/3676) * **多网卡 NodePort 访问修复**:解决了 Pod 拥有多个网卡时无法访问 NodePort 服务的问题,优化了多网卡环境下的服务发现和访问机制。[PR 3815](https://github.com/spidernet-io/spiderpool/pull/3815) * **CNI 启动可靠性提升**:修复了当 agent 健康检查失败且 multus.conf 丢失时,Pod 由意外 CNI 启动的问题,增强了网络配置的一致性和可预测性。[PR 3813](https://github.com/spidernet-io/spiderpool/pull/3813) * **安装流程优化**:解决了 init-pod 中导致 agent pods 无法运行的安装阻塞问题,提高了系统部署和初始化的成功率。[PR 3816](https://github.com/spidernet-io/spiderpool/pull/3816) * **StatefulSet IP 回收机制改进**:修复了 Spiderpool 在 StatefulSet Pod 扩容/缩容期间错误回收 IP 地址的问题,避免了潜在的 IP 冲突,提高了动态伸缩的可靠性。[PR 3913](https://github.com/spidernet-io/spiderpool/pull/3913) * **rp_filter 设置范围优化**:调整了 coordinator 的行为,使其只为 Pod 设置 rp_filter 参数而不影响整个节点,提高了配置的精确性和安全性。[PR 3970](https://github.com/spidernet-io/spiderpool/pull/3970) * **多网卡路由表修复**:解决了 Pod 具有多个网卡时策略路由表配置错误的问题,确保了复杂网络拓扑下的正确路由。[PR 3971](https://github.com/spidernet-io/spiderpool/pull/3971) * **大型 CIDR IP 分配性能优化**:解决了从超大 CIDR 请求 IP 时 Pod 创建速度过慢的问题,通过优化 IP 分配算法提高了大规模网络环境下的性能。[PR 3630](https://github.com/spidernet-io/spiderpool/pull/3630) * **Istio 兼容性增强**:为支持 Istio 的重定向操作,在 veth0 接口上添加了链路本地 IP 地址,改进了与服务网格的集成。[PR 3624](https://github.com/spidernet-io/spiderpool/pull/3624) * **网关检测机制改进**:coordinator 现在使用 arping 技术检测网关是否可达,提高了网络连通性检查的准确性和效率。[PR 3585](https://github.com/spidernet-io/spiderpool/pull/3585) * **默认路由接口获取优化**:重构了 GetDefaultRouteInterface 函数,改进了获取 Pod 默认路由网卡的机制,提高了路由配置的准确性。[PR 3308](https://github.com/spidernet-io/spiderpool/pull/3308) * **路由劫持安全性提升**:确保 hijickRoute 功能的网关来源于 hostIPRouteForPod,增强了路由操作的安全性和可靠性。[PR 3365](https://github.com/spidernet-io/spiderpool/pull/3365) * **Chart 配置有效性修复**:解决了 chart 值 tuneSysctlConfig 不生效的问题,确保系统配置能够正确应用到目标组件。[PR 3989](https://github.com/spidernet-io/spiderpool/pull/3989) * **GOMAXPROCS 配置优化**:更新了 GOMAXPROCS 配置策略,根据容器资源限制自动调整 Go 运行时的并发度,提高了资源利用效率。[PR 4015](https://github.com/spidernet-io/spiderpool/pull/4015) * **Webhook 验证稳定性提升**:修复了在验证 webhook 中创建带有空 podRPFilter 的 spidermultusconfig 时的崩溃问题,增强了配置验证的健壮性。[PR 4079](https://github.com/spidernet-io/spiderpool/pull/4079) * **MAC 前缀验证修复**:解决了创建 spiderMultusConfig 时对单播 podMACPrefix 的错误验证问题,确保了 MAC 地址分配的正确性。[PR 4109](https://github.com/spidernet-io/spiderpool/pull/4109) *** ## 总计 拉取请求数量:154 [提交记录](https://github.com/spidernet-io/spiderpool/compare/v0.8.0...v1.0.0) * 修复:无法获取 podCIDR 和 serviceCIDR:[PR 4366](https://github.com/spidernet-io/spiderpool/pull/4366) * 修复 cilium ipam 多池情况下的控制器崩溃:[PR 4433](https://github.com/spidernet-io/spiderpool/pull/4433) * 在 ipam 而非 coordinator 中检测 IP 冲突和网关可达性:[PR 4560](https://github.com/spidernet-io/spiderpool/pull/4560) * 减少禁止资源访问的过多 WARN 日志:[PR 4356](https://github.com/spidernet-io/spiderpool/pull/4356) * 修复:在多网卡设置中,一个网卡的 IP 池短缺导致其他网卡的 IP 耗尽:[PR 4379](https://github.com/spidernet-io/spiderpool/pull/4379) * 修复:在多网卡场景中 StatefulSet 应用程序创建失败:[PR 4359](https://github.com/spidernet-io/spiderpool/pull/4359) * 修复:helm 升级后 pod webhook 证书过期导致 pod 无法运行:[PR 4420](https://github.com/spidernet-io/spiderpool/pull/4420) * 修复:无法获取 podCIDR 和 serviceCIDR:[PR 4366](https://github.com/spidernet-io/spiderpool/pull/4366) * 修复 cilium ipam 多池情况下的控制器崩溃:[PR 4433](https://github.com/spidernet-io/spiderpool/pull/4433) * 在网关检测前检测 IP 冲突以修复通信失败:[PR 4474](https://github.com/spidernet-io/spiderpool/pull/4474) * 修复缺少 rdma 依赖:[PR 4263](https://github.com/spidernet-io/spiderpool/pull/4263) * 移除 ServiceMonitor 重复的 namespaceSelector:[PR 4271](https://github.com/spidernet-io/spiderpool/pull/4271) * 更新 GrafanaDashboard:[PR 4264](https://github.com/spidernet-io/spiderpool/pull/4264) * 当 agent 健康检查失败且 multus.conf 丢失时,pod 由意外的 CNI 启动:[PR 3758](https://github.com/spidernet-io/spiderpool/pull/3758) * rbac:移除 patch/update 节点和 webhook 资源的权限:[PR 3880](https://github.com/spidernet-io/spiderpool/pull/3880) * 修复:Spiderpool 在 StatefulSet Pod 扩容/缩容期间 GC 错误的 IP 地址,导致 IP 冲突:[PR 3778](https://github.com/spidernet-io/spiderpool/pull/3778) * coordinator 应该只为 pod 设置 rp_filter,而不是节点:[PR 3906](https://github.com/spidernet-io/spiderpool/pull/3906) * coordinator:修复存在多个辅助网卡时的错误策略路由:[PR 3873](https://github.com/spidernet-io/spiderpool/pull/3873) * 更新 GOMAXPROCS 配置:[PR 4013](https://github.com/spidernet-io/spiderpool/pull/4013) * 修复:当安装了 sriovOperatorConfig 时无法卸载 spiderpool:[PR 3925](https://github.com/spidernet-io/spiderpool/pull/3925) * 修复在验证 webhook 中创建带有空 podRPFilter 的 spidermultusconfig 时的崩溃:[PR 4062](https://github.com/spidernet-io/spiderpool/pull/4062) * 修复创建 spiderMultusConfig 时对单播 podMACPrefix 的错误验证:[PR 4098](https://github.com/spidernet-io/spiderpool/pull/4098) * 修复:避免由于资源版本冲突导致清理 spiderpool 资源时失败:[PR 4130](https://github.com/spidernet-io/spiderpool/pull/4130) * 修复:优化 NotFound 资源的清理代码判断:[PR 4156](https://github.com/spidernet-io/spiderpool/pull/4156) * 修复:由 multus.spidernet.io/cr-name 指定的同名冲突检查:[PR 4168](https://github.com/spidernet-io/spiderpool/pull/4168) * DRA:修复 agent 启动错误:[PR 3504](https://github.com/spidernet-io/spiderpool/pull/3504) * RBAC:避免权限过高导致潜在的 CVE 风险:[PR 3608](https://github.com/spidernet-io/spiderpool/pull/3608) * 修复:从超大 CIDR 请求 IP 的 Pod 创建速度过慢:[PR 3583](https://github.com/spidernet-io/spiderpool/pull/3583) * 为 istio 添加链路本地 IP 到 veth0:[PR 3588](https://github.com/spidernet-io/spiderpool/pull/3588) * 修复:当在注解中更改池时,Statefulset pod 在重新创建时应该更改 IP:[PR 3669](https://github.com/spidernet-io/spiderpool/pull/3669) * 优化清理作业以使用主机网络:[PR 3692](https://github.com/spidernet-io/spiderpool/pull/3692) * 修复:当 pod 拥有多个网卡时无法访问 NodePort:[PR 3686](https://github.com/spidernet-io/spiderpool/pull/3686) * 优化清理脚本:[PR 3706](https://github.com/spidernet-io/spiderpool/pull/3706) * 修复:缺少 GLIBC 动态依赖导致 ovs 二进制文件不可用:[PR 3752](https://github.com/spidernet-io/spiderpool/pull/3752) * 卸载时移除 sriov-network-operator 安装的 CRD:[PR 3726](https://github.com/spidernet-io/spiderpool/pull/3726) * init-pod:支持 helm wait 并修复 agent pods 运行失败时安装阻塞:[PR 3732](https://github.com/spidernet-io/spiderpool/pull/3732) *** ## 总计 拉取请求数量:306 [提交记录](https://github.com/spidernet-io/spiderpool/compare/v1.0.0-0.9.9)