Advertisement
Guest User

Untitled

a guest
Nov 23rd, 2017
156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.29 KB | None | 0 0
  1. apiVersion: v1
  2. kind: Namespace
  3. metadata:
  4. name: ingress-nginx
  5. ---
  6. apiVersion: v1
  7. kind: ServiceAccount
  8. metadata:
  9. name: nginx-ingress-serviceaccount
  10. namespace: ingress-nginx
  11. ---
  12. apiVersion: rbac.authorization.k8s.io/v1beta1
  13. kind: ClusterRole
  14. metadata:
  15. name: nginx-ingress-clusterrole
  16. rules:
  17. - apiGroups:
  18. - ""
  19. resources:
  20. - configmaps
  21. - endpoints
  22. - nodes
  23. - pods
  24. - secrets
  25. verbs:
  26. - list
  27. - watch
  28. - apiGroups:
  29. - ""
  30. resources:
  31. - nodes
  32. verbs:
  33. - get
  34. - apiGroups:
  35. - ""
  36. resources:
  37. - services
  38. verbs:
  39. - get
  40. - list
  41. - watch
  42. - apiGroups:
  43. - "extensions"
  44. resources:
  45. - ingresses
  46. verbs:
  47. - get
  48. - list
  49. - watch
  50. - apiGroups:
  51. - ""
  52. resources:
  53. - events
  54. verbs:
  55. - create
  56. - patch
  57. - apiGroups:
  58. - "extensions"
  59. resources:
  60. - ingresses/status
  61. verbs:
  62. - update
  63. ---
  64. apiVersion: rbac.authorization.k8s.io/v1beta1
  65. kind: Role
  66. metadata:
  67. name: nginx-ingress-role
  68. namespace: ingress-nginx
  69. rules:
  70. - apiGroups:
  71. - ""
  72. resources:
  73. - configmaps
  74. - pods
  75. - secrets
  76. - namespaces
  77. verbs:
  78. - get
  79. - apiGroups:
  80. - ""
  81. resources:
  82. - configmaps
  83. resourceNames:
  84. # Defaults to "<election-id>-<ingress-class>"
  85. # Here: "<ingress-controller-leader>-<nginx>"
  86. # This has to be adapted if you change either parameter
  87. # when launching the nginx-ingress-controller.
  88. - "ingress-controller-leader-nginx"
  89. verbs:
  90. - get
  91. - update
  92. - apiGroups:
  93. - ""
  94. resources:
  95. - configmaps
  96. verbs:
  97. - create
  98. - apiGroups:
  99. - ""
  100. resources:
  101. - endpoints
  102. verbs:
  103. - get
  104. ---
  105. apiVersion: rbac.authorization.k8s.io/v1beta1
  106. kind: RoleBinding
  107. metadata:
  108. name: nginx-ingress-role-nisa-binding
  109. namespace: ingress-nginx
  110. roleRef:
  111. apiGroup: rbac.authorization.k8s.io
  112. kind: Role
  113. name: nginx-ingress-role
  114. subjects:
  115. - kind: ServiceAccount
  116. name: nginx-ingress-serviceaccount
  117. namespace: ingress-nginx
  118. ---
  119. apiVersion: rbac.authorization.k8s.io/v1beta1
  120. kind: ClusterRoleBinding
  121. metadata:
  122. name: nginx-ingress-clusterrole-nisa-binding
  123. roleRef:
  124. apiGroup: rbac.authorization.k8s.io
  125. kind: ClusterRole
  126. name: nginx-ingress-clusterrole
  127. subjects:
  128. - kind: ServiceAccount
  129. name: nginx-ingress-serviceaccount
  130. namespace: ingress-nginx
  131. ---
  132. kind: ConfigMap
  133. apiVersion: v1
  134. metadata:
  135. name: nginx-configuration
  136. namespace: ingress-nginx
  137. labels:
  138. app: ingress-nginx
  139. ---
  140. kind: ConfigMap
  141. apiVersion: v1
  142. metadata:
  143. name: tcp-services
  144. namespace: ingress-nginx
  145. ---
  146. kind: ConfigMap
  147. apiVersion: v1
  148. metadata:
  149. name: udp-services
  150. namespace: ingress-nginx
  151. ---
  152. apiVersion: extensions/v1beta1
  153. kind: Deployment
  154. metadata:
  155. name: default-http-backend
  156. labels:
  157. app: default-http-backend
  158. namespace: ingress-nginx
  159. spec:
  160. replicas: 1
  161. template:
  162. metadata:
  163. labels:
  164. app: default-http-backend
  165. spec:
  166. terminationGracePeriodSeconds: 60
  167. containers:
  168. - name: default-http-backend
  169. # Any image is permissable as long as:
  170. # 1. It serves a 404 page at /
  171. # 2. It serves 200 on a /healthz endpoint
  172. image: gcr.io/google_containers/defaultbackend:1.4
  173. livenessProbe:
  174. httpGet:
  175. path: /healthz
  176. port: 8080
  177. scheme: HTTP
  178. initialDelaySeconds: 30
  179. timeoutSeconds: 5
  180. ports:
  181. - containerPort: 8080
  182. resources:
  183. limits:
  184. cpu: 10m
  185. memory: 20Mi
  186. requests:
  187. cpu: 10m
  188. memory: 20Mi
  189. ---
  190. apiVersion: extensions/v1beta1
  191. kind: Deployment
  192. metadata:
  193. name: nginx-ingress-controller
  194. namespace: ingress-nginx
  195. spec:
  196. replicas: 1
  197. selector:
  198. matchLabels:
  199. app: ingress-nginx
  200. template:
  201. metadata:
  202. labels:
  203. app: ingress-nginx
  204. annotations:
  205. prometheus.io/port: '10254'
  206. prometheus.io/scrape: 'true'
  207. spec:
  208. serviceAccountName: nginx-ingress-serviceaccount
  209. containers:
  210. - name: nginx-ingress-controller
  211. image: quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.9.0-beta.17
  212. args:
  213. - /nginx-ingress-controller
  214. - --default-backend-service=$(POD_NAMESPACE)/default-http-backend
  215. - --configmap=$(POD_NAMESPACE)/nginx-configuration
  216. - --tcp-services-configmap=$(POD_NAMESPACE)/tcp-services
  217. - --udp-services-configmap=$(POD_NAMESPACE)/udp-services
  218. - --publish-service=$(POD_NAMESPACE)/ingress-nginx
  219. env:
  220. - name: POD_NAME
  221. valueFrom:
  222. fieldRef:
  223. fieldPath: metadata.name
  224. - name: POD_NAMESPACE
  225. valueFrom:
  226. fieldRef:
  227. fieldPath: metadata.namespace
  228. ports:
  229. - name: http
  230. containerPort: 80
  231. - name: https
  232. containerPort: 443
  233. livenessProbe:
  234. failureThreshold: 3
  235. httpGet:
  236. path: /healthz
  237. port: 10254
  238. scheme: HTTP
  239. initialDelaySeconds: 10
  240. periodSeconds: 10
  241. successThreshold: 1
  242. timeoutSeconds: 1
  243. readinessProbe:
  244. failureThreshold: 3
  245. httpGet:
  246. path: /healthz
  247. port: 10254
  248. scheme: HTTP
  249. periodSeconds: 10
  250. successThreshold: 1
  251. timeoutSeconds: 1
  252. ---
  253. apiVersion: v1
  254. kind: Service
  255. metadata:
  256. name: default-http-backend
  257. namespace: ingress-nginx
  258. labels:
  259. app: default-http-backend
  260. spec:
  261. ports:
  262. - port: 80
  263. targetPort: 8080
  264. selector:
  265. app: default-http-backend
  266. ---
  267. kind: Service
  268. apiVersion: v1
  269. metadata:
  270. name: ingress-nginx
  271. namespace: ingress-nginx
  272. labels:
  273. app: ingress-nginx
  274. spec:
  275. externalTrafficPolicy: Local
  276. type: LoadBalancer
  277. selector:
  278. app: ingress-nginx
  279. ports:
  280. - name: http
  281. port: 80
  282. targetPort: http
  283. - name: https
  284. port: 443
  285. targetPort: https
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement