2 # Copyright 2020 Huawei Technologies Co., Ltd.
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
8 # http://www.apache.org/licenses/LICENSE-2.0
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.
18 apiVersion: apiextensions.k8s.io/v1
19 kind: CustomResourceDefinition
21 name: network-attachment-definitions.k8s.cni.cncf.io
23 group: k8s.cni.cncf.io
26 plural: network-attachment-definitions
27 singular: network-attachment-definition
28 kind: NetworkAttachmentDefinition
37 # yamllint disable rule:line-length
38 description: 'NetworkAttachmentDefinition is a CRD schema specified by the Network Plumbing
39 Working Group to express the intent for attaching pods to one or more logical or physical
40 networks. More information available at: https://github.com/k8snetworkplumbingwg/multi-net-spec'
41 # yamllint disable rule:line-length
45 description: 'APIVersion defines the versioned schema of this represen
46 tation of an object. Servers should convert recognized schemas to the
47 latest internal value, and may reject unrecognized values. More info:
48 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
51 description: 'Kind is a string value representing the REST resource this
52 object represents. Servers may infer this from the endpoint the client
53 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
58 description: 'NetworkAttachmentDefinition spec defines the desired state of a network attachment'
62 description: 'NetworkAttachmentDefinition config is a JSON-formatted CNI configuration'
66 apiVersion: rbac.authorization.k8s.io/v1
70 - apiGroups: ["k8s.cni.cncf.io"]
93 kind: ClusterRoleBinding
94 apiVersion: rbac.authorization.k8s.io/v1
98 apiGroup: rbac.authorization.k8s.io
102 - kind: ServiceAccount
104 namespace: kube-system
110 namespace: kube-system
115 name: multus-cni-config
116 namespace: kube-system
121 # NOTE: If you'd prefer to manually apply a configuration file, you may create one here.
122 # In the case you'd like to customize the Multus installation, you should change the arguments to the Multus pod
123 # change the "args" line below from
124 # - "--multus-conf-file=auto"
126 # "--multus-conf-file=/tmp/multus-conf/70-multus.conf"
127 # Additionally -- you should ensure that the name "70-multus.conf" is the alphabetically first name in the
128 # /etc/cni/net.d/ directory on each node, otherwise, it will not be used by the Kubelet.
131 "name": "multus-cni-network",
138 "cniVersion": "0.3.1",
139 "name": "default-cni-network",
145 "isDefaultGateway": true,
158 "kubeconfig": "/etc/cni/net.d/multus.d/multus.kubeconfig"
164 name: kube-multus-ds-amd64
165 namespace: kube-system
185 kubernetes.io/arch: amd64
189 serviceAccountName: multus
192 image: docker.io/nfvpe/multus:stable
193 command: ["/entrypoint.sh"]
195 - "--multus-conf-file=auto"
196 - "--cni-version=0.3.1"
208 mountPath: /host/etc/cni/net.d
210 mountPath: /host/opt/cni/bin
212 mountPath: /tmp/multus-conf
222 name: multus-cni-config
230 name: kube-multus-ds-ppc64le
231 namespace: kube-system
251 kubernetes.io/arch: ppc64le
255 serviceAccountName: multus
258 # ppc64le support requires multus:latest for now. support 3.3 or later.
259 image: docker.io/nfvpe/multus:stable-ppc64le
260 command: ["/entrypoint.sh"]
262 - "--multus-conf-file=auto"
263 - "--cni-version=0.3.1"
275 mountPath: /host/etc/cni/net.d
277 mountPath: /host/opt/cni/bin
279 mountPath: /tmp/multus-conf
289 name: multus-cni-config
297 name: kube-multus-ds-arm64v8
298 namespace: kube-system
318 kubernetes.io/arch: arm64
322 serviceAccountName: multus
325 image: docker.io/nfvpe/multus:stable-arm64v8
326 command: ["/entrypoint.sh"]
328 - "--multus-conf-file=auto"
329 - "--cni-version=0.3.1"
341 mountPath: /host/etc/cni/net.d
343 mountPath: /host/opt/cni/bin
345 mountPath: /tmp/multus-conf
355 name: multus-cni-config