-
Linux box with
- We tested on Ubuntu 14.04 & 16.04
-
Docker installed
-
Kubernetes cluster running with CNI enabled
-
One easy way to bring up a cluster is to use kubeadm:
Till 1.7 version:
$ kubeadm init --use-kubernetes-version=v1.7.0 --pod-network-cidr=10.244.0.0/16
1.8 version onwards:
$ kubeadm init --pod-network-cidr=10.244.0.0/16
Next steps:
$ mkdir -p $HOME/.kube $ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config $ sudo chown $(id -u):$(id -g) $HOME/.kube/config
- To schedule pods on the master, e.g. for a single-machine Kubernetes cluster,
Till 1.7 version, run:
$ kubectl taint nodes --all dedicated-
For 1.8 version onwards, run:
$ kubectl taint nodes --all node-role.kubernetes.io/master-
-
-
One (or more) CNI plugin(s) installed, e.g., Canal, Weave, Flannel
We install genie as a Docker Container on every node
$ kubectl apply -f https://raw.githubusercontent.com/cni-genie/CNI-Genie/master/conf/1.5/genie.yaml
CNI-Genie can be installed in the following two modes:
Genie Complete (Installs genie with the support of multi networking as well as network policy implementation):
$ kubectl apply -f https://raw.githubusercontent.com/cni-genie/CNI-Genie/master/conf/1.8/genie-complete.yaml
Genie Plugin-only (Installs genie with multi networking support):
$ kubectl apply -f https://raw.githubusercontent.com/cni-genie/CNI-Genie/master/conf/1.8/genie-plugin.yaml
Refer to our Developer's Guide section.
For now Genie logs are stored in /var/log/syslog To see the logs:
$ cat /dev/null > /var/log/syslog
$ tail -f /var/log/syslog | grep 'CNI'
- Note: on a single node cluster, after your Kubernetes master is initialized successfully, make sure you are able to schedule pods on the master by running:
$ kubectl taint nodes --all node-role.kubernetes.io/master-
- Note: most plugins use differenet installation files for different Kuberenetes versions. Make sure you use the right one!