Comments (4)
While CNI could be adopted in principle, and it's really interesting to imagine re-using all that code in the Incus runtime, it's kind of a big spec (as you are probably aware).
The CNI specification defines:
- A format for administrators to define network configuration.
- A protocol for container runtimes to make requests to network plugins.
- A procedure for executing plugins based on a supplied configuration.
- A procedure for plugins to delegate functionality to other plugins.
- Data types for plugins to return their results to the runtime.
At a high level, the networking "objects" defined in the CNI spec map reasonably well to networks and zones as they have existed in classic LXD, but only at a high level. In practice, I'd wager that very little actually existing CNI code would work without changes.
It all feels very K8s to me. There was a "land rush" of vendors new and old into the space a few years ago, and a very strong pressure to converge on something. And a lot of very smart people did heroic and amazing work, but I don't think that a lot of those configuration interfaces should proliferate.
As an aside, I am somewhat surprised that Podman is deprecating CNI.
OVN on the other hand, is a more full-featured target for integration that actually does stuff. But I wonder if it could be made easier.
from incus.
Incus has proper overlay networking support through standard OVS/OVN
Exactly. IMHO, considering the already good support for OVS/OVN, I don't see any reason to add another standard, like CNI. When considering adding another one, it should be at least as lean and simple as OVS/OVN, or better (leaner and simpler).
from incus.
never tried to upstream
ubuntu fan violates RFC specifications of using reserved IP ranges thus is not acceptable upstream - or in general should not be operated on public internet.
Some canonical products still use ubuntu fan on GCE cloud and AWS cloud.
However, a more native approach would be better, standards compliant and even potentially more performant. For example on AWS cloud k8s typically uses Amazon VPC CNI plugin for Kubernetes https://github.com/aws/amazon-vpc-cni-k8s Which as far as I can understand can achieve the desired effect (automatically allocate interfaces for a container, and for the host, as of when needed). See design details on https://github.com/aws/amazon-vpc-cni-k8s/blob/master/docs/cni-proposal.md
Potentially when deploying non-k8s container solutions, using amazon-vpc-ci-k8s may still make sense to achieve coherent networking strategy.
from incus.
Sure CNI doesn't look like a good fit. And OVN is much better. But native networking in a given public cloud might be best for small/medium deployments, no? the point of amazon-vpc-cni-k8s is that native amazon cloud networking is used to dynamically create interfaces & ip addresses, attach them to instances and plumb them to the container - which one can also control and firewall using regular amazon tooling & reporting.
from incus.
Related Issues (20)
- lxd-to-incus - check shift=true availability on target before migrating HOT 6
- is there a roadmap for the first lts version's release HOT 2
- Builds from releases fail because of broken OpenFGA canonical imports HOT 10
- Cannot attach USB devices without Incus agent running in the VM HOT 1
- Upgrade with offline cluster member results in whole cluster becoming unavailable HOT 3
- Improve idmap detection/handling HOT 2
- upgrading incus from 0.3 to 0.4 unmounted `/proc` in the container HOT 12
- lxd-to-incus not working with headless server HOT 5
- launch on a specific cluster group fails HOT 3
- Chocolatey link goes to LXD client package instead of incus HOT 1
- Don't expand ipvX.address/ipvX.nat when joining a cluster HOT 2
- Unable to use a USB NIC with nic=physical HOT 4
- Disable OVN gateway chassis when evacuated
- Setting the openfga properties breaks incus admin init --preseed HOT 7
- Add `glusterfs` storage driver HOT 8
- incus remote add --auth-type oidc unable to create the configuration file error HOT 6
- a user in the operator role cannot launch an instance HOT 3
- Lxd-to-incus should also look in /var/snap/lxd HOT 3
- incus-lxcfs can't find /usr/bin/mkdir HOT 3
- support fish shell completions HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from incus.