apiVersion: apps/v1 kind: Deployment metadata: name: ingress-nginx-controller namespace: ingress-nginx spec: replicas: 1 selector: matchLabels: app.kubernetes.io/name: ingress-nginx app.kubernetes.io/component: controller template: metadata: labels: app.kubernetes.io/name: ingress-nginx app.kubernetes.io/component: controller spec: serviceAccountName: default containers: - name: controller image: registry.k8s.io/ingress-nginx/controller:v1.12.1 args: - /nginx-ingress-controller - --ingress-class=nginx - --controller-class=k8s.io/ingress-nginx - --publish-service=$(POD_NAMESPACE)/ingress-nginx-controller - --election-id=ingress-nginx-leader - --enable-ssl-passthrough env: - name: POD_NAME valueFrom: fieldRef: fieldPath: metadata.name - name: POD_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace ports: - name: http containerPort: 80 - name: https containerPort: 443 securityContext: allowPrivilegeEscalation: true capabilities: add: ["NET_BIND_SERVICE"] drop: ["ALL"] readinessProbe: httpGet: path: /healthz port: 10254 livenessProbe: httpGet: path: /healthz port: 10254 --- apiVersion: v1 kind: Service metadata: name: ingress-nginx-controller namespace: ingress-nginx spec: type: LoadBalancer selector: app.kubernetes.io/name: ingress-nginx app.kubernetes.io/component: controller ports: - name: http port: 80 targetPort: 80 - name: https port: 443 targetPort: 443