Skip to content

Instantly share code, notes, and snippets.

apiVersion: apps/v1
kind: Deployment
metadata:
name: hello-green-whale
spec:
replicas: 5
selector:
matchLabels:
app: hello-whale-app
version: green
apiVersion: apps/v1
kind: Deployment
metadata:
name: hello-whale-blue
spec:
replicas: 5
selector:
matchLabels:
app: hello-whale-app
template:
apiVersion: v1
kind: Service
metadata:
name: hello-whale-svc
labels:
app: hello-whale-app
spec:
selector:
app: hello-whale-app
type: NodePort
apiVersion: apps/v1
kind: Deployment
metadata:
name: hello-whale-green
spec:
replicas: 5
selector:
matchLabels:
app: hello-whale-app
template:
apiVersion: apps/v1
kind: Deployment
metadata:
name: hello-whale-blue
spec:
replicas: 5
selector:
matchLabels:
app: hello-whale-app
template:
apiVersion: v1
kind: Service
metadata:
name: hello-whale-blue-svc
labels:
app: hello-whale-app
version: blue
spec:
selector:
app: hello-whale-app
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: blue-ingress
spec:
rules:
- host: hello.whale
http:
paths:
- backend:
apiVersion: apps/v1
kind: Deployment
metadata:
name: hello-whale-green
spec:
replicas: 5
selector:
matchLabels:
app: hello-whale-app
template:
apiVersion: v1
kind: Service
metadata:
name: hello-whale-green-svc
labels:
app: hello-whale-app
version: green
spec:
selector:
app: hello-whale-app
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
annotations:
nginx.ingress.kubernetes.io/canary: "true"
nginx.ingress.kubernetes.io/canary-weight: "20"
name: green-ingress
spec:
rules:
- host: hello.whale