Skip to content

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