-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathnginx-reloader.yml
More file actions
144 lines (127 loc) · 3.53 KB
/
nginx-reloader.yml
File metadata and controls
144 lines (127 loc) · 3.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
apiVersion: apps/v1
kind: Deployment
metadata:
name: hot-reloader-nginx
labels:
app: nginx
spec:
replicas: 1
selector:
matchLabels:
app: hot-reloader-nginx
template:
metadata:
name: hot-reloader-nginx
labels:
app: hot-reloader-nginx
spec:
shareProcessNamespace: true
terminationGracePeriodSeconds: 30
containers:
- name: nginx
image: nginx:latest
imagePullPolicy: Always
ports:
- containerPort: 80
volumeMounts:
- name: nginx-main-config-volume
mountPath: /etc/nginx/nginx.conf
subPath: nginx.conf
- name: nginx-cd-configmap-volume
mountPath: /etc/nginx/conf.d/cd
- name: nginx-ci-configmap-volume
mountPath: /etc/nginx/conf.d/ci
- name: nginx-reloader
image: crushed/nginx-reloader:latest
imagePullPolicy: Always
env:
- name: TIME_AFTER_SECONDS
value: "10"
- name: WATCH_DIRS
value: "/etc/nginx,/etc/nginx/conf.d"
volumes:
- name: nginx-main-config-volume
configMap:
name: nginx-main-configmap
- name: nginx-cd-configmap-volume
configMap:
name: nginx-cd-configmap
- name: nginx-ci-configmap-volume
configMap:
name: nginx-ci-configmap
---
# https://github.com/kubernetes/examples/blob/master/staging/https-nginx/auto-reload-nginx.sh
apiVersion: v1
kind: ConfigMap
metadata:
name: nginx-main-configmap
data:
nginx.conf: |
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log notice;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/**/*.conf;
}
---
apiVersion: v1
kind: ConfigMap
metadata:
name: nginx-cd-configmap
data:
nginx.conf: |
server {
listen 8080;
listen [::]:8080;
server_name localhost;
#access_log /var/log/nginx/host.access.log main;
location / {
default_type application/json;
return 200 "Hello 8080, World!1";
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
---
apiVersion: v1
kind: ConfigMap
metadata:
name: nginx-ci-configmap
data:
ci.conf: |
server {
listen 8081;
listen [::]:8081;
server_name localhost;
#access_log /var/log/nginx/host.access.log main;
location / {
default_type application/json;
return 200 "Hello 8081, World!1";
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}