Galaxy: providing high-performance network and float IP for Kubernetes workloads
Galaxy is a Kubernetes network project designed for providing both overlay and high performance underlay network for pods. And it also implements float IP(or elastic IP), i.e. pod's IP won't change even if it float onto another node due to node crash, which benefits for running stateful set applications.
Currently, it consists of three components - Galaxy, CNI plugins and Galaxy IPAM. Galaxy is a daemon process running on each kubelet node which invokes different kinds of CNI plugins to setup the required networks for pods. Galaxy IPAM is a Kubernetes Scheduler plugin which works as a float IP configuration and allocation manager.
Galaxy is compatible with CNI spec and you can integrate any CNI plugin with it by installing CNI binaries and updating network configuration.
Using Galaxy
- Getting started
- Galaxy configuration
- Galaxy-ipam configuration
- Float IP usage
- Random port mapping
- Built-in CNI plugins
- Network policy
Contributing
Galaxy is written in Golang like lots of Kubernetes project. Please refer to install golang first. If you want to build Galaxy right away, please check building Galaxy.
For more information about contributing issues or pull requests, see our Contributing to Galaxy.
License
Galaxy is under the Apache License 2.0. See the License file for details.