kube-flannel-aliyun.yml 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  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. nodeSelector:
  90. beta.kubernetes.io/arch: amd64
  91. tolerations:
  92. - key: node-role.kubernetes.io/master
  93. operator: Exists
  94. effect: NoSchedule
  95. serviceAccountName: flannel
  96. initContainers:
  97. - name: install-cni
  98. image: registry.cn-hangzhou.aliyuncs.com/google-containers/flannel:v0.9.0
  99. command:
  100. - cp
  101. args:
  102. - -f
  103. - /etc/kube-flannel/cni-conf.json
  104. - /etc/cni/net.d/10-flannel.conf
  105. volumeMounts:
  106. - name: cni
  107. mountPath: /etc/cni/net.d
  108. - name: flannel-cfg
  109. mountPath: /etc/kube-flannel/
  110. containers:
  111. - name: kube-flannel
  112. image: registry.cn-hangzhou.aliyuncs.com/google-containers/flannel:v0.9.0
  113. command:
  114. - /opt/bin/flanneld
  115. args:
  116. - --ip-masq
  117. - --kube-subnet-mgr
  118. resources:
  119. requests:
  120. cpu: "100m"
  121. memory: "50Mi"
  122. limits:
  123. cpu: "100m"
  124. memory: "50Mi"
  125. securityContext:
  126. privileged: true
  127. env:
  128. - name: POD_NAME
  129. valueFrom:
  130. fieldRef:
  131. fieldPath: metadata.name
  132. - name: POD_NAMESPACE
  133. valueFrom:
  134. fieldRef:
  135. fieldPath: metadata.namespace
  136. volumeMounts:
  137. - name: run
  138. mountPath: /run
  139. - name: flannel-cfg
  140. mountPath: /etc/kube-flannel/
  141. volumes:
  142. - name: run
  143. hostPath:
  144. path: /run
  145. - name: cni
  146. hostPath:
  147. path: /etc/cni/net.d
  148. - name: flannel-cfg
  149. configMap:
  150. name: kube-flannel-cfg