meridio-experiment

module
v0.0.0-...-eb20332 Latest Latest
Warning

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

Go to latest
Published: Oct 20, 2024 License: Apache-2.0

README

Meridio Experiment

Build

This builds, tags and pushes

make generate
make REGISTRY=ghcr.io/lioneljouin/meridio-experiment
Pre-Requisites

Install Gateway API:

kubectl apply -k https://github.com/kubernetes-sigs/gateway-api/config/crd/experimental?ref=v1.1.0

Install CNI Plugins:

kubectl apply -f https://raw.githubusercontent.com/k8snetworkplumbingwg/multus-cni/master/e2e/templates/cni-install.yml.j2

Install Multus:

kubectl apply -f https://raw.githubusercontent.com/k8snetworkplumbingwg/multus-cni/refs/heads/master/deployments/multus-daemonset.yml

Install Whereabouts:

kubectl apply -f https://raw.githubusercontent.com/k8snetworkplumbingwg/whereabouts/refs/tags/v0.8.0/doc/crds/daemonset-install.yaml
kubectl apply -f https://raw.githubusercontent.com/k8snetworkplumbingwg/whereabouts/refs/tags/v0.8.0/doc/crds/whereabouts.cni.cncf.io_ippools.yaml
kubectl apply -f https://raw.githubusercontent.com/k8snetworkplumbingwg/whereabouts/refs/tags/v0.8.0/doc/crds/whereabouts.cni.cncf.io_overlappingrangeipreservations.yaml

Install Meridio Experiment:

helm install poc ./deployments/PoC --set registry=ghcr.io/lioneljouin/meridio-experiment --set imagePullPolicy=IfNotPresent --set sllbReplicas=2

Install Gateways/Routers/Traffic-Generators (docker compose down to uninstall. Change manually the image in docker-compose.yaml if you built your own):

docker compose up -d

Demo

Install the example Gateway/GatewayRouter/Service:

kubectl apply -f examples/sllb-a.yaml
kubectl apply -f examples/sllb-b.yaml

Install example application behind the service:

helm install example-target-application-multi ./examples/target-application/deployment/helm --set applicationName=multi --set networks='[{"name":"macvlan-nad-1","interface":"net1"},{"name":"macvlan-nad-2","interface":"net2"}]' --set registry=ghcr.io/lioneljouin/meridio-experiment
docker exec -it vpn-a mconnect -address 20.0.0.1:4000 -nconn 400 -timeout 2s
docker exec -it vpn-b mconnect -address 40.0.0.1:4000 -nconn 400 -timeout 2s

Directories

Path Synopsis
apis
v1alpha1
Package v1alpha1 is the v1alpha1 version of the API.
Package v1alpha1 is the v1alpha1 version of the API.
cmd
controller-manager/cmd
Package cmd provides the CLI for the controller-manager program.
Package cmd provides the CLI for the controller-manager program.
network-daemon/cmd
Package cmd provides the CLI for the network-daemon program.
Package cmd provides the CLI for the network-daemon program.
router/cmd
Package cmd provides the CLI for the router program.
Package cmd provides the CLI for the router program.
stateless-load-balancer/cmd
Package cmd provides the CLI for the stateless-load-balancer program.
Package cmd provides the CLI for the stateless-load-balancer program.
pkg
cli
client/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
client/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
client/clientset/versioned/typed/apis/v1alpha1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/apis/v1alpha1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
cri
log

Jump to

Keyboard shortcuts

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