kops/addons/kube-ingress-aws-controller/v1.0.0.yaml

223 lines
4.6 KiB
YAML

---
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: <REGION>
---
apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:
name: skipper-ingress
namespace: kube-system
labels:
component: ingress
spec:
selector:
matchLabels:
component: 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"
# - "-whitelisted-healthcheck-cidr=<CIDR_BLOCK>"
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(\"<body style='color: green; background-color: white;'><h1>Hello!</h1>\") -> <shunt>"
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(\"<body style='color: white; background-color: green;'><h1>Hello AWS!</h1>\") -> <shunt>"
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: "<HOSTNAME>"
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: "<HOSTNAME>"
http:
paths:
- backend:
serviceName: "demo-app-v2"
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: "<HOSTNAME2>"
http:
paths:
- backend:
serviceName: "demo-app-v1"
servicePort: 80
- backend:
serviceName: "demo-app-v2"
servicePort: 80