Skip to content

Commit

Permalink
Canary Deployment feature of Istio #116
Browse files Browse the repository at this point in the history
  • Loading branch information
shubhangis91 authored and Arpit Bansal committed May 4, 2020
1 parent 0abf121 commit 4b12c8d
Show file tree
Hide file tree
Showing 5 changed files with 148 additions and 2 deletions.
13 changes: 13 additions & 0 deletions deployments/destination-rules.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
  name: ui-app
spec:
  host: ui-app
  subsets:
  - name: v1
    labels:
      version: v1
  - name: v2
    labels:
      version: v2
29 changes: 29 additions & 0 deletions deployments/gateway-istio.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: captivate-gateway
spec:
selector:
istio: ingressgateway
servers:
- port:
number: 80
name: http
protocol: HTTP
hosts:
- "*"

---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: api-gateway
spec:
hosts:
- api-gateway
gateways:
- captivate-gateway
http:
- route:
- destination:
host: api-gateway
30 changes: 29 additions & 1 deletion deployments/ui-vm.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: ui-deployment
name: ui-deployment-v1
labels:
version: v1
spec:
replicas: 1
selector:
Expand All @@ -11,10 +13,36 @@ spec:
metadata:
labels:
app: ui-app
version: v1
spec:
containers:
- name: ui
image: adiselv/captivate.ui:0.0.2
imagePullPolicy: Always
ports:
- containerPort: 3000

---
apiVersion: apps/v1
kind: Deployment
metadata:
name: ui-deployment-v2
labels:
version: v2
spec:
replicas: 1
selector:
matchLabels:
app: ui-app
template:
metadata:
labels:
app: ui-app
version: v2
spec:
containers:
- name: ui
image: shubhangis91/captivate-ui-v2:v2.0
imagePullPolicy: Always
ports:
- containerPort: 3000
30 changes: 29 additions & 1 deletion deployments/ui.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,9 @@ spec:
apiVersion: apps/v1
kind: Deployment
metadata:
name: ui-deployment
name: ui-deployment-v1
labels:
version: v1
spec:
replicas: 1
selector:
Expand All @@ -25,6 +27,7 @@ spec:
metadata:
labels:
app: ui-app
version: v1
spec:
containers:
- name: ui
Expand All @@ -33,3 +36,28 @@ spec:
ports:
- containerPort: 3000

---

apiVersion: apps/v1
kind: Deployment
metadata:
name: ui-deployment-v2
labels:
version: v2
spec:
replicas: 1
selector:
matchLabels:
app: ui-app
template:
metadata:
labels:
app: ui-app
version: v2
spec:
containers:
- name: ui
image: shubhangis91/captivate-ui-v2:v2.0
imagePullPolicy: Always
ports:
- containerPort: 3000
48 changes: 48 additions & 0 deletions deployments/virtual-services.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: ui-service
spec:
  hosts: ui-app
  gateways: api-gateway
  http:
  - route:
    - destination:
        host: ui-app
        subset: v1
     weight: 80
    - destination:
        host: ui-app
        subset: v2
     weight: 20
---

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: session-management
spec:
  hosts:
  - session-management
  gateways:
  - captivate-gateway
  http:
  - route:
    - destination:
        host: session-management

---

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: user-management
spec:
  hosts:
  - user-management
  gateways:
  - captivate-gateway
  http:
  - route:
    - destination:
        host: user-management

0 comments on commit 4b12c8d

Please sign in to comment.