ingress-nginx.yaml 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659
  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. - name: https
  290. port: 443
  291. protocol: TCP
  292. targetPort: https
  293. selector:
  294. app.kubernetes.io/name: ingress-nginx
  295. app.kubernetes.io/instance: ingress-nginx
  296. app.kubernetes.io/component: controller
  297. ---
  298. # Source: ingress-nginx/templates/controller-deployment.yaml
  299. apiVersion: apps/v1
  300. kind: Deployment
  301. metadata:
  302. labels:
  303. helm.sh/chart: ingress-nginx-2.13.0
  304. app.kubernetes.io/name: ingress-nginx
  305. app.kubernetes.io/instance: ingress-nginx
  306. app.kubernetes.io/version: 0.35.0
  307. app.kubernetes.io/managed-by: Helm
  308. app.kubernetes.io/component: controller
  309. name: ingress-nginx-controller
  310. namespace: ingress-nginx
  311. spec:
  312. selector:
  313. matchLabels:
  314. app.kubernetes.io/name: ingress-nginx
  315. app.kubernetes.io/instance: ingress-nginx
  316. app.kubernetes.io/component: controller
  317. revisionHistoryLimit: 10
  318. minReadySeconds: 0
  319. template:
  320. metadata:
  321. labels:
  322. app.kubernetes.io/name: ingress-nginx
  323. app.kubernetes.io/instance: ingress-nginx
  324. app.kubernetes.io/component: controller
  325. spec:
  326. hostNetwork: true
  327. dnsPolicy: ClusterFirst
  328. containers:
  329. - name: controller
  330. image: k8s.gcr.io/ingress-nginx/controller:v0.35.0@sha256:fc4979d8b8443a831c9789b5155cded454cb7de737a8b727bc2ba0106d2eae8b
  331. imagePullPolicy: IfNotPresent
  332. lifecycle:
  333. preStop:
  334. exec:
  335. command:
  336. - /wait-shutdown
  337. args:
  338. - /nginx-ingress-controller
  339. - --election-id=ingress-controller-leader
  340. - --ingress-class=nginx
  341. - --configmap=$(POD_NAMESPACE)/ingress-nginx-controller
  342. - --validating-webhook=:8443
  343. - --validating-webhook-certificate=/usr/local/certificates/cert
  344. - --validating-webhook-key=/usr/local/certificates/key
  345. securityContext:
  346. capabilities:
  347. drop:
  348. - ALL
  349. add:
  350. - NET_BIND_SERVICE
  351. runAsUser: 101
  352. allowPrivilegeEscalation: true
  353. env:
  354. - name: POD_NAME
  355. valueFrom:
  356. fieldRef:
  357. fieldPath: metadata.name
  358. - name: POD_NAMESPACE
  359. valueFrom:
  360. fieldRef:
  361. fieldPath: metadata.namespace
  362. livenessProbe:
  363. httpGet:
  364. path: /healthz
  365. port: 10254
  366. scheme: HTTP
  367. initialDelaySeconds: 10
  368. periodSeconds: 10
  369. timeoutSeconds: 1
  370. successThreshold: 1
  371. failureThreshold: 5
  372. readinessProbe:
  373. httpGet:
  374. path: /healthz
  375. port: 10254
  376. scheme: HTTP
  377. initialDelaySeconds: 10
  378. periodSeconds: 10
  379. timeoutSeconds: 1
  380. successThreshold: 1
  381. failureThreshold: 3
  382. ports:
  383. - name: http
  384. containerPort: 80
  385. protocol: TCP
  386. - name: https
  387. containerPort: 443
  388. protocol: TCP
  389. - name: webhook
  390. containerPort: 8443
  391. protocol: TCP
  392. volumeMounts:
  393. - name: webhook-cert
  394. mountPath: /usr/local/certificates/
  395. readOnly: true
  396. resources:
  397. requests:
  398. cpu: 50m
  399. memory: 90Mi
  400. serviceAccountName: ingress-nginx
  401. terminationGracePeriodSeconds: 300
  402. volumes:
  403. - name: webhook-cert
  404. secret:
  405. secretName: ingress-nginx-admission
  406. ---
  407. # Source: ingress-nginx/templates/admission-webhooks/validating-webhook.yaml
  408. # before changing this value, check the required kubernetes version
  409. # https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/#prerequisites
  410. apiVersion: admissionregistration.k8s.io/v1beta1
  411. kind: ValidatingWebhookConfiguration
  412. metadata:
  413. labels:
  414. helm.sh/chart: ingress-nginx-2.13.0
  415. app.kubernetes.io/name: ingress-nginx
  416. app.kubernetes.io/instance: ingress-nginx
  417. app.kubernetes.io/version: 0.35.0
  418. app.kubernetes.io/managed-by: Helm
  419. app.kubernetes.io/component: admission-webhook
  420. name: ingress-nginx-admission
  421. webhooks:
  422. - name: validate.nginx.ingress.kubernetes.io
  423. rules:
  424. - apiGroups:
  425. - extensions
  426. - networking.k8s.io
  427. apiVersions:
  428. - v1beta1
  429. operations:
  430. - CREATE
  431. - UPDATE
  432. resources:
  433. - ingresses
  434. failurePolicy: Fail
  435. sideEffects: None
  436. admissionReviewVersions:
  437. - v1
  438. - v1beta1
  439. clientConfig:
  440. service:
  441. namespace: ingress-nginx
  442. name: ingress-nginx-controller-admission
  443. path: /extensions/v1beta1/ingresses
  444. ---
  445. # Source: ingress-nginx/templates/admission-webhooks/job-patch/serviceaccount.yaml
  446. apiVersion: v1
  447. kind: ServiceAccount
  448. metadata:
  449. name: ingress-nginx-admission
  450. annotations:
  451. helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
  452. helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
  453. labels:
  454. helm.sh/chart: ingress-nginx-2.13.0
  455. app.kubernetes.io/name: ingress-nginx
  456. app.kubernetes.io/instance: ingress-nginx
  457. app.kubernetes.io/version: 0.35.0
  458. app.kubernetes.io/managed-by: Helm
  459. app.kubernetes.io/component: admission-webhook
  460. namespace: ingress-nginx
  461. ---
  462. # Source: ingress-nginx/templates/admission-webhooks/job-patch/clusterrole.yaml
  463. apiVersion: rbac.authorization.k8s.io/v1
  464. kind: ClusterRole
  465. metadata:
  466. name: ingress-nginx-admission
  467. annotations:
  468. helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
  469. helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
  470. labels:
  471. helm.sh/chart: ingress-nginx-2.13.0
  472. app.kubernetes.io/name: ingress-nginx
  473. app.kubernetes.io/instance: ingress-nginx
  474. app.kubernetes.io/version: 0.35.0
  475. app.kubernetes.io/managed-by: Helm
  476. app.kubernetes.io/component: admission-webhook
  477. rules:
  478. - apiGroups:
  479. - admissionregistration.k8s.io
  480. resources:
  481. - validatingwebhookconfigurations
  482. verbs:
  483. - get
  484. - update
  485. ---
  486. # Source: ingress-nginx/templates/admission-webhooks/job-patch/clusterrolebinding.yaml
  487. apiVersion: rbac.authorization.k8s.io/v1
  488. kind: ClusterRoleBinding
  489. metadata:
  490. name: ingress-nginx-admission
  491. annotations:
  492. helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
  493. helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
  494. labels:
  495. helm.sh/chart: ingress-nginx-2.13.0
  496. app.kubernetes.io/name: ingress-nginx
  497. app.kubernetes.io/instance: ingress-nginx
  498. app.kubernetes.io/version: 0.35.0
  499. app.kubernetes.io/managed-by: Helm
  500. app.kubernetes.io/component: admission-webhook
  501. roleRef:
  502. apiGroup: rbac.authorization.k8s.io
  503. kind: ClusterRole
  504. name: ingress-nginx-admission
  505. subjects:
  506. - kind: ServiceAccount
  507. name: ingress-nginx-admission
  508. namespace: ingress-nginx
  509. ---
  510. # Source: ingress-nginx/templates/admission-webhooks/job-patch/role.yaml
  511. apiVersion: rbac.authorization.k8s.io/v1
  512. kind: Role
  513. metadata:
  514. name: ingress-nginx-admission
  515. annotations:
  516. helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
  517. helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
  518. labels:
  519. helm.sh/chart: ingress-nginx-2.13.0
  520. app.kubernetes.io/name: ingress-nginx
  521. app.kubernetes.io/instance: ingress-nginx
  522. app.kubernetes.io/version: 0.35.0
  523. app.kubernetes.io/managed-by: Helm
  524. app.kubernetes.io/component: admission-webhook
  525. namespace: ingress-nginx
  526. rules:
  527. - apiGroups:
  528. - ''
  529. resources:
  530. - secrets
  531. verbs:
  532. - get
  533. - create
  534. ---
  535. # Source: ingress-nginx/templates/admission-webhooks/job-patch/rolebinding.yaml
  536. apiVersion: rbac.authorization.k8s.io/v1
  537. kind: RoleBinding
  538. metadata:
  539. name: ingress-nginx-admission
  540. annotations:
  541. helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
  542. helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
  543. labels:
  544. helm.sh/chart: ingress-nginx-2.13.0
  545. app.kubernetes.io/name: ingress-nginx
  546. app.kubernetes.io/instance: ingress-nginx
  547. app.kubernetes.io/version: 0.35.0
  548. app.kubernetes.io/managed-by: Helm
  549. app.kubernetes.io/component: admission-webhook
  550. namespace: ingress-nginx
  551. roleRef:
  552. apiGroup: rbac.authorization.k8s.io
  553. kind: Role
  554. name: ingress-nginx-admission
  555. subjects:
  556. - kind: ServiceAccount
  557. name: ingress-nginx-admission
  558. namespace: ingress-nginx
  559. ---
  560. # Source: ingress-nginx/templates/admission-webhooks/job-patch/job-createSecret.yaml
  561. apiVersion: batch/v1
  562. kind: Job
  563. metadata:
  564. name: ingress-nginx-admission-create
  565. annotations:
  566. helm.sh/hook: pre-install,pre-upgrade
  567. helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
  568. labels:
  569. helm.sh/chart: ingress-nginx-2.13.0
  570. app.kubernetes.io/name: ingress-nginx
  571. app.kubernetes.io/instance: ingress-nginx
  572. app.kubernetes.io/version: 0.35.0
  573. app.kubernetes.io/managed-by: Helm
  574. app.kubernetes.io/component: admission-webhook
  575. namespace: ingress-nginx
  576. spec:
  577. template:
  578. metadata:
  579. name: ingress-nginx-admission-create
  580. labels:
  581. helm.sh/chart: ingress-nginx-2.13.0
  582. app.kubernetes.io/name: ingress-nginx
  583. app.kubernetes.io/instance: ingress-nginx
  584. app.kubernetes.io/version: 0.35.0
  585. app.kubernetes.io/managed-by: Helm
  586. app.kubernetes.io/component: admission-webhook
  587. spec:
  588. containers:
  589. - name: create
  590. image: docker.io/jettech/kube-webhook-certgen:v1.2.2
  591. imagePullPolicy: IfNotPresent
  592. args:
  593. - create
  594. - --host=ingress-nginx-controller-admission,ingress-nginx-controller-admission.$(POD_NAMESPACE).svc
  595. - --namespace=$(POD_NAMESPACE)
  596. - --secret-name=ingress-nginx-admission
  597. env:
  598. - name: POD_NAMESPACE
  599. valueFrom:
  600. fieldRef:
  601. fieldPath: metadata.namespace
  602. restartPolicy: OnFailure
  603. serviceAccountName: ingress-nginx-admission
  604. securityContext:
  605. runAsNonRoot: true
  606. runAsUser: 2000
  607. ---
  608. # Source: ingress-nginx/templates/admission-webhooks/job-patch/job-patchWebhook.yaml
  609. apiVersion: batch/v1
  610. kind: Job
  611. metadata:
  612. name: ingress-nginx-admission-patch
  613. annotations:
  614. helm.sh/hook: post-install,post-upgrade
  615. helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
  616. labels:
  617. helm.sh/chart: ingress-nginx-2.13.0
  618. app.kubernetes.io/name: ingress-nginx
  619. app.kubernetes.io/instance: ingress-nginx
  620. app.kubernetes.io/version: 0.35.0
  621. app.kubernetes.io/managed-by: Helm
  622. app.kubernetes.io/component: admission-webhook
  623. namespace: ingress-nginx
  624. spec:
  625. template:
  626. metadata:
  627. name: ingress-nginx-admission-patch
  628. labels:
  629. helm.sh/chart: ingress-nginx-2.13.0
  630. app.kubernetes.io/name: ingress-nginx
  631. app.kubernetes.io/instance: ingress-nginx
  632. app.kubernetes.io/version: 0.35.0
  633. app.kubernetes.io/managed-by: Helm
  634. app.kubernetes.io/component: admission-webhook
  635. spec:
  636. containers:
  637. - name: patch
  638. image: docker.io/jettech/kube-webhook-certgen:v1.2.2
  639. imagePullPolicy: IfNotPresent
  640. args:
  641. - patch
  642. - --webhook-name=ingress-nginx-admission
  643. - --namespace=$(POD_NAMESPACE)
  644. - --patch-mutating=false
  645. - --secret-name=ingress-nginx-admission
  646. - --patch-failure-policy=Fail
  647. env:
  648. - name: POD_NAMESPACE
  649. valueFrom:
  650. fieldRef:
  651. fieldPath: metadata.namespace
  652. restartPolicy: OnFailure
  653. serviceAccountName: ingress-nginx-admission
  654. securityContext:
  655. runAsNonRoot: true
  656. runAsUser: 2000