mirror of
https://github.com/bvanroll/cicdTest.git
synced 2025-08-28 19:42:41 +00:00
274 lines
5.1 KiB
YAML
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 |