| --- |
| # Copyright 2017-present Open Networking Foundation |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| apiVersion: extensions/v1beta1 |
| kind: Deployment |
| metadata: |
| name: nginx-ingress-controller |
| namespace: {{ .Values.global.namespace }} |
| spec: |
| replicas: 1 |
| selector: |
| matchLabels: |
| app: ingress-nginx |
| template: |
| metadata: |
| labels: |
| app: ingress-nginx |
| annotations: |
| prometheus.io/port: '10254' |
| prometheus.io/scrape: 'true' |
| spec: |
| serviceAccountName: nginx-ingress-serviceaccount |
| initContainers: |
| - command: |
| - sh |
| - -c |
| - sysctl -w net.core.somaxconn=32768; sysctl -w net.ipv4.ip_local_port_range="1024 65535" |
| image: alpine:3.6 |
| imagePullPolicy: Always |
| name: sysctl |
| securityContext: |
| privileged: true |
| containers: |
| - name: nginx-ingress-controller |
| image: {{ .Values.global.registry }}{{ .Values.images.ingress_controller.repository }}:{{ tpl .Values.images.ingress_controller.tag . }} |
| imagePullPolicy: {{ .Values.images.ingress_controller.pullPolicy }} |
| args: |
| - /nginx-ingress-controller |
| - --default-backend-service=$(POD_NAMESPACE)/default-http-backend |
| - --configmap=$(POD_NAMESPACE)/nginx-configuration |
| - --tcp-services-configmap=$(POD_NAMESPACE)/tcp-services |
| - --udp-services-configmap=$(POD_NAMESPACE)/udp-services |
| - --annotations-prefix=nginx.ingress.kubernetes.io |
| 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 |
| livenessProbe: |
| failureThreshold: 3 |
| httpGet: |
| path: /healthz |
| port: 10254 |
| scheme: HTTP |
| initialDelaySeconds: 10 |
| periodSeconds: 10 |
| successThreshold: 1 |
| timeoutSeconds: 1 |
| readinessProbe: |
| failureThreshold: 3 |
| httpGet: |
| path: /healthz |
| port: 10254 |
| scheme: HTTP |
| periodSeconds: 10 |
| successThreshold: 1 |
| timeoutSeconds: 1 |