kube-flannel.yml 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470
  1. ---
  2. kind: ClusterRole
  3. apiVersion: rbac.authorization.k8s.io/v1beta1
  4. metadata:
  5. name: flannel
  6. rules:
  7. - apiGroups:
  8. - ""
  9. resources:
  10. - pods
  11. verbs:
  12. - get
  13. - apiGroups:
  14. - ""
  15. resources:
  16. - nodes
  17. verbs:
  18. - list
  19. - watch
  20. - apiGroups:
  21. - ""
  22. resources:
  23. - nodes/status
  24. verbs:
  25. - patch
  26. ---
  27. kind: ClusterRoleBinding
  28. apiVersion: rbac.authorization.k8s.io/v1beta1
  29. metadata:
  30. name: flannel
  31. roleRef:
  32. apiGroup: rbac.authorization.k8s.io
  33. kind: ClusterRole
  34. name: flannel
  35. subjects:
  36. - kind: ServiceAccount
  37. name: flannel
  38. namespace: kube-system
  39. ---
  40. apiVersion: v1
  41. kind: ServiceAccount
  42. metadata:
  43. name: flannel
  44. namespace: kube-system
  45. ---
  46. kind: ConfigMap
  47. apiVersion: v1
  48. metadata:
  49. name: kube-flannel-cfg
  50. namespace: kube-system
  51. labels:
  52. tier: node
  53. app: flannel
  54. data:
  55. cni-conf.json: |
  56. {
  57. "name": "cbr0",
  58. "plugins": [
  59. {
  60. "type": "flannel",
  61. "delegate": {
  62. "hairpinMode": true,
  63. "isDefaultGateway": true
  64. }
  65. },
  66. {
  67. "type": "portmap",
  68. "capabilities": {
  69. "portMappings": true
  70. }
  71. }
  72. ]
  73. }
  74. net-conf.json: |
  75. {
  76. "Network": "10.244.0.0/16",
  77. "Backend": {
  78. "Type": "vxlan"
  79. }
  80. }
  81. ---
  82. apiVersion: extensions/v1beta1
  83. kind: DaemonSet
  84. metadata:
  85. name: kube-flannel-ds-amd64
  86. namespace: kube-system
  87. labels:
  88. tier: node
  89. app: flannel
  90. spec:
  91. template:
  92. metadata:
  93. labels:
  94. tier: node
  95. app: flannel
  96. spec:
  97. hostNetwork: true
  98. nodeSelector:
  99. beta.kubernetes.io/arch: amd64
  100. tolerations:
  101. - operator: Exists
  102. effect: NoSchedule
  103. serviceAccountName: flannel
  104. initContainers:
  105. - name: install-cni
  106. image: quay.io/coreos/flannel:v0.11.0-amd64
  107. command:
  108. - cp
  109. args:
  110. - -f
  111. - /etc/kube-flannel/cni-conf.json
  112. - /etc/cni/net.d/10-flannel.conflist
  113. volumeMounts:
  114. - name: cni
  115. mountPath: /etc/cni/net.d
  116. - name: flannel-cfg
  117. mountPath: /etc/kube-flannel/
  118. containers:
  119. - name: kube-flannel
  120. image: quay.io/coreos/flannel:v0.11.0-amd64
  121. command:
  122. - /opt/bin/flanneld
  123. args:
  124. - --ip-masq
  125. - --kube-subnet-mgr
  126. resources:
  127. requests:
  128. cpu: "100m"
  129. memory: "50Mi"
  130. limits:
  131. cpu: "100m"
  132. memory: "50Mi"
  133. securityContext:
  134. privileged: true
  135. env:
  136. - name: POD_NAME
  137. valueFrom:
  138. fieldRef:
  139. fieldPath: metadata.name
  140. - name: POD_NAMESPACE
  141. valueFrom:
  142. fieldRef:
  143. fieldPath: metadata.namespace
  144. volumeMounts:
  145. - name: run
  146. mountPath: /run
  147. - name: flannel-cfg
  148. mountPath: /etc/kube-flannel/
  149. volumes:
  150. - name: run
  151. hostPath:
  152. path: /run
  153. - name: cni
  154. hostPath:
  155. path: /etc/cni/net.d
  156. - name: flannel-cfg
  157. configMap:
  158. name: kube-flannel-cfg
  159. ---
  160. apiVersion: extensions/v1beta1
  161. kind: DaemonSet
  162. metadata:
  163. name: kube-flannel-ds-arm64
  164. namespace: kube-system
  165. labels:
  166. tier: node
  167. app: flannel
  168. spec:
  169. template:
  170. metadata:
  171. labels:
  172. tier: node
  173. app: flannel
  174. spec:
  175. hostNetwork: true
  176. nodeSelector:
  177. beta.kubernetes.io/arch: arm64
  178. tolerations:
  179. - operator: Exists
  180. effect: NoSchedule
  181. serviceAccountName: flannel
  182. initContainers:
  183. - name: install-cni
  184. image: quay.io/coreos/flannel:v0.11.0-arm64
  185. command:
  186. - cp
  187. args:
  188. - -f
  189. - /etc/kube-flannel/cni-conf.json
  190. - /etc/cni/net.d/10-flannel.conflist
  191. volumeMounts:
  192. - name: cni
  193. mountPath: /etc/cni/net.d
  194. - name: flannel-cfg
  195. mountPath: /etc/kube-flannel/
  196. containers:
  197. - name: kube-flannel
  198. image: quay.io/coreos/flannel:v0.11.0-arm64
  199. command:
  200. - /opt/bin/flanneld
  201. args:
  202. - --ip-masq
  203. - --kube-subnet-mgr
  204. resources:
  205. requests:
  206. cpu: "100m"
  207. memory: "50Mi"
  208. limits:
  209. cpu: "100m"
  210. memory: "50Mi"
  211. securityContext:
  212. privileged: true
  213. env:
  214. - name: POD_NAME
  215. valueFrom:
  216. fieldRef:
  217. fieldPath: metadata.name
  218. - name: POD_NAMESPACE
  219. valueFrom:
  220. fieldRef:
  221. fieldPath: metadata.namespace
  222. volumeMounts:
  223. - name: run
  224. mountPath: /run
  225. - name: flannel-cfg
  226. mountPath: /etc/kube-flannel/
  227. volumes:
  228. - name: run
  229. hostPath:
  230. path: /run
  231. - name: cni
  232. hostPath:
  233. path: /etc/cni/net.d
  234. - name: flannel-cfg
  235. configMap:
  236. name: kube-flannel-cfg
  237. ---
  238. apiVersion: extensions/v1beta1
  239. kind: DaemonSet
  240. metadata:
  241. name: kube-flannel-ds-arm
  242. namespace: kube-system
  243. labels:
  244. tier: node
  245. app: flannel
  246. spec:
  247. template:
  248. metadata:
  249. labels:
  250. tier: node
  251. app: flannel
  252. spec:
  253. hostNetwork: true
  254. nodeSelector:
  255. beta.kubernetes.io/arch: arm
  256. tolerations:
  257. - operator: Exists
  258. effect: NoSchedule
  259. serviceAccountName: flannel
  260. initContainers:
  261. - name: install-cni
  262. image: quay.io/coreos/flannel:v0.11.0-arm
  263. command:
  264. - cp
  265. args:
  266. - -f
  267. - /etc/kube-flannel/cni-conf.json
  268. - /etc/cni/net.d/10-flannel.conflist
  269. volumeMounts:
  270. - name: cni
  271. mountPath: /etc/cni/net.d
  272. - name: flannel-cfg
  273. mountPath: /etc/kube-flannel/
  274. containers:
  275. - name: kube-flannel
  276. image: quay.io/coreos/flannel:v0.11.0-arm
  277. command:
  278. - /opt/bin/flanneld
  279. args:
  280. - --ip-masq
  281. - --kube-subnet-mgr
  282. resources:
  283. requests:
  284. cpu: "100m"
  285. memory: "50Mi"
  286. limits:
  287. cpu: "100m"
  288. memory: "50Mi"
  289. securityContext:
  290. privileged: true
  291. env:
  292. - name: POD_NAME
  293. valueFrom:
  294. fieldRef:
  295. fieldPath: metadata.name
  296. - name: POD_NAMESPACE
  297. valueFrom:
  298. fieldRef:
  299. fieldPath: metadata.namespace
  300. volumeMounts:
  301. - name: run
  302. mountPath: /run
  303. - name: flannel-cfg
  304. mountPath: /etc/kube-flannel/
  305. volumes:
  306. - name: run
  307. hostPath:
  308. path: /run
  309. - name: cni
  310. hostPath:
  311. path: /etc/cni/net.d
  312. - name: flannel-cfg
  313. configMap:
  314. name: kube-flannel-cfg
  315. ---
  316. apiVersion: extensions/v1beta1
  317. kind: DaemonSet
  318. metadata:
  319. name: kube-flannel-ds-ppc64le
  320. namespace: kube-system
  321. labels:
  322. tier: node
  323. app: flannel
  324. spec:
  325. template:
  326. metadata:
  327. labels:
  328. tier: node
  329. app: flannel
  330. spec:
  331. hostNetwork: true
  332. nodeSelector:
  333. beta.kubernetes.io/arch: ppc64le
  334. tolerations:
  335. - operator: Exists
  336. effect: NoSchedule
  337. serviceAccountName: flannel
  338. initContainers:
  339. - name: install-cni
  340. image: quay.io/coreos/flannel:v0.11.0-ppc64le
  341. command:
  342. - cp
  343. args:
  344. - -f
  345. - /etc/kube-flannel/cni-conf.json
  346. - /etc/cni/net.d/10-flannel.conflist
  347. volumeMounts:
  348. - name: cni
  349. mountPath: /etc/cni/net.d
  350. - name: flannel-cfg
  351. mountPath: /etc/kube-flannel/
  352. containers:
  353. - name: kube-flannel
  354. image: quay.io/coreos/flannel:v0.11.0-ppc64le
  355. command:
  356. - /opt/bin/flanneld
  357. args:
  358. - --ip-masq
  359. - --kube-subnet-mgr
  360. resources:
  361. requests:
  362. cpu: "100m"
  363. memory: "50Mi"
  364. limits:
  365. cpu: "100m"
  366. memory: "50Mi"
  367. securityContext:
  368. privileged: true
  369. env:
  370. - name: POD_NAME
  371. valueFrom:
  372. fieldRef:
  373. fieldPath: metadata.name
  374. - name: POD_NAMESPACE
  375. valueFrom:
  376. fieldRef:
  377. fieldPath: metadata.namespace
  378. volumeMounts:
  379. - name: run
  380. mountPath: /run
  381. - name: flannel-cfg
  382. mountPath: /etc/kube-flannel/
  383. volumes:
  384. - name: run
  385. hostPath:
  386. path: /run
  387. - name: cni
  388. hostPath:
  389. path: /etc/cni/net.d
  390. - name: flannel-cfg
  391. configMap:
  392. name: kube-flannel-cfg
  393. ---
  394. apiVersion: extensions/v1beta1
  395. kind: DaemonSet
  396. metadata:
  397. name: kube-flannel-ds-s390x
  398. namespace: kube-system
  399. labels:
  400. tier: node
  401. app: flannel
  402. spec:
  403. template:
  404. metadata:
  405. labels:
  406. tier: node
  407. app: flannel
  408. spec:
  409. hostNetwork: true
  410. nodeSelector:
  411. beta.kubernetes.io/arch: s390x
  412. tolerations:
  413. - operator: Exists
  414. effect: NoSchedule
  415. serviceAccountName: flannel
  416. initContainers:
  417. - name: install-cni
  418. image: quay.io/coreos/flannel:v0.11.0-s390x
  419. command:
  420. - cp
  421. args:
  422. - -f
  423. - /etc/kube-flannel/cni-conf.json
  424. - /etc/cni/net.d/10-flannel.conflist
  425. volumeMounts:
  426. - name: cni
  427. mountPath: /etc/cni/net.d
  428. - name: flannel-cfg
  429. mountPath: /etc/kube-flannel/
  430. containers:
  431. - name: kube-flannel
  432. image: quay.io/coreos/flannel:v0.11.0-s390x
  433. command:
  434. - /opt/bin/flanneld
  435. args:
  436. - --ip-masq
  437. - --kube-subnet-mgr
  438. resources:
  439. requests:
  440. cpu: "100m"
  441. memory: "50Mi"
  442. limits:
  443. cpu: "100m"
  444. memory: "50Mi"
  445. securityContext:
  446. privileged: true
  447. env:
  448. - name: POD_NAME
  449. valueFrom:
  450. fieldRef:
  451. fieldPath: metadata.name
  452. - name: POD_NAMESPACE
  453. valueFrom:
  454. fieldRef:
  455. fieldPath: metadata.namespace
  456. volumeMounts:
  457. - name: run
  458. mountPath: /run
  459. - name: flannel-cfg
  460. mountPath: /etc/kube-flannel/
  461. volumes:
  462. - name: run
  463. hostPath:
  464. path: /run
  465. - name: cni
  466. hostPath:
  467. path: /etc/cni/net.d
  468. - name: flannel-cfg
  469. configMap:
  470. name: kube-flannel-cfg