blob: 086b9e713ac947563d50e0019cbe138ecb6ceae4 [file] [log] [blame]
Wei-Yu Chen450a98a2019-01-15 16:56:30 -08001---
2# Copyright 2017-present Open Networking Foundation
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15
16---
17kind: ConfigMap
18apiVersion: v1
19metadata:
20 name: multus-certs
21 namespace: kube-system
22data:
23 install-certs.sh: |
24 # Copied from Calico
25 # https://github.com/projectcalico/cni-plugin/blob/master/k8s-install/scripts/install-cni.sh
26 touch /host/etc/cni/net.d/multus-kubeconfig
27 chmod 600 /host/etc/cni/net.d/multus-kubeconfig
28 SERVICE_ACCOUNT_PATH=/var/run/secrets/kubernetes.io/serviceaccount
29 KUBE_CA_FILE=$SERVICE_ACCOUNT_PATH/ca.crt
30 TLS_CFG="certificate-authority-data: $(cat $KUBE_CA_FILE | base64 | tr -d '\n')"
31 SERVICEACCOUNT_TOKEN=$(cat $SERVICE_ACCOUNT_PATH/token)
32 #cat > /host/etc/cni/net.d/multus-kubeconfig <<EOF
33 # Kubeconfig file for Multus CNI plugin.
34 apiVersion: v1
35 kind: Config
36 clusters:
37 - name: local
38 cluster:
39 server: https://${KUBERNETES_SERVICE_HOST}:${KUBERNETES_SERVICE_PORT}
40 $TLS_CFG
41 users:
42 - name: multus
43 user:
44 token: "${SERVICEACCOUNT_TOKEN}"
45 contexts:
46 - name: multus-context
47 context:
48 cluster: local
49 user: multus
50 current-context: multus-context
51 EOF
52---
53kind: ConfigMap
54apiVersion: v1
55metadata:
56 name: sriov-config
57 namespace: kube-system
58data:
59 config.json: |
60 {
61 "resourceList":
62 [
63 {
64 "resourceName": "sriov",
65 "rootDevices": ["04:00.0"],
66 "sriovMode": true,
67 "deviceType": "netdevice"
68 }
69 ]
70 }
71---
72apiVersion: v1
73kind: ConfigMap
74metadata:
75 name: multus-conf
76 namespace: kube-system
77data:
78 01-cni-conf.json: |
79 {
80 "name": "multus-cni-network",
81 "type": "multus",
82 "logLevel": "debug",
83 "logFile": "/tmp/multus.log",
84 "kubeconfig": "/etc/cni/net.d/multus-kubeconfig",
85 "delegates": [
86 {
87 "name": "cbr0",
88 "type": "flannel",
89 "delegate": {
90 "isDefaultGateway": true
91 }
92 }
93 ]
94 }