kube/testapp/srv/srv-v1-istio.yaml
2019-08-07 00:42:25 +02:00

118 lines
2.2 KiB
YAML

apiVersion: v1
kind: ServiceAccount
metadata:
name: testapp-srv
namespace: default
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: testapp-srv
labels:
app: testapp-srv
version: v1
spec:
replicas: 3
selector:
matchLabels:
app: testapp-srv
version: v1
template:
metadata:
labels:
app: testapp-srv
version: v1
spec:
serviceAccountName: testapp-srv
containers:
- name: srv
image: 127.0.0.1:5000/testapp/srv:v1
resources:
limits:
cpu: 100m
memory: 128Mi
requests:
cpu: 100m
memory: 64Mi
imagePullPolicy: Always
ports:
- containerPort: 8080
---
apiVersion: v1
kind: Service
metadata:
name: testapp-srv
labels:
app: testapp-srv
spec:
type: ClusterIP
ports:
- name: http
port: 8080
selector:
app: testapp-srv
---
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: testapp-srv
spec:
selector:
istio: ingressgateway
servers:
- port:
number: 80
name: http
protocol: HTTP
hosts:
- "k8s-testapp.example.com"
- port:
number: 443
name: https
protocol: HTTPS
hosts:
- "k8s-testapp.example.com"
tls:
mode: SIMPLE
serverCertificate: "sds"
privateKey: "sds"
credentialName: "k8s-testapp-cert"
minProtocolVersion: 3 #TLSv1_2
cipherSuites:
- ECDHE-RSA-CHACHA20-POLY1305
- ECDHE-RSA-AES256-GCM-SHA384
- ECDHE-RSA-AES128-GCM-SHA256
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: testapp-srv
spec:
gateways:
- testapp-srv
hosts:
- "k8s-testapp.example.com"
http:
- match:
- port: 80
uri:
prefix: "/.well-known/acme-challenge"
route:
- destination:
port:
number: 8089
host: k8s-testapp-cert.istio-system.svc.cluster.local
- match:
- port: 80
route:
- destination:
port:
number: 80
host: redirect.redirect.svc.cluster.local
- match:
- port: 443
route:
- destination:
port:
number: 8080
host: testapp-srv.default.svc.cluster.local