--- 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": "CDK-flannel-network", "type": "flannel", "masterplugin": true "delegate": { "isDefaultGateway": 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 containers: - name: install-cni image: openretriever/cnimultus command: [ "/bin/bash", "/cni/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 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