ingress-nginx.yaml 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660
  1. apiVersion: v1
  2. kind: Namespace
  3. metadata:
  4. name: ingress-nginx
  5. labels:
  6. app.kubernetes.io/name: ingress-nginx
  7. app.kubernetes.io/instance: ingress-nginx
  8. ---
  9. # Source: ingress-nginx/templates/controller-serviceaccount.yaml
  10. apiVersion: v1
  11. kind: ServiceAccount
  12. metadata:
  13. labels:
  14. helm.sh/chart: ingress-nginx-2.13.0
  15. app.kubernetes.io/name: ingress-nginx
  16. app.kubernetes.io/instance: ingress-nginx
  17. app.kubernetes.io/version: 0.35.0
  18. app.kubernetes.io/managed-by: Helm
  19. app.kubernetes.io/component: controller
  20. name: ingress-nginx
  21. namespace: ingress-nginx
  22. ---
  23. # Source: ingress-nginx/templates/controller-configmap.yaml
  24. apiVersion: v1
  25. kind: ConfigMap
  26. metadata:
  27. labels:
  28. helm.sh/chart: ingress-nginx-2.13.0
  29. app.kubernetes.io/name: ingress-nginx
  30. app.kubernetes.io/instance: ingress-nginx
  31. app.kubernetes.io/version: 0.35.0
  32. app.kubernetes.io/managed-by: Helm
  33. app.kubernetes.io/component: controller
  34. name: ingress-nginx-controller
  35. namespace: ingress-nginx
  36. data:
  37. ---
  38. # Source: ingress-nginx/templates/clusterrole.yaml
  39. apiVersion: rbac.authorization.k8s.io/v1
  40. kind: ClusterRole
  41. metadata:
  42. labels:
  43. helm.sh/chart: ingress-nginx-2.13.0
  44. app.kubernetes.io/name: ingress-nginx
  45. app.kubernetes.io/instance: ingress-nginx
  46. app.kubernetes.io/version: 0.35.0
  47. app.kubernetes.io/managed-by: Helm
  48. name: ingress-nginx
  49. rules:
  50. - apiGroups:
  51. - ''
  52. resources:
  53. - configmaps
  54. - endpoints
  55. - nodes
  56. - pods
  57. - secrets
  58. verbs:
  59. - list
  60. - watch
  61. - apiGroups:
  62. - ''
  63. resources:
  64. - nodes
  65. verbs:
  66. - get
  67. - apiGroups:
  68. - ''
  69. resources:
  70. - services
  71. verbs:
  72. - get
  73. - list
  74. - update
  75. - watch
  76. - apiGroups:
  77. - extensions
  78. - networking.k8s.io # k8s 1.14+
  79. resources:
  80. - ingresses
  81. verbs:
  82. - get
  83. - list
  84. - watch
  85. - apiGroups:
  86. - ''
  87. resources:
  88. - events
  89. verbs:
  90. - create
  91. - patch
  92. - apiGroups:
  93. - extensions
  94. - networking.k8s.io # k8s 1.14+
  95. resources:
  96. - ingresses/status
  97. verbs:
  98. - update
  99. - apiGroups:
  100. - networking.k8s.io # k8s 1.14+
  101. resources:
  102. - ingressclasses
  103. verbs:
  104. - get
  105. - list
  106. - watch
  107. ---
  108. # Source: ingress-nginx/templates/clusterrolebinding.yaml
  109. apiVersion: rbac.authorization.k8s.io/v1
  110. kind: ClusterRoleBinding
  111. metadata:
  112. labels:
  113. helm.sh/chart: ingress-nginx-2.13.0
  114. app.kubernetes.io/name: ingress-nginx
  115. app.kubernetes.io/instance: ingress-nginx
  116. app.kubernetes.io/version: 0.35.0
  117. app.kubernetes.io/managed-by: Helm
  118. name: ingress-nginx
  119. roleRef:
  120. apiGroup: rbac.authorization.k8s.io
  121. kind: ClusterRole
  122. name: ingress-nginx
  123. subjects:
  124. - kind: ServiceAccount
  125. name: ingress-nginx
  126. namespace: ingress-nginx
  127. ---
  128. # Source: ingress-nginx/templates/controller-role.yaml
  129. apiVersion: rbac.authorization.k8s.io/v1
  130. kind: Role
  131. metadata:
  132. labels:
  133. helm.sh/chart: ingress-nginx-2.13.0
  134. app.kubernetes.io/name: ingress-nginx
  135. app.kubernetes.io/instance: ingress-nginx
  136. app.kubernetes.io/version: 0.35.0
  137. app.kubernetes.io/managed-by: Helm
  138. app.kubernetes.io/component: controller
  139. name: ingress-nginx
  140. namespace: ingress-nginx
  141. rules:
  142. - apiGroups:
  143. - ''
  144. resources:
  145. - namespaces
  146. verbs:
  147. - get
  148. - apiGroups:
  149. - ''
  150. resources:
  151. - configmaps
  152. - pods
  153. - secrets
  154. - endpoints
  155. verbs:
  156. - get
  157. - list
  158. - watch
  159. - apiGroups:
  160. - ''
  161. resources:
  162. - services
  163. verbs:
  164. - get
  165. - list
  166. - update
  167. - watch
  168. - apiGroups:
  169. - extensions
  170. - networking.k8s.io # k8s 1.14+
  171. resources:
  172. - ingresses
  173. verbs:
  174. - get
  175. - list
  176. - watch
  177. - apiGroups:
  178. - extensions
  179. - networking.k8s.io # k8s 1.14+
  180. resources:
  181. - ingresses/status
  182. verbs:
  183. - update
  184. - apiGroups:
  185. - networking.k8s.io # k8s 1.14+
  186. resources:
  187. - ingressclasses
  188. verbs:
  189. - get
  190. - list
  191. - watch
  192. - apiGroups:
  193. - ''
  194. resources:
  195. - configmaps
  196. resourceNames:
  197. - ingress-controller-leader-nginx
  198. verbs:
  199. - get
  200. - update
  201. - apiGroups:
  202. - ''
  203. resources:
  204. - configmaps
  205. verbs:
  206. - create
  207. - apiGroups:
  208. - ''
  209. resources:
  210. - endpoints
  211. verbs:
  212. - create
  213. - get
  214. - update
  215. - apiGroups:
  216. - ''
  217. resources:
  218. - events
  219. verbs:
  220. - create
  221. - patch
  222. ---
  223. # Source: ingress-nginx/templates/controller-rolebinding.yaml
  224. apiVersion: rbac.authorization.k8s.io/v1
  225. kind: RoleBinding
  226. metadata:
  227. labels:
  228. helm.sh/chart: ingress-nginx-2.13.0
  229. app.kubernetes.io/name: ingress-nginx
  230. app.kubernetes.io/instance: ingress-nginx
  231. app.kubernetes.io/version: 0.35.0
  232. app.kubernetes.io/managed-by: Helm
  233. app.kubernetes.io/component: controller
  234. name: ingress-nginx
  235. namespace: ingress-nginx
  236. roleRef:
  237. apiGroup: rbac.authorization.k8s.io
  238. kind: Role
  239. name: ingress-nginx
  240. subjects:
  241. - kind: ServiceAccount
  242. name: ingress-nginx
  243. namespace: ingress-nginx
  244. ---
  245. # Source: ingress-nginx/templates/controller-service-webhook.yaml
  246. apiVersion: v1
  247. kind: Service
  248. metadata:
  249. labels:
  250. helm.sh/chart: ingress-nginx-2.13.0
  251. app.kubernetes.io/name: ingress-nginx
  252. app.kubernetes.io/instance: ingress-nginx
  253. app.kubernetes.io/version: 0.35.0
  254. app.kubernetes.io/managed-by: Helm
  255. app.kubernetes.io/component: controller
  256. name: ingress-nginx-controller-admission
  257. namespace: ingress-nginx
  258. spec:
  259. type: ClusterIP
  260. ports:
  261. - name: https-webhook
  262. port: 443
  263. targetPort: webhook
  264. selector:
  265. app.kubernetes.io/name: ingress-nginx
  266. app.kubernetes.io/instance: ingress-nginx
  267. app.kubernetes.io/component: controller
  268. ---
  269. # Source: ingress-nginx/templates/controller-service.yaml
  270. apiVersion: v1
  271. kind: Service
  272. metadata:
  273. labels:
  274. helm.sh/chart: ingress-nginx-2.13.0
  275. app.kubernetes.io/name: ingress-nginx
  276. app.kubernetes.io/instance: ingress-nginx
  277. app.kubernetes.io/version: 0.35.0
  278. app.kubernetes.io/managed-by: Helm
  279. app.kubernetes.io/component: controller
  280. name: ingress-nginx-controller
  281. namespace: ingress-nginx
  282. spec:
  283. type: NodePort
  284. ports:
  285. - name: http
  286. port: 80
  287. protocol: TCP
  288. targetPort: http
  289. nodePort: 80
  290. - name: https
  291. port: 443
  292. protocol: TCP
  293. targetPort: https
  294. nodePort: 443
  295. selector:
  296. app.kubernetes.io/name: ingress-nginx
  297. app.kubernetes.io/instance: ingress-nginx
  298. app.kubernetes.io/component: controller
  299. ---
  300. # Source: ingress-nginx/templates/controller-deployment.yaml
  301. apiVersion: apps/v1
  302. kind: Deployment
  303. metadata:
  304. labels:
  305. helm.sh/chart: ingress-nginx-2.13.0
  306. app.kubernetes.io/name: ingress-nginx
  307. app.kubernetes.io/instance: ingress-nginx
  308. app.kubernetes.io/version: 0.35.0
  309. app.kubernetes.io/managed-by: Helm
  310. app.kubernetes.io/component: controller
  311. name: ingress-nginx-controller
  312. namespace: ingress-nginx
  313. spec:
  314. selector:
  315. matchLabels:
  316. app.kubernetes.io/name: ingress-nginx
  317. app.kubernetes.io/instance: ingress-nginx
  318. app.kubernetes.io/component: controller
  319. revisionHistoryLimit: 10
  320. minReadySeconds: 0
  321. template:
  322. metadata:
  323. labels:
  324. app.kubernetes.io/name: ingress-nginx
  325. app.kubernetes.io/instance: ingress-nginx
  326. app.kubernetes.io/component: controller
  327. spec:
  328. dnsPolicy: ClusterFirst
  329. containers:
  330. - name: controller
  331. image: k8s.gcr.io/ingress-nginx/controller:v0.35.0@sha256:fc4979d8b8443a831c9789b5155cded454cb7de737a8b727bc2ba0106d2eae8b
  332. imagePullPolicy: IfNotPresent
  333. lifecycle:
  334. preStop:
  335. exec:
  336. command:
  337. - /wait-shutdown
  338. args:
  339. - /nginx-ingress-controller
  340. - --election-id=ingress-controller-leader
  341. - --ingress-class=nginx
  342. - --configmap=$(POD_NAMESPACE)/ingress-nginx-controller
  343. - --validating-webhook=:8443
  344. - --validating-webhook-certificate=/usr/local/certificates/cert
  345. - --validating-webhook-key=/usr/local/certificates/key
  346. securityContext:
  347. capabilities:
  348. drop:
  349. - ALL
  350. add:
  351. - NET_BIND_SERVICE
  352. runAsUser: 101
  353. allowPrivilegeEscalation: true
  354. env:
  355. - name: POD_NAME
  356. valueFrom:
  357. fieldRef:
  358. fieldPath: metadata.name
  359. - name: POD_NAMESPACE
  360. valueFrom:
  361. fieldRef:
  362. fieldPath: metadata.namespace
  363. livenessProbe:
  364. httpGet:
  365. path: /healthz
  366. port: 10254
  367. scheme: HTTP
  368. initialDelaySeconds: 10
  369. periodSeconds: 10
  370. timeoutSeconds: 1
  371. successThreshold: 1
  372. failureThreshold: 5
  373. readinessProbe:
  374. httpGet:
  375. path: /healthz
  376. port: 10254
  377. scheme: HTTP
  378. initialDelaySeconds: 10
  379. periodSeconds: 10
  380. timeoutSeconds: 1
  381. successThreshold: 1
  382. failureThreshold: 3
  383. ports:
  384. - name: http
  385. containerPort: 80
  386. protocol: TCP
  387. - name: https
  388. containerPort: 443
  389. protocol: TCP
  390. - name: webhook
  391. containerPort: 8443
  392. protocol: TCP
  393. volumeMounts:
  394. - name: webhook-cert
  395. mountPath: /usr/local/certificates/
  396. readOnly: true
  397. resources:
  398. requests:
  399. cpu: 50m
  400. memory: 90Mi
  401. serviceAccountName: ingress-nginx
  402. terminationGracePeriodSeconds: 300
  403. volumes:
  404. - name: webhook-cert
  405. secret:
  406. secretName: ingress-nginx-admission
  407. ---
  408. # Source: ingress-nginx/templates/admission-webhooks/validating-webhook.yaml
  409. # before changing this value, check the required kubernetes version
  410. # https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/#prerequisites
  411. apiVersion: admissionregistration.k8s.io/v1
  412. kind: ValidatingWebhookConfiguration
  413. metadata:
  414. labels:
  415. helm.sh/chart: ingress-nginx-2.13.0
  416. app.kubernetes.io/name: ingress-nginx
  417. app.kubernetes.io/instance: ingress-nginx
  418. app.kubernetes.io/version: 0.35.0
  419. app.kubernetes.io/managed-by: Helm
  420. app.kubernetes.io/component: admission-webhook
  421. name: ingress-nginx-admission
  422. webhooks:
  423. - name: validate.nginx.ingress.kubernetes.io
  424. rules:
  425. - apiGroups:
  426. - extensions
  427. - networking.k8s.io
  428. apiVersions:
  429. - v1beta1
  430. operations:
  431. - CREATE
  432. - UPDATE
  433. resources:
  434. - ingresses
  435. failurePolicy: Fail
  436. sideEffects: None
  437. admissionReviewVersions:
  438. - v1
  439. - v1beta1
  440. clientConfig:
  441. service:
  442. namespace: ingress-nginx
  443. name: ingress-nginx-controller-admission
  444. path: /extensions/v1beta1/ingresses
  445. ---
  446. # Source: ingress-nginx/templates/admission-webhooks/job-patch/serviceaccount.yaml
  447. apiVersion: v1
  448. kind: ServiceAccount
  449. metadata:
  450. name: ingress-nginx-admission
  451. annotations:
  452. helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
  453. helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
  454. labels:
  455. helm.sh/chart: ingress-nginx-2.13.0
  456. app.kubernetes.io/name: ingress-nginx
  457. app.kubernetes.io/instance: ingress-nginx
  458. app.kubernetes.io/version: 0.35.0
  459. app.kubernetes.io/managed-by: Helm
  460. app.kubernetes.io/component: admission-webhook
  461. namespace: ingress-nginx
  462. ---
  463. # Source: ingress-nginx/templates/admission-webhooks/job-patch/clusterrole.yaml
  464. apiVersion: rbac.authorization.k8s.io/v1
  465. kind: ClusterRole
  466. metadata:
  467. name: ingress-nginx-admission
  468. annotations:
  469. helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
  470. helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
  471. labels:
  472. helm.sh/chart: ingress-nginx-2.13.0
  473. app.kubernetes.io/name: ingress-nginx
  474. app.kubernetes.io/instance: ingress-nginx
  475. app.kubernetes.io/version: 0.35.0
  476. app.kubernetes.io/managed-by: Helm
  477. app.kubernetes.io/component: admission-webhook
  478. rules:
  479. - apiGroups:
  480. - admissionregistration.k8s.io
  481. resources:
  482. - validatingwebhookconfigurations
  483. verbs:
  484. - get
  485. - update
  486. ---
  487. # Source: ingress-nginx/templates/admission-webhooks/job-patch/clusterrolebinding.yaml
  488. apiVersion: rbac.authorization.k8s.io/v1
  489. kind: ClusterRoleBinding
  490. metadata:
  491. name: ingress-nginx-admission
  492. annotations:
  493. helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
  494. helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
  495. labels:
  496. helm.sh/chart: ingress-nginx-2.13.0
  497. app.kubernetes.io/name: ingress-nginx
  498. app.kubernetes.io/instance: ingress-nginx
  499. app.kubernetes.io/version: 0.35.0
  500. app.kubernetes.io/managed-by: Helm
  501. app.kubernetes.io/component: admission-webhook
  502. roleRef:
  503. apiGroup: rbac.authorization.k8s.io
  504. kind: ClusterRole
  505. name: ingress-nginx-admission
  506. subjects:
  507. - kind: ServiceAccount
  508. name: ingress-nginx-admission
  509. namespace: ingress-nginx
  510. ---
  511. # Source: ingress-nginx/templates/admission-webhooks/job-patch/role.yaml
  512. apiVersion: rbac.authorization.k8s.io/v1
  513. kind: Role
  514. metadata:
  515. name: ingress-nginx-admission
  516. annotations:
  517. helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
  518. helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
  519. labels:
  520. helm.sh/chart: ingress-nginx-2.13.0
  521. app.kubernetes.io/name: ingress-nginx
  522. app.kubernetes.io/instance: ingress-nginx
  523. app.kubernetes.io/version: 0.35.0
  524. app.kubernetes.io/managed-by: Helm
  525. app.kubernetes.io/component: admission-webhook
  526. namespace: ingress-nginx
  527. rules:
  528. - apiGroups:
  529. - ''
  530. resources:
  531. - secrets
  532. verbs:
  533. - get
  534. - create
  535. ---
  536. # Source: ingress-nginx/templates/admission-webhooks/job-patch/rolebinding.yaml
  537. apiVersion: rbac.authorization.k8s.io/v1
  538. kind: RoleBinding
  539. metadata:
  540. name: ingress-nginx-admission
  541. annotations:
  542. helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
  543. helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
  544. labels:
  545. helm.sh/chart: ingress-nginx-2.13.0
  546. app.kubernetes.io/name: ingress-nginx
  547. app.kubernetes.io/instance: ingress-nginx
  548. app.kubernetes.io/version: 0.35.0
  549. app.kubernetes.io/managed-by: Helm
  550. app.kubernetes.io/component: admission-webhook
  551. namespace: ingress-nginx
  552. roleRef:
  553. apiGroup: rbac.authorization.k8s.io
  554. kind: Role
  555. name: ingress-nginx-admission
  556. subjects:
  557. - kind: ServiceAccount
  558. name: ingress-nginx-admission
  559. namespace: ingress-nginx
  560. ---
  561. # Source: ingress-nginx/templates/admission-webhooks/job-patch/job-createSecret.yaml
  562. apiVersion: batch/v1
  563. kind: Job
  564. metadata:
  565. name: ingress-nginx-admission-create
  566. annotations:
  567. helm.sh/hook: pre-install,pre-upgrade
  568. helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
  569. labels:
  570. helm.sh/chart: ingress-nginx-2.13.0
  571. app.kubernetes.io/name: ingress-nginx
  572. app.kubernetes.io/instance: ingress-nginx
  573. app.kubernetes.io/version: 0.35.0
  574. app.kubernetes.io/managed-by: Helm
  575. app.kubernetes.io/component: admission-webhook
  576. namespace: ingress-nginx
  577. spec:
  578. template:
  579. metadata:
  580. name: ingress-nginx-admission-create
  581. labels:
  582. helm.sh/chart: ingress-nginx-2.13.0
  583. app.kubernetes.io/name: ingress-nginx
  584. app.kubernetes.io/instance: ingress-nginx
  585. app.kubernetes.io/version: 0.35.0
  586. app.kubernetes.io/managed-by: Helm
  587. app.kubernetes.io/component: admission-webhook
  588. spec:
  589. containers:
  590. - name: create
  591. image: docker.io/jettech/kube-webhook-certgen:v1.2.2
  592. imagePullPolicy: IfNotPresent
  593. args:
  594. - create
  595. - --host=ingress-nginx-controller-admission,ingress-nginx-controller-admission.$(POD_NAMESPACE).svc
  596. - --namespace=$(POD_NAMESPACE)
  597. - --secret-name=ingress-nginx-admission
  598. env:
  599. - name: POD_NAMESPACE
  600. valueFrom:
  601. fieldRef:
  602. fieldPath: metadata.namespace
  603. restartPolicy: OnFailure
  604. serviceAccountName: ingress-nginx-admission
  605. securityContext:
  606. runAsNonRoot: true
  607. runAsUser: 2000
  608. ---
  609. # Source: ingress-nginx/templates/admission-webhooks/job-patch/job-patchWebhook.yaml
  610. apiVersion: batch/v1
  611. kind: Job
  612. metadata:
  613. name: ingress-nginx-admission-patch
  614. annotations:
  615. helm.sh/hook: post-install,post-upgrade
  616. helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
  617. labels:
  618. helm.sh/chart: ingress-nginx-2.13.0
  619. app.kubernetes.io/name: ingress-nginx
  620. app.kubernetes.io/instance: ingress-nginx
  621. app.kubernetes.io/version: 0.35.0
  622. app.kubernetes.io/managed-by: Helm
  623. app.kubernetes.io/component: admission-webhook
  624. namespace: ingress-nginx
  625. spec:
  626. template:
  627. metadata:
  628. name: ingress-nginx-admission-patch
  629. labels:
  630. helm.sh/chart: ingress-nginx-2.13.0
  631. app.kubernetes.io/name: ingress-nginx
  632. app.kubernetes.io/instance: ingress-nginx
  633. app.kubernetes.io/version: 0.35.0
  634. app.kubernetes.io/managed-by: Helm
  635. app.kubernetes.io/component: admission-webhook
  636. spec:
  637. containers:
  638. - name: patch
  639. image: docker.io/jettech/kube-webhook-certgen:v1.2.2
  640. imagePullPolicy: IfNotPresent
  641. args:
  642. - patch
  643. - --webhook-name=ingress-nginx-admission
  644. - --namespace=$(POD_NAMESPACE)
  645. - --patch-mutating=false
  646. - --secret-name=ingress-nginx-admission
  647. - --patch-failure-policy=Fail
  648. env:
  649. - name: POD_NAMESPACE
  650. valueFrom:
  651. fieldRef:
  652. fieldPath: metadata.namespace
  653. restartPolicy: OnFailure
  654. serviceAccountName: ingress-nginx-admission
  655. securityContext:
  656. runAsNonRoot: true
  657. runAsUser: 2000