apiVersion: v1 kind: Namespace metadata: labels: app: ingress-nginx name: ingress-nginx --- apiVersion: networking.k8s.io/v1 kind: IngressClass metadata: labels: component: controller app: ingress-nginx-default annotations: ingressclass.kubernetes.io/is-default-class: "true" name: nginx # .ingress.spec.ingressClassName spec: controller: k8s.io/ingress-nginx --- apiVersion: admissionregistration.k8s.io/v1 kind: ValidatingWebhookConfiguration metadata: labels: component: admission-webhook app: ingress-nginx name: ingress-nginx-admission webhooks: - admissionReviewVersions: - v1 clientConfig: service: name: ingress-nginx-controller-admission namespace: ingress-nginx path: /networking/v1/ingresses failurePolicy: Fail matchPolicy: Equivalent name: validate.nginx.ingress.kubernetes.io rules: - apiGroups: - networking.k8s.io apiVersions: - v1 operations: - CREATE - UPDATE resources: - ingresses sideEffects: None --- apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: ingress-nginx-controller-metrics namespace: ingress-nginx spec: endpoints: - interval: 30s port: metrics jobLabel: k8s-app namespaceSelector: matchNames: - ingress-nginx selector: matchLabels: app: ingress-nginx-default component: controller tier: ingress-nginx