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

Please don't omit Flannel #1

Open
e3b0c442 opened this issue Feb 9, 2024 · 3 comments
Open

Please don't omit Flannel #1

e3b0c442 opened this issue Feb 9, 2024 · 3 comments

Comments

@e3b0c442
Copy link

e3b0c442 commented Feb 9, 2024

Hello!

I just wanted to say -- I found your analysis in previous years to be quite insightful, and I happened upon the post again today while I was doing some research and had considered running the benchmark tool myself (though I don't have the luxury of a local 10Gb network yet).

In the process, I noticed this repo. I'm glad you're updating the benchmarks again, but I noticed there doesn't seem to be a sign of Flannel anywhere in here.

Maybe I'm premature and it's a work in progress, but I just wanted to implore you -- please don't omit Flannel from this round. I know it's not the new hotness, but I think it's an important data point to compare these newer CNIs against a popular, basic, purpose-built and low-resource plugin like Flannel.

Thank you again for the work here, and I look forward to the final product of this repo. 👋

@AlexisDucastel
Copy link
Member

Hi !

First of all, thanks or the feedback ! Glad to hear that you are happy about the incoming benchmark 😄

For this benchmark, we choosed to only select CNIs following these requirements :

  • Be maintained (At least 1 commit in last 12 months)
  • No cloud or hardware specific
  • No meta-cni like Multus
  • Implement Network Policies
  • Have an easy setup (must be k8s or helm commands, no compilation or system tuning)

As you can see in the CNI selection spreadsheet , we did not picked Flannel because of Network policies. But as it is the only one who failed at this step, and may be a good comparison point as baremetal, we may consider adding it for reference only.

Do you agree with that ?

@e3b0c442
Copy link
Author

e3b0c442 commented Feb 11, 2024

I would agree. As mentioned, I think it's important to consider the basic plugins from a performance perspective; there's something to be said for the UNIX philosophy of doing one thing very well, and I think Flannel indeed would be a great point of comparison -- it's hard to get much more basic while still fulfilling what's expected from a CNI.

I understand where you're coming from with the feature set, and it makes sense, but at the same time the CNI doesn't necessarily need to implement policy itself (in fact, k3s does exactly this -- it uses Flannel for CNI by default and then a basic network policy provider on top built into k3s [ed: I've just discovered it's actually kube-router's netpol library]), so definitely worth considering.

It would also be great to see it as a reference point against Canal in 2024, given Canal is essentially also what I just described (Flannel CNI with Calico network policies).

Thanks again for the great work here, I'm looking forward to it!

@AlexisDucastel
Copy link
Member

Here is flannel : c846914 😄

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

No branches or pull requests

2 participants