Prepare for Kubernetes deployment
This commit is contained in:
+8
-2
@@ -2,14 +2,20 @@ server {
|
||||
listen 80;
|
||||
server_name localhost;
|
||||
|
||||
access_log /log/access.log combined;
|
||||
error_log /log/error.log error;
|
||||
access_log /dev/stdout combined;
|
||||
error_log /dev/stdout info;
|
||||
|
||||
location / {
|
||||
root /usr/share/nginx/html;
|
||||
index index.html index.htm;
|
||||
}
|
||||
|
||||
location /health {
|
||||
add_header Content-Type text/plain;
|
||||
access_log off;
|
||||
return 200 'Ok';
|
||||
}
|
||||
|
||||
error_page 500 502 503 504 /50x.html;
|
||||
location = /50x.html {
|
||||
root /usr/share/nginx/html;
|
||||
|
||||
@@ -0,0 +1,65 @@
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: unbound-site
|
||||
labels:
|
||||
app: unbound-site
|
||||
annotations:
|
||||
kubernetes.io/change-cause: "${TIMESTAMP} Deployed commit id: ${COMMIT}"
|
||||
spec:
|
||||
replicas: 2
|
||||
strategy:
|
||||
type: RollingUpdate
|
||||
rollingUpdate:
|
||||
maxSurge: 1
|
||||
maxUnavailable: 1
|
||||
minReadySeconds: 30
|
||||
selector:
|
||||
matchLabels:
|
||||
app: unbound-site
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: unbound-site
|
||||
spec:
|
||||
affinity:
|
||||
podAntiAffinity:
|
||||
preferredDuringSchedulingIgnoredDuringExecution:
|
||||
- weight: 100
|
||||
podAffinityTerm:
|
||||
labelSelector:
|
||||
matchExpressions:
|
||||
- key: "app"
|
||||
operator: In
|
||||
values:
|
||||
- unbound-site
|
||||
topologyKey: kubernetes.io/hostname
|
||||
containers:
|
||||
- name: unbound-site
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: /health
|
||||
port: 80
|
||||
initialDelaySeconds: 5
|
||||
periodSeconds: 5
|
||||
timeoutSeconds: 5
|
||||
imagePullPolicy: Always
|
||||
image: registry.gitlab.com/unboundsoftware/unbound-site:${COMMIT}
|
||||
ports:
|
||||
- containerPort: 80
|
||||
|
||||
---
|
||||
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: unbound-site
|
||||
labels:
|
||||
app: unbound-site
|
||||
spec:
|
||||
type: NodePort
|
||||
selector:
|
||||
app: unbound-site
|
||||
ports:
|
||||
- port: 80
|
||||
targetPort: 80
|
||||
@@ -0,0 +1,16 @@
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: unbound-site-ingress
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: "nginx"
|
||||
ingress.kubernetes.io/enable-cors: "true"
|
||||
spec:
|
||||
rules:
|
||||
- host: "local-unbound.unbound.se"
|
||||
http:
|
||||
paths:
|
||||
- path: /
|
||||
backend:
|
||||
serviceName: unbound-site
|
||||
servicePort: 80
|
||||
@@ -0,0 +1,17 @@
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: unbound-site-ingress
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: "nginx"
|
||||
ingress.kubernetes.io/enable-cors: "true"
|
||||
ingress.kubernetes.io/force-ssl-redirect: "true"
|
||||
spec:
|
||||
rules:
|
||||
- host: "unbound.se"
|
||||
http:
|
||||
paths:
|
||||
- path: /
|
||||
backend:
|
||||
serviceName: unbound-site
|
||||
servicePort: 80
|
||||
Reference in New Issue
Block a user