This is a demonstration of the Bridge CNI plugin, plus the static IPAM CNI plugin.
- A recently installed OpenShift (4.2/4.3) installed cluster.
Firstly, we'll label a node so that we have two pods going to the same node.
This describes how to run the cluster-network-operator for development purposes, using the
Once that's in place you'll need to know:
Covers installing & configuring an example cni-route-override instance.
This example simply adds a static route.
Install using the provided daemonset, this will copy the
route-override binary to the
/opt/cni/bin on each machine in your Kubernetes cluster.
Install an etcd for data storage for Whereabouts.
$ git clone https://github.com/coreos/etcd-operator.git $ cd etcd-operator/ $ example/rbac/create_role.sh $ kubectl create -f example/deployment.yaml $ watch -n1 kubectl get pods -o wide --all-namespaces
Spin up Kubernetes without a network, then... install weave per the installation guide
In theory before CNI plugin install nodes should be not ready & the CNI net.d folder should be empty...
[centos@kube-nonetwork-master ~]$ kubectl get nodes NAME STATUS ROLES AGE VERSION kube-nonetwork-master NotReady master 58s v1.13.3
Prerequisites: Multus + NetworkAttachmentDefinition CRD installed.
In order to have DHCP working as an IPAM plugin -- you'll need to have the DHCP CNI binary running.
In this example, we'll run this (as a daemonset) from the
dougbtv/dhcp image, which is based on Tomo's dockerfile.
About my setup: In this setup, I use a macvlan plugin as the secondary interface for Multus. In my setup, I used an upstream Kubernetes running on KVM guests. The master device for macvlan is
eth0 and that device is connected to a bridge in the
192.168.122.0/24 network space, and has an already running DHCP server available.