• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

spidernet-io/spiderpool: kubernetes ipam

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称(OpenSource Name):

spidernet-io/spiderpool

开源软件地址(OpenSource Url):

https://github.com/spidernet-io/spiderpool

开源编程语言(OpenSource Language):

Go 81.1%

开源软件介绍(OpenSource Introduction):

Spiderpool

Go Report Card CodeFactor Quality Gate Status codecov Auto Version Release Auto Nightly CI CII Best Practices badge badge badge badge badge

Status

Currently, the Spiderpool is under beta stage, not ready for production environment yet.

Introduction

The Spiderpool is an IP Address Management (IPAM) CNI plugin that assigns IP addresses for kubernetes clusters.

Currently, it is under developing stage, not ready for production environment yet.

Any Container Network Interface (CNI) plugin supporting third-party IPAM plugins can use the Spiderpool, such as MacVLAN CNI, VLAN CNI, IPVLAN CNI etc. The Spiderpool also supports Multus CNI case to assign IP for multiple interfaces. More CNIs will be tested for integration with Spiderpool.

Why Spiderpool

Most overlay CNIs, like Cilium and Calico, have a good implementation of IPAM, so the Spiderpool is not intentionally designed for these cases, but maybe integrated with them.

The Spiderpool is intentionally designed to use with underlay network, where administrators can accurately manage each IP.

Currently, in the community, the IPAM plugins such as whereabout, kube-ipam, static, dhcp, and host-local, few of them could help solve complex underlay-network issues, so we decide to develop the Spiderpool.

BTW, there are also some CNI plugins that could work on the underlay mode, such as kube-ovn and coil. But the Spiderpool provides lots of different features, you could see Features for details.

Features

The Spiderpool provides a large number of different features as follows.

  • Based on CRD storage, all operation could be done with kubernetes API-server.

  • Support for assigning IP addresses with three options: IPv4-only, IPv6-only, and dual-stack.

  • Support for working on the clusters with three options: IPv4-only, IPv6-only, and dual-stack.

  • Support for creating multiple ippools. Different namespaces and applications could monopolize or share an ippool.

  • An application could specify multiple backup ippool resources, in case that IP addresses in an ippool are out of use. Therefore, you neither need to scale up the IP resources in a fixed ippool, nor need to modify the application yaml to change a ippool.

  • Support to bind range of IP address only to an applications. No need to hard code an IP list in deployment yaml, which is not easy to modify. With Spiderpool, you only need to set the selector field of ippool and scale up or down the IP resource of an ippool dynamically.

  • Support Statefulset pod who will be always assigned same IP addresses.

  • Different pods in a single controller could get IP addresses from different subnets for an application deployed in different subnets or zones.

  • Administrator could safely edit ippool resources, the Spiderpool will help validate the modification and prevent from data race.

  • Collect resources in real time, especially for solving IP leakage or slow collection, which may make new pod fail to assign IP addresses.

  • Support ranges of CNI plugin who supports third-party IPAM plugins. Especially, the Spiderpool could help much for CNI like spiderflat, macvlan CNI, vlan CNI, ipvlan CNI, sriov CNI, ovs CNI.

  • Especially support for Multus CNI case to assign IP for multiple interfaces.

  • Have a good performance for assigning and collecting IP.

  • Support to reserve IP who will not be assigned to any pod.

  • Included metrics for looking into IP usage and issues.

  • By CidrManager, it could automatically create new ippool for application who needs fixed IP address, and retrieve the ippool when application is deleted. That could reduce the administrator workload.

  • Support for both AMD64 and ARM64.

Components

Refer to architecture for components.

Installation

Refer to installation.

Quick Start

Refer to demo.

Development

Development guide is a reference point for development helper commands.

License

Spiderpool is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.




鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap