Files
cicdTest/testing-deploy.yaml
2020-03-12 07:25:45 +01:00

274 lines
5.1 KiB
YAML

---
apiVersion: v1
kind: Namespace
metadata:
name: istio-project-1
labels:
istio-injection: enabled #zorgt voor auto sidecar injection
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: server-a
namespace: istio-project-1
spec:
replicas: 1
selector:
matchLabels:
server: "http"
app: "project-1" #app label bepaald groepering pods in kiali dashboard dus makkelijker te gebruiken
expose: "true"
template:
metadata:
labels:
server: "http"
app: "project-1"
expose: "true"
spec:
containers:
- name: front-end
image: beppev/server-a:master
imagePullPolicy: "Always"
ports:
- containerPort: 5000
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: server-b
namespace: istio-project-1
spec:
replicas: 1
selector:
matchLabels:
server: "http"
app: "project-1"
version: v1
backend: "true"
template:
metadata:
labels:
server: "http"
app: "project-1"
version: v1
backend: "true"
spec:
containers:
- name: front-end
image: beppev/server-b:master
imagePullPolicy: "Always"
ports:
- containerPort: 6000
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: server-b-test
namespace: istio-project-1
spec:
replicas: 1
selector:
matchLabels:
server: "http"
app: "project-1"
version: v2
backend: "true"
template:
metadata:
labels:
server: "http"
app: "project-1"
version: v2
backend: "true"
spec:
containers:
- name: front-end
image: beppev/server-b:experimental
imagePullPolicy: "Always"
ports:
- containerPort: 6000
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: server-d
namespace: istio-project-1
spec:
replicas: 1
selector:
matchLabels:
app: "project-1"
mirror: "true"
template:
metadata:
labels:
app: "project-1"
mirror: "true"
spec:
containers:
- name: front-end
image: beppev/server-d:master
ports:
- containerPort: 6000
---
apiVersion: v1
kind: Service
metadata:
name: mirror-service
namespace: istio-project-1
labels:
app: "project-1"
spec:
selector:
mirror: "true"
ports:
- name: http
protocol: TCP
port: 6000
---
apiVersion: v1
kind: Service
metadata:
name: server-check
namespace: istio-project-1
labels:
app: "project-1"
spec:
selector:
backend: "true"
ports:
- name: http
protocol: TCP
port: 6000
---
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
name: server-check-destination
namespace: istio-project-1
labels:
app: "project-1"
spec:
host: server-check
subsets:
- name: v1
labels:
version: v1
- name: v2
labels:
version: v2
---
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: expose-server-gateway
namespace: istio-project-1
labels:
app: "project-1"
spec:
selector:
istio: ingressgateway
servers:
- port:
number: 80
name: http
protocol: HTTP
hosts:
- "*"
---
apiVersion: v1
kind: Service
metadata:
name: expose-server-service
namespace: istio-project-1
labels:
app: "project-1"
spec:
ports:
- name: http
port: 5000
protocol: TCP
selector:
expose: "true"
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: expose-server-vservice
namespace: istio-project-1
labels:
app: "project-1"
spec:
hosts:
- "*"
gateways:
- expose-server-gateway
http:
- match:
- uri:
prefix: /server-a
route:
- destination:
port:
number: 5000
host: expose-server-service
- match:
- uri:
prefix: /server-d
route:
- destination:
port:
number: 7000
host: mirror-service
--- # TODO fix gateway zodat we ingress gateway kunnen gebruike ipv de fuken loadbalancer.
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: server-check-gateway
namespace: istio-project-1
labels:
app: "project-1"
spec:
selector:
expose: "true"
servers:
- port:
number: 6000
name: http
protocol: HTTP
hosts:
- "*"
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: server-check-service
namespace: istio-project-1
labels:
app: "project-1"
spec:
hosts:
- "*"
gateways:
- expose-server-gateway
tcp:
- match:
- port: 6000
route:
- destination:
host: server-check
port:
number: 6000
subset: v1
weight: 50
- destination:
host: server-check
port:
number: 6000
subset: v2
weight: 50
mirror:
host: mirror-service
port:
number: 6000
mirror_percent: 100