--- apiVersion: v1 kind: ServiceAccount metadata: name: cnimultus namespace: kube-system --- kind: ConfigMap apiVersion: v1 metadata: name: kube-cnimultus-cfg namespace: kube-system labels: tier: node app: cnimultus data: cni-conf.json: | { "name": "multus", "type": "multus", "delegates": [ { "name": "weave", "type": "weave-net", "hairpinMode": true, "masterplugin": true }, { "name": "mynet", "type": "bridge", "bridge": "cni0", "isGateway": true, "ipMasq": true, "ipam": { "type": "host-local", "subnet": "10.22.0.0/16", "routes": [ { "dst": "0.0.0.0/0" } ] } } ] } --- apiVersion: extensions/v1beta1 kind: DaemonSet metadata: name: kube-cnimultus-ds namespace: kube-system labels: tier: node app: cnimultus spec: template: metadata: labels: tier: node app: cnimultus spec: hostNetwork: true nodeSelector: beta.kubernetes.io/arch: amd64 tolerations: - key: node-role.kubernetes.io/master operator: Exists effect: NoSchedule serviceAccountName: cnimultus initContainers: - name: install-cni image: ubuntu:16.04 command: - bash - "-c" - "apt-get update && apt-get install -y git && git clone http://github.com/opnfv/container4nfv && cd container4nfv && git fetch https://gerrit.opnfv.org/gerrit/container4nfv refs/changes/81/47681/5 && git checkout FETCH_HEAD && bash ./src/cni/multus/install_cni.sh" volumeMounts: - name: cni-bin mountPath: /opt/cni/bin - name: cni-cfg mountPath: /etc/cni/net.d - name: cnimultus-cfg mountPath: /etc/kube-cnimultus containers: - name: run-cni image: busybox:1.27.2 command: ['sh', '-c', 'while true; do sleep 10000; done' ] volumes: - name: cni-bin hostPath: path: /opt/cni/bin - name: cni-cfg hostPath: path: /etc/cni/net.d - name: cnimultus-cfg configMap: name: kube-cnimultus-cfg