--- apiVersion: apps/v1beta1 kind: Deployment metadata: name: kube-ingress-aws-controller namespace: kube-system labels: application: kube-ingress-aws-controller component: ingress spec: replicas: 1 selector: matchLabels: application: kube-ingress-aws-controller component: ingress template: metadata: labels: application: kube-ingress-aws-controller component: ingress spec: containers: - name: controller image: registry.opensource.zalan.do/teapot/kube-ingress-aws-controller:latest env: - name: AWS_REGION value: --- apiVersion: extensions/v1beta1 kind: DaemonSet metadata: name: skipper-ingress namespace: kube-system labels: component: ingress spec: selector: matchLabels: application: skipper-ingress updateStrategy: type: RollingUpdate template: metadata: name: skipper-ingress labels: component: ingress spec: hostNetwork: true containers: - name: skipper-ingress image: registry.opensource.zalan.do/pathfinder/skipper:latest ports: - name: ingress-port containerPort: 9999 hostPort: 9999 args: - "skipper" - "-kubernetes" - "-kubernetes-in-cluster" - "-address=:9999" - "-proxy-preserve-host" - "-serve-host-metrics" - "-enable-ratelimits" - "-experimental-upgrade" - "-metrics-exp-decay-sample" - "-kubernetes-https-redirect=true" resources: limits: cpu: 200m memory: 200Mi requests: cpu: 25m memory: 25Mi readinessProbe: httpGet: path: /kube-system/healthz port: 9999 initialDelaySeconds: 5 timeoutSeconds: 5 --- apiVersion: apps/v1beta1 kind: Deployment metadata: name: demo-app-v1 spec: replicas: 1 template: metadata: labels: application: demo version: v1 spec: containers: - name: skipper-demo image: registry.opensource.zalan.do/pathfinder/skipper:latest args: - "skipper" - "-inline-routes" - "* -> inlineContent(\"

Hello!

\") -> " ports: - containerPort: 9090 --- apiVersion: apps/v1beta1 kind: Deployment metadata: name: demo-app-v2 spec: replicas: 1 template: metadata: labels: application: demo version: v2 spec: containers: - name: skipper-demo image: registry.opensource.zalan.do/pathfinder/skipper:latest args: - "skipper" - "-inline-routes" - "* -> inlineContent(\"

Hello AWS!

\") -> " ports: - containerPort: 9090 --- apiVersion: v1 kind: Service metadata: name: demo-app-v1 labels: application: demo version: v1 spec: type: ClusterIP ports: - port: 80 protocol: TCP targetPort: 9090 name: external selector: application: demo version: v1 --- apiVersion: v1 kind: Service metadata: name: demo-app-v2 labels: application: demo version: v2 spec: type: ClusterIP ports: - port: 80 protocol: TCP targetPort: 9090 name: external selector: application: demo version: v2 --- apiVersion: extensions/v1beta1 kind: Ingress metadata: name: "demo-v1" labels: application: demo spec: rules: - host: "" http: paths: - backend: serviceName: "demo-app-v1" servicePort: 80 --- apiVersion: extensions/v1beta1 kind: Ingress metadata: name: "demo-feature-toggle" labels: application: demo annotations: zalando.org/skipper-predicate: QueryParam("version", "^v2$") zalando.org/skipper-filter: ratelimit(2, "1m") spec: rules: - host: "" http: paths: - backend: serviceName: "demo-app-v1" servicePort: 80 --- apiVersion: extensions/v1beta1 kind: Ingress metadata: name: "demo-traffic-switching" labels: application: demo annotations: zalando.org/backend-weights: | {"demo-app-v1": 80, "demo-app-v2": 20} spec: rules: - host: "" http: paths: - backend: serviceName: "demo-app-v1" servicePort: 80 - backend: serviceName: "demo-app-v2" servicePort: 80