kvnet

command module
v0.0.0-...-3cfcee8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 16, 2023 License: Apache-2.0 Imports: 12 Imported by: 0

README

kvnet

Kubernetes virtual network

use KIND to test

  • kind create cluster --config a.yaml (4 node)
  • install cert-manager
  • make docker-build deploy IMG="tjjh89017/kvnet:v0.0.1"
  • kubectl apply -f config/samples/kvnet_v1alpha1_bridgeconfig.yaml
  • kubectl apply -f config/samples/kvnet_v1alpha1_uplinkconfig.yaml
  • kubectl apply -f config/samples/k8s.cni.cncf.io_v1_networkattachmentdefinition.yaml
  • kubectl apply -f config/samples/deployment_alpine.yaml

change node labels and BridgeConfig/UplinkConfig/Deployment selectors to test

TODO

  • fill status for all resource
  • create a new MyDeployment CRD to add affinity test on it
    • add webhook to insert affinity
    • test webhook will add network label expression to all affinity
    • add MyDeployment to deployment (use MyDeployment as 3rd party resource, becuase add k8s core reousrce webhook is nightmare for controller-runtime version before v0.15.0)
  • add WAN attr in Router, only WAN could do NAT
    • Don't setup router label on WAN subnet
  • router controller needs to watch subnet changes to update router itself
  • change router from deployment to statefulset
  • better way to set static ip
    • put annotation on Kubevirt VM with static IP and Mac
    • watch kubevirt VM annotations and update DHCP server IP/MAC mapping
    • get correct dhcp and subnet from kubevirt VM network spec
  • better way to set static floating ip
    • put annotaton on kubevirt vm with static IP and mac and FIP
    • watch kubevirt VM annotations and update router iptable NAT rule with FIP and IP
    • get correct router from kubevirt vm network spec and put NAT rule on that router wan port

trouble shoot

Too many open files

https://kind.sigs.k8s.io/docs/user/known-issues/#pod-errors-due-to-too-many-open-files

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
api
v1alpha1
Package v1alpha1 contains API Schema definitions for the kvnet v1alpha1 API group +kubebuilder:object:generate=true +groupName=kvnet.kojuro.date
Package v1alpha1 contains API Schema definitions for the kvnet v1alpha1 API group +kubebuilder:object:generate=true +groupName=kvnet.kojuro.date

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL