kube-flannel-aliyun.yml 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  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. "cniVersion": "0.3.1",
  59. "type": "flannel",
  60. "delegate": {
  61. "hairpinMode": true,
  62. "isDefaultGateway": true
  63. }
  64. }
  65. net-conf.json: |
  66. {
  67. "Network": "10.24.0.0/16",
  68. "Backend": {
  69. "Type": "ali-vpc"
  70. }
  71. }
  72. ---
  73. apiVersion: extensions/v1beta1
  74. kind: DaemonSet
  75. metadata:
  76. name: kube-flannel-ds
  77. namespace: kube-system
  78. labels:
  79. tier: node
  80. app: flannel
  81. spec:
  82. template:
  83. metadata:
  84. labels:
  85. tier: node
  86. app: flannel
  87. spec:
  88. hostNetwork: true
  89. priorityClassName: system-node-critical
  90. nodeSelector:
  91. beta.kubernetes.io/arch: amd64
  92. tolerations:
  93. - key: node-role.kubernetes.io/master
  94. operator: Exists
  95. effect: NoSchedule
  96. serviceAccountName: flannel
  97. initContainers:
  98. - name: install-cni
  99. image: registry.cn-hangzhou.aliyuncs.com/google-containers/flannel:v0.9.0
  100. command:
  101. - cp
  102. args:
  103. - -f
  104. - /etc/kube-flannel/cni-conf.json
  105. - /etc/cni/net.d/10-flannel.conf
  106. volumeMounts:
  107. - name: cni
  108. mountPath: /etc/cni/net.d
  109. - name: flannel-cfg
  110. mountPath: /etc/kube-flannel/
  111. containers:
  112. - name: kube-flannel
  113. image: registry.cn-hangzhou.aliyuncs.com/google-containers/flannel:v0.9.0
  114. command:
  115. - /opt/bin/flanneld
  116. args:
  117. - --ip-masq
  118. - --kube-subnet-mgr
  119. resources:
  120. requests:
  121. cpu: "100m"
  122. memory: "50Mi"
  123. limits:
  124. cpu: "100m"
  125. memory: "50Mi"
  126. securityContext:
  127. privileged: true
  128. env:
  129. - name: POD_NAME
  130. valueFrom:
  131. fieldRef:
  132. fieldPath: metadata.name
  133. - name: POD_NAMESPACE
  134. valueFrom:
  135. fieldRef:
  136. fieldPath: metadata.namespace
  137. volumeMounts:
  138. - name: run
  139. mountPath: /run
  140. - name: flannel-cfg
  141. mountPath: /etc/kube-flannel/
  142. volumes:
  143. - name: run
  144. hostPath:
  145. path: /run
  146. - name: cni
  147. hostPath:
  148. path: /etc/cni/net.d
  149. - name: flannel-cfg
  150. configMap:
  151. name: kube-flannel-cfg