Basic nginx ingress + LB (auto-provisioned & managed by GKE) routing example
Place yaml files in a dir and run kubectl apply -f .
| apiVersion: apps/v1 | |
| kind: Deployment | |
| metadata: | |
| name: hello-server | |
| spec: | |
| replicas: 2 | |
| selector: | |
| matchLabels: | |
| app: hello-server-app | |
| template: | |
| metadata: | |
| labels: | |
| app: hello-server-app | |
| spec: | |
| containers: | |
| - name: hello-server | |
| image: gcr.io/google-samples/hello-app:1.0 | |
| ports: | |
| - containerPort: 8080 | |
| env: | |
| - name: PORT | |
| value: "8080" | |
| --- | |
| apiVersion: apps/v1 | |
| kind: Deployment | |
| metadata: | |
| name: hello-plain-text | |
| spec: | |
| replicas: 2 | |
| selector: | |
| matchLabels: | |
| app: hello-plain-text | |
| template: | |
| metadata: | |
| labels: | |
| app: hello-plain-text | |
| spec: | |
| containers: | |
| - name: hello-plain-text | |
| image: nginxdemos/hello:plain-text | |
| ports: | |
| - containerPort: 80 |
Basic nginx ingress + LB (auto-provisioned & managed by GKE) routing example
Place yaml files in a dir and run kubectl apply -f .
| apiVersion: extensions/v1beta1 | |
| kind: Ingress | |
| metadata: | |
| name: p8-ingress-nginx | |
| annotations: | |
| # use the shared ingress-nginx | |
| kubernetes.io/ingress.class: "nginx" | |
| nginx.ingress.kubernetes.io/use-regex: "true" | |
| spec: | |
| rules: | |
| - http: | |
| paths: | |
| - path: / | |
| backend: | |
| serviceName: hello-server | |
| servicePort: 8081 | |
| - path: /plain/[A-Z0-9]{3}/abc | |
| backend: | |
| serviceName: hello-plain-text | |
| servicePort: 80 |
| apiVersion: v1 | |
| kind: Service | |
| metadata: | |
| name: hello-server | |
| spec: | |
| selector: | |
| app: hello-server-app | |
| ports: | |
| - port: 8081 | |
| targetPort: 8080 | |
| --- | |
| apiVersion: v1 | |
| kind: Service | |
| metadata: | |
| name: hello-plain-text | |
| spec: | |
| selector: | |
| app: hello-plain-text | |
| ports: | |
| - port: 80 | |
| targetPort: 80 | |