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.11.1
    15. app.kubernetes.io/name: ingress-nginx
    16. app.kubernetes.io/instance: ingress-nginx
    17. app.kubernetes.io/version: 0.34.1
    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.11.1
    29. app.kubernetes.io/name: ingress-nginx
    30. app.kubernetes.io/instance: ingress-nginx
    31. app.kubernetes.io/version: 0.34.1
    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.11.1
    44. app.kubernetes.io/name: ingress-nginx
    45. app.kubernetes.io/instance: ingress-nginx
    46. app.kubernetes.io/version: 0.34.1
    47. app.kubernetes.io/managed-by: Helm
    48. name: ingress-nginx
    49. namespace: 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. - update
    76. - watch
    77. - apiGroups:
    78. - extensions
    79. - networking.k8s.io # k8s 1.14+
    80. resources:
    81. - ingresses
    82. verbs:
    83. - get
    84. - list
    85. - watch
    86. - apiGroups:
    87. - ''
    88. resources:
    89. - events
    90. verbs:
    91. - create
    92. - patch
    93. - apiGroups:
    94. - extensions
    95. - networking.k8s.io # k8s 1.14+
    96. resources:
    97. - ingresses/status
    98. verbs:
    99. - update
    100. - apiGroups:
    101. - networking.k8s.io # k8s 1.14+
    102. resources:
    103. - ingressclasses
    104. verbs:
    105. - get
    106. - list
    107. - watch
    108. ---
    109. # Source: ingress-nginx/templates/clusterrolebinding.yaml
    110. apiVersion: rbac.authorization.k8s.io/v1
    111. kind: ClusterRoleBinding
    112. metadata:
    113. labels:
    114. helm.sh/chart: ingress-nginx-2.11.1
    115. app.kubernetes.io/name: ingress-nginx
    116. app.kubernetes.io/instance: ingress-nginx
    117. app.kubernetes.io/version: 0.34.1
    118. app.kubernetes.io/managed-by: Helm
    119. name: ingress-nginx
    120. namespace: ingress-nginx
    121. roleRef:
    122. apiGroup: rbac.authorization.k8s.io
    123. kind: ClusterRole
    124. name: ingress-nginx
    125. subjects:
    126. - kind: ServiceAccount
    127. name: ingress-nginx
    128. namespace: ingress-nginx
    129. ---
    130. # Source: ingress-nginx/templates/controller-role.yaml
    131. apiVersion: rbac.authorization.k8s.io/v1
    132. kind: Role
    133. metadata:
    134. labels:
    135. helm.sh/chart: ingress-nginx-2.11.1
    136. app.kubernetes.io/name: ingress-nginx
    137. app.kubernetes.io/instance: ingress-nginx
    138. app.kubernetes.io/version: 0.34.1
    139. app.kubernetes.io/managed-by: Helm
    140. app.kubernetes.io/component: controller
    141. name: ingress-nginx
    142. namespace: ingress-nginx
    143. rules:
    144. - apiGroups:
    145. - ''
    146. resources:
    147. - namespaces
    148. verbs:
    149. - get
    150. - apiGroups:
    151. - ''
    152. resources:
    153. - configmaps
    154. - pods
    155. - secrets
    156. - endpoints
    157. verbs:
    158. - get
    159. - list
    160. - watch
    161. - apiGroups:
    162. - ''
    163. resources:
    164. - services
    165. verbs:
    166. - get
    167. - list
    168. - update
    169. - watch
    170. - apiGroups:
    171. - extensions
    172. - networking.k8s.io # k8s 1.14+
    173. resources:
    174. - ingresses
    175. verbs:
    176. - get
    177. - list
    178. - watch
    179. - apiGroups:
    180. - extensions
    181. - networking.k8s.io # k8s 1.14+
    182. resources:
    183. - ingresses/status
    184. verbs:
    185. - update
    186. - apiGroups:
    187. - networking.k8s.io # k8s 1.14+
    188. resources:
    189. - ingressclasses
    190. verbs:
    191. - get
    192. - list
    193. - watch
    194. - apiGroups:
    195. - ''
    196. resources:
    197. - configmaps
    198. resourceNames:
    199. - ingress-controller-leader-nginx
    200. verbs:
    201. - get
    202. - update
    203. - apiGroups:
    204. - ''
    205. resources:
    206. - configmaps
    207. verbs:
    208. - create
    209. - apiGroups:
    210. - ''
    211. resources:
    212. - endpoints
    213. verbs:
    214. - create
    215. - get
    216. - update
    217. - apiGroups:
    218. - ''
    219. resources:
    220. - events
    221. verbs:
    222. - create
    223. - patch
    224. ---
    225. # Source: ingress-nginx/templates/controller-rolebinding.yaml
    226. apiVersion: rbac.authorization.k8s.io/v1
    227. kind: RoleBinding
    228. metadata:
    229. labels:
    230. helm.sh/chart: ingress-nginx-2.11.1
    231. app.kubernetes.io/name: ingress-nginx
    232. app.kubernetes.io/instance: ingress-nginx
    233. app.kubernetes.io/version: 0.34.1
    234. app.kubernetes.io/managed-by: Helm
    235. app.kubernetes.io/component: controller
    236. name: ingress-nginx
    237. namespace: ingress-nginx
    238. roleRef:
    239. apiGroup: rbac.authorization.k8s.io
    240. kind: Role
    241. name: ingress-nginx
    242. subjects:
    243. - kind: ServiceAccount
    244. name: ingress-nginx
    245. namespace: ingress-nginx
    246. ---
    247. # Source: ingress-nginx/templates/controller-service-webhook.yaml
    248. apiVersion: v1
    249. kind: Service
    250. metadata:
    251. labels:
    252. helm.sh/chart: ingress-nginx-2.11.1
    253. app.kubernetes.io/name: ingress-nginx
    254. app.kubernetes.io/instance: ingress-nginx
    255. app.kubernetes.io/version: 0.34.1
    256. app.kubernetes.io/managed-by: Helm
    257. app.kubernetes.io/component: controller
    258. name: ingress-nginx-controller-admission
    259. namespace: ingress-nginx
    260. spec:
    261. type: ClusterIP
    262. ports:
    263. - name: https-webhook
    264. port: 443
    265. targetPort: webhook
    266. selector:
    267. app.kubernetes.io/name: ingress-nginx
    268. app.kubernetes.io/instance: ingress-nginx
    269. app.kubernetes.io/component: controller
    270. ---
    271. # Source: ingress-nginx/templates/controller-service.yaml
    272. apiVersion: v1
    273. kind: Service
    274. metadata:
    275. labels:
    276. helm.sh/chart: ingress-nginx-2.11.1
    277. app.kubernetes.io/name: ingress-nginx
    278. app.kubernetes.io/instance: ingress-nginx
    279. app.kubernetes.io/version: 0.34.1
    280. app.kubernetes.io/managed-by: Helm
    281. app.kubernetes.io/component: controller
    282. name: ingress-nginx-controller
    283. namespace: ingress-nginx
    284. spec:
    285. type: NodePort
    286. ports:
    287. - name: http
    288. port: 80
    289. protocol: TCP
    290. targetPort: http
    291. - name: https
    292. port: 443
    293. protocol: TCP
    294. targetPort: https
    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.11.1
    306. app.kubernetes.io/name: ingress-nginx
    307. app.kubernetes.io/instance: ingress-nginx
    308. app.kubernetes.io/version: 0.34.1
    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: quay.mirrors.ustc.edu.cn/kubernetes-ingress-controller/nginx-ingress-controller:0.33.0
    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=ingress-nginx/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: 100m
    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.11.1
    416. app.kubernetes.io/name: ingress-nginx
    417. app.kubernetes.io/instance: ingress-nginx
    418. app.kubernetes.io/version: 0.34.1
    419. app.kubernetes.io/managed-by: Helm
    420. app.kubernetes.io/component: admission-webhook
    421. name: ingress-nginx-admission
    422. namespace: ingress-nginx
    423. webhooks:
    424. - name: validate.nginx.ingress.kubernetes.io
    425. rules:
    426. - apiGroups:
    427. - extensions
    428. - networking.k8s.io
    429. apiVersions:
    430. - v1beta1
    431. operations:
    432. - CREATE
    433. - UPDATE
    434. resources:
    435. - ingresses
    436. failurePolicy: Fail
    437. sideEffects: None
    438. admissionReviewVersions:
    439. - v1
    440. - v1beta1
    441. clientConfig:
    442. service:
    443. namespace: ingress-nginx
    444. name: ingress-nginx-controller-admission
    445. path: /extensions/v1beta1/ingresses
    446. ---
    447. # Source: ingress-nginx/templates/admission-webhooks/job-patch/clusterrole.yaml
    448. apiVersion: rbac.authorization.k8s.io/v1
    449. kind: ClusterRole
    450. metadata:
    451. name: ingress-nginx-admission
    452. annotations:
    453. helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
    454. helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
    455. labels:
    456. helm.sh/chart: ingress-nginx-2.11.1
    457. app.kubernetes.io/name: ingress-nginx
    458. app.kubernetes.io/instance: ingress-nginx
    459. app.kubernetes.io/version: 0.34.1
    460. app.kubernetes.io/managed-by: Helm
    461. app.kubernetes.io/component: admission-webhook
    462. namespace: ingress-nginx
    463. rules:
    464. - apiGroups:
    465. - admissionregistration.k8s.io
    466. resources:
    467. - validatingwebhookconfigurations
    468. verbs:
    469. - get
    470. - update
    471. ---
    472. # Source: ingress-nginx/templates/admission-webhooks/job-patch/clusterrolebinding.yaml
    473. apiVersion: rbac.authorization.k8s.io/v1
    474. kind: ClusterRoleBinding
    475. metadata:
    476. name: ingress-nginx-admission
    477. annotations:
    478. helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
    479. helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
    480. labels:
    481. helm.sh/chart: ingress-nginx-2.11.1
    482. app.kubernetes.io/name: ingress-nginx
    483. app.kubernetes.io/instance: ingress-nginx
    484. app.kubernetes.io/version: 0.34.1
    485. app.kubernetes.io/managed-by: Helm
    486. app.kubernetes.io/component: admission-webhook
    487. namespace: ingress-nginx
    488. roleRef:
    489. apiGroup: rbac.authorization.k8s.io
    490. kind: ClusterRole
    491. name: ingress-nginx-admission
    492. subjects:
    493. - kind: ServiceAccount
    494. name: ingress-nginx-admission
    495. namespace: ingress-nginx
    496. ---
    497. # Source: ingress-nginx/templates/admission-webhooks/job-patch/job-createSecret.yaml
    498. apiVersion: batch/v1
    499. kind: Job
    500. metadata:
    501. name: ingress-nginx-admission-create
    502. annotations:
    503. helm.sh/hook: pre-install,pre-upgrade
    504. helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
    505. labels:
    506. helm.sh/chart: ingress-nginx-2.11.1
    507. app.kubernetes.io/name: ingress-nginx
    508. app.kubernetes.io/instance: ingress-nginx
    509. app.kubernetes.io/version: 0.34.1
    510. app.kubernetes.io/managed-by: Helm
    511. app.kubernetes.io/component: admission-webhook
    512. namespace: ingress-nginx
    513. spec:
    514. template:
    515. metadata:
    516. name: ingress-nginx-admission-create
    517. labels:
    518. helm.sh/chart: ingress-nginx-2.11.1
    519. app.kubernetes.io/name: ingress-nginx
    520. app.kubernetes.io/instance: ingress-nginx
    521. app.kubernetes.io/version: 0.34.1
    522. app.kubernetes.io/managed-by: Helm
    523. app.kubernetes.io/component: admission-webhook
    524. spec:
    525. containers:
    526. - name: create
    527. image: docker.io/jettech/kube-webhook-certgen:v1.2.2
    528. imagePullPolicy: IfNotPresent
    529. args:
    530. - create
    531. - --host=ingress-nginx-controller-admission,ingress-nginx-controller-admission.ingress-nginx.svc
    532. - --namespace=ingress-nginx
    533. - --secret-name=ingress-nginx-admission
    534. restartPolicy: OnFailure
    535. serviceAccountName: ingress-nginx-admission
    536. securityContext:
    537. runAsNonRoot: true
    538. runAsUser: 2000
    539. ---
    540. # Source: ingress-nginx/templates/admission-webhooks/job-patch/job-patchWebhook.yaml
    541. apiVersion: batch/v1
    542. kind: Job
    543. metadata:
    544. name: ingress-nginx-admission-patch
    545. annotations:
    546. helm.sh/hook: post-install,post-upgrade
    547. helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
    548. labels:
    549. helm.sh/chart: ingress-nginx-2.11.1
    550. app.kubernetes.io/name: ingress-nginx
    551. app.kubernetes.io/instance: ingress-nginx
    552. app.kubernetes.io/version: 0.34.1
    553. app.kubernetes.io/managed-by: Helm
    554. app.kubernetes.io/component: admission-webhook
    555. namespace: ingress-nginx
    556. spec:
    557. template:
    558. metadata:
    559. name: ingress-nginx-admission-patch
    560. labels:
    561. helm.sh/chart: ingress-nginx-2.11.1
    562. app.kubernetes.io/name: ingress-nginx
    563. app.kubernetes.io/instance: ingress-nginx
    564. app.kubernetes.io/version: 0.34.1
    565. app.kubernetes.io/managed-by: Helm
    566. app.kubernetes.io/component: admission-webhook
    567. spec:
    568. containers:
    569. - name: patch
    570. image: docker.io/jettech/kube-webhook-certgen:v1.2.2
    571. imagePullPolicy: IfNotPresent
    572. args:
    573. - patch
    574. - --webhook-name=ingress-nginx-admission
    575. - --namespace=ingress-nginx
    576. - --patch-mutating=false
    577. - --secret-name=ingress-nginx-admission
    578. - --patch-failure-policy=Fail
    579. restartPolicy: OnFailure
    580. serviceAccountName: ingress-nginx-admission
    581. securityContext:
    582. runAsNonRoot: true
    583. runAsUser: 2000
    584. ---
    585. # Source: ingress-nginx/templates/admission-webhooks/job-patch/role.yaml
    586. apiVersion: rbac.authorization.k8s.io/v1
    587. kind: Role
    588. metadata:
    589. name: ingress-nginx-admission
    590. annotations:
    591. helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
    592. helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
    593. labels:
    594. helm.sh/chart: ingress-nginx-2.11.1
    595. app.kubernetes.io/name: ingress-nginx
    596. app.kubernetes.io/instance: ingress-nginx
    597. app.kubernetes.io/version: 0.34.1
    598. app.kubernetes.io/managed-by: Helm
    599. app.kubernetes.io/component: admission-webhook
    600. namespace: ingress-nginx
    601. rules:
    602. - apiGroups:
    603. - ''
    604. resources:
    605. - secrets
    606. verbs:
    607. - get
    608. - create
    609. ---
    610. # Source: ingress-nginx/templates/admission-webhooks/job-patch/rolebinding.yaml
    611. apiVersion: rbac.authorization.k8s.io/v1
    612. kind: RoleBinding
    613. metadata:
    614. name: ingress-nginx-admission
    615. annotations:
    616. helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
    617. helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
    618. labels:
    619. helm.sh/chart: ingress-nginx-2.11.1
    620. app.kubernetes.io/name: ingress-nginx
    621. app.kubernetes.io/instance: ingress-nginx
    622. app.kubernetes.io/version: 0.34.1
    623. app.kubernetes.io/managed-by: Helm
    624. app.kubernetes.io/component: admission-webhook
    625. namespace: ingress-nginx
    626. roleRef:
    627. apiGroup: rbac.authorization.k8s.io
    628. kind: Role
    629. name: ingress-nginx-admission
    630. subjects:
    631. - kind: ServiceAccount
    632. name: ingress-nginx-admission
    633. namespace: ingress-nginx
    634. ---
    635. # Source: ingress-nginx/templates/admission-webhooks/job-patch/serviceaccount.yaml
    636. apiVersion: v1
    637. kind: ServiceAccount
    638. metadata:
    639. name: ingress-nginx-admission
    640. annotations:
    641. helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
    642. helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
    643. labels:
    644. helm.sh/chart: ingress-nginx-2.11.1
    645. app.kubernetes.io/name: ingress-nginx
    646. app.kubernetes.io/instance: ingress-nginx
    647. app.kubernetes.io/version: 0.34.1
    648. app.kubernetes.io/managed-by: Helm
    649. app.kubernetes.io/component: admission-webhook
    650. namespace: ingress-nginx