--- apiVersion: v1 kind: ServiceAccount metadata: name: cniovsdpdk namespace: kube-system --- kind: ConfigMap apiVersion: v1 metadata: name: kube-cniovsdpdk-cfg namespace: kube-system labels: tier: node app: cniovsdpdk data: cni-conf.json: | { "name": "ovsdpdk", "type": "ovsdpdk", "bridge": "br-dpdk", "ipam": { "type": "host-local", "subnet": "10.244.0.0/24", "rangeStart": "10.244.0.100", "gateway": "10.244.0.1", "dataDir": "/vagrant/container-ipam-state" } } --- apiVersion: extensions/v1beta1 kind: DaemonSet metadata: name: kube-cniovsdpdk-ds namespace: kube-system labels: tier: node app: cniovsdpdk spec: template: metadata: labels: tier: node app: cniovsdpdk spec: hostNetwork: true nodeSelector: beta.kubernetes.io/arch: amd64 tolerations: - key: node-role.kubernetes.io/master operator: Exists effect: NoSchedule serviceAccountName: cniovsdpdk containers: - name: install-cni image: openretriever/cni-ovsdpdk command: [ "/bin/bash", "/cni/install_cni.sh" ] volumeMounts: - name: cni-bin mountPath: /opt/cni/bin - name: cni-cfg mountPath: /etc/cni/net.d - name: cniovsdpdk-cfg mountPath: /etc/kube-cniovsdpdk volumes: - name: cni-bin hostPath: path: /opt/cni/bin - name: cni-cfg hostPath: path: /etc/cni/net.d - name: cniovsdpdk-cfg configMap: name: kube-cniovsdpdk-cfg