-
Notifications
You must be signed in to change notification settings - Fork 38
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: Nathan Skrzypczak <[email protected]>
- Loading branch information
Showing
1 changed file
with
100 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,100 @@ | ||
## Testing Calico/VPP on baremetal | ||
|
||
This setup creates a single node setup leveraging DPDK. | ||
- ⚠️ This is a test script, not to be used for production | ||
- ⚠️ It will reconfigure the uplink interface, here `enp216s0f1` do not use your management interface or you will most probably loose access to your server. | ||
|
||
### Install kubernetes | ||
|
||
```bash | ||
sudo apt update | ||
sudo apt install kubelet kubeadm kubectl containerd | ||
``` | ||
|
||
### Preparing the cluster | ||
|
||
```bash | ||
sudo sysctl -w vm.nr_hugepages=4096 | ||
sudo swapoff -a | ||
# Load PCI drivers, often but not always required | ||
sudo modprobe uio_pci_generic | ||
sudo modprobe vfio-pci | ||
# Reset previous installations | ||
sudo kubeadm reset -f | ||
sudo rm -rf /etc/cni/net.d/ | ||
``` | ||
|
||
```bash | ||
echo " | ||
K8_VERSION=v1.28.0 | ||
POD_CIDR=11.0.0.0/16 | ||
SERVICE_CIDR=11.96.0.0/16 | ||
MAIN_IP=20.0.0.1/24 | ||
MAIN_INTERFACE_NAME=enp216s0f1 | ||
DNS_TYPE=CoreDNS | ||
VERBOSE=false | ||
" > v4.1node.conf | ||
$HOME/vpp-dataplane/test/scripts/vppdev.sh orch up | ||
``` | ||
|
||
### Install the tigera operator | ||
|
||
```bash | ||
kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/master/manifests/tigera-operator.yaml | ||
``` | ||
|
||
### Install Calico/VPP | ||
|
||
```bash | ||
# ---------------- images ---------------- | ||
export CALICO_AGENT_IMAGE=calicovpp/agent:v3.26.0 | ||
export CALICO_VPP_IMAGE=calicovpp/vpp:v3.26.0 | ||
export MULTINET_MONITOR_IMAGE=calicovpp/multinet-monitor:v3.26.0 | ||
export IMAGE_PULL_POLICY=IfNotPresent | ||
|
||
# ---------------- interfaces ---------------- | ||
export CALICOVPP_INTERFACES='{ | ||
"uplinkInterfaces": [ | ||
{ | ||
"interfaceName": "enp216s0f1", | ||
"vppDriver": "dpdk" | ||
} | ||
] | ||
}' | ||
|
||
export CALICOVPP_ENABLE_MEMIF=true | ||
export CALICOVPP_ENABLE_VCL=true | ||
export CALICO_ENCAPSULATION=IPIP # VXLAN IPIP None | ||
export CALICO_NAT_OUTGOING=Enabled | ||
|
||
export CALICOVPP_CONFIG_TEMPLATE="unix { | ||
nodaemon | ||
full-coredump | ||
log /var/run/vpp/vpp.log | ||
cli-listen /var/run/vpp/cli.sock | ||
pidfile /run/vpp/vpp.pid | ||
} | ||
cpu { | ||
main-core 1 | ||
workers 0 | ||
} | ||
api-trace { on } | ||
session { event-queue-length 100000 } | ||
socksvr { socket-name /var/run/vpp/vpp-api.sock } | ||
buffers { buffers-per-numa 131072 } | ||
cnat { | ||
translation-db-memory 50M | ||
translation-db-buckets 1024 | ||
session-db-memory 20G | ||
session-db-buckets 4096 | ||
snat-db-memory 1M | ||
snat-db-buckets 1024 | ||
session-cleanup-timeout 0.1 | ||
} | ||
plugins { | ||
plugin default { enable } | ||
plugin calico_plugin.so { enable } | ||
plugin dpdk_plugin.so { disable } | ||
} | ||
" | ||
$HOME/vpp-dataplane/yaml/overlays/dev/kustomize.sh up |