底座:centos8
kubernetes:1.18.6
ingress-nginx版本:2.11.2

ingress nginx NGINX: 0.34.1

https://github.com/kubernetes/ingress-nginx/releases/tag/controller-v0.34.1

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