CNI-Genie for choosing pod network of your choice during deployment time. Supported pod networks - Calico, Flannel, Romana, Weave
CNI-Genie enables container orchestrators (Kubernetes, Mesos) to seamlessly connect to the choice of CNI plugins installed on a host, including
Without CNI-Genie, the orchestrator is bound to only a single CNI plugin. E.g., for the case of Kubernetes, without CNI-Genie, kubelet is bound to only a single CNI plugin passed to kubelet on start. CNI-Genie allows for the co-existance of multiple CNI plugins in runtime.
Please feel free to post your feedback, questions on CNI-Genie Slack channel
Here is a 6 minute demo video that demonstrates 3 scenarios
CNI Genie is an add-on to Kubernetes open-source project and is designed to provide the following features:
Watch multiple CNI plugins demo
Watch multi-NICs per 'container' demo
Watch multi-NICs per 'pod' demo (IP addresses assigned not only to the container, but also to the Pod)
Network Attachment Definition. CNI-Genie supports NPWG Multi-Network Specification v1 style network attachment to pods, where pods can be assigned IP according to network-attachment-definition CRD objects created by user.
The user can leave the CNI plugin selection to CNI-Genie. CNI-Genie watches the Key Performance Indicator (KPI) that is of interest to the user and selects the CNI plugin, accordingly.
Watch Smart CNI Plugin Selection demo
Default plugin support. Another useful feature from genie. Using this, we can ensure to get ip address(es) for a pod by selecting default set of plugins
Network isolation, i.e.,
CNI-Genie network policy engine for network level ACLs
Real-time switching between different (physical or logical) networks for a given workload. This allows for
Note: CNI-Genie itself is NOT a routing solution! It makes a call to CNI plugins that provide routing service