Created
March 20, 2017 03:46
-
-
Save zzh8829/fe2e8388a22ec6f2244ccb835b62e07c to your computer and use it in GitHub Desktop.
kubernetes nginx ingress
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| apiVersion: extensions/v1beta1 | |
| kind: Deployment | |
| metadata: | |
| name: default-http-backend | |
| labels: | |
| k8s-app: default-http-backend | |
| namespace: kube-system | |
| spec: | |
| replicas: 1 | |
| template: | |
| metadata: | |
| labels: | |
| k8s-app: default-http-backend | |
| spec: | |
| terminationGracePeriodSeconds: 60 | |
| containers: | |
| - name: default-http-backend | |
| # Any image is permissable as long as: | |
| # 1. It serves a 404 page at / | |
| # 2. It serves 200 on a /healthz endpoint | |
| image: gcr.io/google_containers/defaultbackend:1.0 | |
| livenessProbe: | |
| httpGet: | |
| path: /healthz | |
| port: 8080 | |
| scheme: HTTP | |
| initialDelaySeconds: 30 | |
| timeoutSeconds: 5 | |
| ports: | |
| - containerPort: 8080 | |
| resources: | |
| limits: | |
| cpu: 10m | |
| memory: 20Mi | |
| requests: | |
| cpu: 10m | |
| memory: 20Mi | |
| --- | |
| apiVersion: v1 | |
| kind: Service | |
| metadata: | |
| name: default-http-backend | |
| namespace: kube-system | |
| labels: | |
| k8s-app: default-http-backend | |
| spec: | |
| ports: | |
| - port: 80 | |
| targetPort: 8080 | |
| selector: | |
| k8s-app: default-http-backend | |
| --- | |
| apiVersion: v1 | |
| kind: ConfigMap | |
| metadata: | |
| name: nginx-ingress-controller | |
| namespace: kube-system | |
| data: | |
| hsts-include-subdomains: "false" | |
| --- | |
| apiVersion: extensions/v1beta1 | |
| kind: Deployment | |
| metadata: | |
| name: nginx-ingress-controller | |
| labels: | |
| k8s-app: nginx-ingress-controller | |
| namespace: kube-system | |
| spec: | |
| replicas: 1 | |
| template: | |
| metadata: | |
| labels: | |
| k8s-app: nginx-ingress-controller | |
| spec: | |
| # hostNetwork makes it possible to use ipv6 and to preserve the source IP correctly regardless of docker configuration | |
| # however, it is not a hard dependency of the nginx-ingress-controller itself and it may cause issues if port 10254 already is taken on the host | |
| # that said, since hostPort is broken on CNI (https://github.com/kubernetes/kubernetes/issues/31307) we have to use hostNetwork where CNI is used | |
| # like with kubeadm | |
| hostNetwork: true | |
| terminationGracePeriodSeconds: 60 | |
| containers: | |
| - image: gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.3 | |
| name: nginx-ingress-controller | |
| readinessProbe: | |
| httpGet: | |
| path: /healthz | |
| port: 10254 | |
| scheme: HTTP | |
| livenessProbe: | |
| httpGet: | |
| path: /healthz | |
| port: 10254 | |
| scheme: HTTP | |
| initialDelaySeconds: 10 | |
| timeoutSeconds: 1 | |
| ports: | |
| - containerPort: 80 | |
| hostPort: 80 | |
| - containerPort: 443 | |
| hostPort: 443 | |
| env: | |
| - name: POD_NAME | |
| valueFrom: | |
| fieldRef: | |
| fieldPath: metadata.name | |
| - name: POD_NAMESPACE | |
| valueFrom: | |
| fieldRef: | |
| fieldPath: metadata.namespace | |
| args: | |
| - /nginx-ingress-controller | |
| - --default-backend-service=$(POD_NAMESPACE)/default-http-backend | |
| - --configmap=$(POD_NAMESPACE)/nginx-ingress-controller |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment