ingress_deploy.yaml

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