You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

133 lines
2.8 KiB

apiVersion: v1
kind: Namespace
metadata:
labels:
kubernetes.io/metadata.name: kiosk-app
name: kiosk-app
spec:
finalizers:
- kubernetes
---
apiVersion: v1
kind: ConfigMap
metadata:
name: haproxy
namespace: kiosk-app
data:
haproxy.cfg: |
global
log stdout format raw local0
maxconn 4000
defaults
mode http
log global
option dontlognull
option redispatch
retries 3
timeout http-request 10s
timeout queue 1m
timeout connect 10s
timeout client 1m
timeout server 1m
timeout http-keep-alive 10s
timeout check 10s
maxconn 3000
frontend webserver
bind 0.0.0.0:8080
acl main_service_failed nbsrv(appserver_main) le 0
use_backend appserver_backup if main_service_failed
default_backend appserver_main
backend appserver_main
http-request set-header Host ipinfo.io
balance roundrobin
# 34.117.186.192 is one of the IP Addresses serving the website "ipinfo.io"
server svc-main1 34.117.186.192:80 check
backend appserver_backup
http-request set-header Host kiosk-app.kiosk-app.svc.cluster.local
balance roundrobin
server svc-backup1 kiosk-app:5000 check
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: haproxy
namespace: kiosk-app
spec:
replicas: 1
selector:
matchLabels:
app: haproxy
template:
metadata:
labels:
app: haproxy
spec:
containers:
- name: haproxy
image: haproxy:latest
volumeMounts:
- name: config-volume
mountPath: /usr/local/etc/haproxy/haproxy.cfg
subPath: haproxy.cfg
ports:
- containerPort: 8080
volumes:
- name: config-volume
configMap:
name: haproxy
---
apiVersion: v1
kind: Service
metadata:
name: haproxy
namespace: kiosk-app
spec:
type: ClusterIP
ipFamilies:
- IPv4
ipFamilyPolicy: SingleStack
clusterIP: 10.43.191.230
ports:
- port: 80
protocol: TCP
targetPort: 8080
selector:
app: haproxy
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: kiosk-app
namespace: kiosk-app
spec:
replicas: 1
selector:
matchLabels:
app: kiosk-app
template:
metadata:
labels:
app: kiosk-app
spec:
containers:
- name: kiosk-app
image: quay.io/nmasse_itix/kiosk-app:latest
ports:
- containerPort: 5000
---
apiVersion: v1
kind: Service
metadata:
name: kiosk-app
namespace: kiosk-app
spec:
type: ClusterIP
ports:
- port: 5000
targetPort: 5000
selector:
app: kiosk-app