https://github.com/qingwave/mycni
Mycni is a simple CNI plugin based on linux brige and routes for Kubernetes
https://github.com/qingwave/mycni
bridge cni k8s kubernetes
Last synced: about 1 year ago
JSON representation
Mycni is a simple CNI plugin based on linux brige and routes for Kubernetes
- Host: GitHub
- URL: https://github.com/qingwave/mycni
- Owner: qingwave
- License: apache-2.0
- Created: 2022-04-06T03:27:49.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2024-02-20T01:16:11.000Z (over 2 years ago)
- Last Synced: 2025-03-28T11:39:20.172Z (about 1 year ago)
- Topics: bridge, cni, k8s, kubernetes
- Language: Go
- Homepage: https://qingwave.github.io/how-to-write-k8s-cni/
- Size: 5.55 MB
- Stars: 30
- Watchers: 2
- Forks: 22
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# MyCNI
A simple CNI plugin for kubernetes, similar with Flannel host-gw.
## Components
`mycni`: CNI plugin for containers, create Linux Bridge, veth pair and assign IP for Pod.
`mycnid`: daemon service on each host, watch Nodes and set routes, iptables for each host.
Network architecture:

## Quick Start
Deploy MyCNI into your kubernetes cluster
> !!! It will deploy a DaemonSet application in all nodes, please run this in your dev cluster or kind/minikube
```bash
kubectl apply -f https://raw.githubusercontent.com/qingwave/mycni/main/deploy/mycni.yaml
```
## Develop
It's more easier to use [kind](https://kind.sigs.k8s.io/) cluster for test. Create a kind cluster
```bash
make kind-cluster
```
Build image
```bash
make docker-build
```
Load image into kind cluster [optional]
```bash
make kind-image-load
```
Deploy CNI
```bash
make deploy
```