Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CNI plugins implementation #28

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

CNI plugins implementation #28

wants to merge 1 commit into from

Conversation

mfernd
Copy link
Contributor

@mfernd mfernd commented Aug 31, 2023

We decided to implements the CNI plugins in three different plugins:

  • orka-cni: main plugin which will delegate the operations to the 2 other plugins
  • bridge: a container is plugged into a bridge, that resides in the host, with a veth pair (one in the host and the other one in the container)
    • create the bridge interface if not created
    • create a veth pair: one in the container & one on the host with the bridge as his master
    • add the container IP on the host (asking the host-local which IP to allocate)
    • add a route for the gateway in the container
    • remove the veth pair
    • remove the allocated IP of the container with the host-local plugin
  • host-local: an IPAM plugin to manage the state of IPv4 addresses out of a specified address range
    • manage the IPs state
    • respond with an array of allocated IP addresses with the route to the gateway
    • delete an allocated IP in the state

The goal is to separate responsibilities and make it easier to configure for the runtime.

With this approach, we can gradually change the official CNI plugins with our own plugins.

Signed-off-by: sylvain-pierrot <[email protected]>
Signed-off-by: Hunh0w <[email protected]>
Signed-off-by: Lapsus Ordonné <[email protected]>

Co-authored-by: sylvain-pierrot <[email protected]>
Co-authored-by: Hunh0w <[email protected]>
@mfernd mfernd marked this pull request as ready for review August 31, 2023 23:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant