ingress-nginx-controller-v0.45.0.yaml 18 KB

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