Skip to content

Commit c2322ab

Browse files
authored
Merge pull request #35 from kbst/nginxingress
Add nginx ingress as the quickstart's default ingress controller
2 parents 584c8be + db3ceb3 commit c2322ab

File tree

6 files changed

+306
-0
lines changed

6 files changed

+306
-0
lines changed
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
commonAnnotations:
2+
catalog.kubestack.com/heritage: kubestack.com/catalog/nginx
3+
catalog.kubestack.com/variant: base
4+
commonLabels:
5+
app.kubernetes.io/component: ingress-controller
6+
app.kubernetes.io/managed-by: kubestack
7+
app.kubernetes.io/name: nginx
8+
app.kubernetes.io/version: v0.23.0
9+
namespace: ingress-nginx
10+
patches:
11+
- patch-replicas.yaml
12+
resources:
13+
- mandatory.yaml
Lines changed: 265 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,265 @@
1+
apiVersion: v1
2+
kind: Namespace
3+
metadata:
4+
name: ingress-nginx
5+
labels:
6+
app.kubernetes.io/name: ingress-nginx
7+
app.kubernetes.io/part-of: ingress-nginx
8+
9+
---
10+
11+
kind: ConfigMap
12+
apiVersion: v1
13+
metadata:
14+
name: nginx-configuration
15+
namespace: ingress-nginx
16+
labels:
17+
app.kubernetes.io/name: ingress-nginx
18+
app.kubernetes.io/part-of: ingress-nginx
19+
20+
---
21+
kind: ConfigMap
22+
apiVersion: v1
23+
metadata:
24+
name: tcp-services
25+
namespace: ingress-nginx
26+
labels:
27+
app.kubernetes.io/name: ingress-nginx
28+
app.kubernetes.io/part-of: ingress-nginx
29+
30+
---
31+
kind: ConfigMap
32+
apiVersion: v1
33+
metadata:
34+
name: udp-services
35+
namespace: ingress-nginx
36+
labels:
37+
app.kubernetes.io/name: ingress-nginx
38+
app.kubernetes.io/part-of: ingress-nginx
39+
40+
---
41+
apiVersion: v1
42+
kind: ServiceAccount
43+
metadata:
44+
name: nginx-ingress-serviceaccount
45+
namespace: ingress-nginx
46+
labels:
47+
app.kubernetes.io/name: ingress-nginx
48+
app.kubernetes.io/part-of: ingress-nginx
49+
50+
---
51+
apiVersion: rbac.authorization.k8s.io/v1beta1
52+
kind: ClusterRole
53+
metadata:
54+
name: nginx-ingress-clusterrole
55+
labels:
56+
app.kubernetes.io/name: ingress-nginx
57+
app.kubernetes.io/part-of: ingress-nginx
58+
rules:
59+
- apiGroups:
60+
- ""
61+
resources:
62+
- configmaps
63+
- endpoints
64+
- nodes
65+
- pods
66+
- secrets
67+
verbs:
68+
- list
69+
- watch
70+
- apiGroups:
71+
- ""
72+
resources:
73+
- nodes
74+
verbs:
75+
- get
76+
- apiGroups:
77+
- ""
78+
resources:
79+
- services
80+
verbs:
81+
- get
82+
- list
83+
- watch
84+
- apiGroups:
85+
- "extensions"
86+
resources:
87+
- ingresses
88+
verbs:
89+
- get
90+
- list
91+
- watch
92+
- apiGroups:
93+
- ""
94+
resources:
95+
- events
96+
verbs:
97+
- create
98+
- patch
99+
- apiGroups:
100+
- "extensions"
101+
resources:
102+
- ingresses/status
103+
verbs:
104+
- update
105+
106+
---
107+
apiVersion: rbac.authorization.k8s.io/v1beta1
108+
kind: Role
109+
metadata:
110+
name: nginx-ingress-role
111+
namespace: ingress-nginx
112+
labels:
113+
app.kubernetes.io/name: ingress-nginx
114+
app.kubernetes.io/part-of: ingress-nginx
115+
rules:
116+
- apiGroups:
117+
- ""
118+
resources:
119+
- configmaps
120+
- pods
121+
- secrets
122+
- namespaces
123+
verbs:
124+
- get
125+
- apiGroups:
126+
- ""
127+
resources:
128+
- configmaps
129+
resourceNames:
130+
# Defaults to "<election-id>-<ingress-class>"
131+
# Here: "<ingress-controller-leader>-<nginx>"
132+
# This has to be adapted if you change either parameter
133+
# when launching the nginx-ingress-controller.
134+
- "ingress-controller-leader-nginx"
135+
verbs:
136+
- get
137+
- update
138+
- apiGroups:
139+
- ""
140+
resources:
141+
- configmaps
142+
verbs:
143+
- create
144+
- apiGroups:
145+
- ""
146+
resources:
147+
- endpoints
148+
verbs:
149+
- get
150+
151+
---
152+
apiVersion: rbac.authorization.k8s.io/v1beta1
153+
kind: RoleBinding
154+
metadata:
155+
name: nginx-ingress-role-nisa-binding
156+
namespace: ingress-nginx
157+
labels:
158+
app.kubernetes.io/name: ingress-nginx
159+
app.kubernetes.io/part-of: ingress-nginx
160+
roleRef:
161+
apiGroup: rbac.authorization.k8s.io
162+
kind: Role
163+
name: nginx-ingress-role
164+
subjects:
165+
- kind: ServiceAccount
166+
name: nginx-ingress-serviceaccount
167+
namespace: ingress-nginx
168+
169+
---
170+
apiVersion: rbac.authorization.k8s.io/v1beta1
171+
kind: ClusterRoleBinding
172+
metadata:
173+
name: nginx-ingress-clusterrole-nisa-binding
174+
labels:
175+
app.kubernetes.io/name: ingress-nginx
176+
app.kubernetes.io/part-of: ingress-nginx
177+
roleRef:
178+
apiGroup: rbac.authorization.k8s.io
179+
kind: ClusterRole
180+
name: nginx-ingress-clusterrole
181+
subjects:
182+
- kind: ServiceAccount
183+
name: nginx-ingress-serviceaccount
184+
namespace: ingress-nginx
185+
186+
---
187+
188+
apiVersion: apps/v1
189+
kind: Deployment
190+
metadata:
191+
name: nginx-ingress-controller
192+
namespace: ingress-nginx
193+
labels:
194+
app.kubernetes.io/name: ingress-nginx
195+
app.kubernetes.io/part-of: ingress-nginx
196+
spec:
197+
replicas: 1
198+
selector:
199+
matchLabels:
200+
app.kubernetes.io/name: ingress-nginx
201+
app.kubernetes.io/part-of: ingress-nginx
202+
template:
203+
metadata:
204+
labels:
205+
app.kubernetes.io/name: ingress-nginx
206+
app.kubernetes.io/part-of: ingress-nginx
207+
annotations:
208+
prometheus.io/port: "10254"
209+
prometheus.io/scrape: "true"
210+
spec:
211+
serviceAccountName: nginx-ingress-serviceaccount
212+
containers:
213+
- name: nginx-ingress-controller
214+
image: quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.23.0
215+
args:
216+
- /nginx-ingress-controller
217+
- --configmap=$(POD_NAMESPACE)/nginx-configuration
218+
- --tcp-services-configmap=$(POD_NAMESPACE)/tcp-services
219+
- --udp-services-configmap=$(POD_NAMESPACE)/udp-services
220+
- --publish-service=$(POD_NAMESPACE)/ingress-nginx
221+
- --annotations-prefix=nginx.ingress.kubernetes.io
222+
securityContext:
223+
allowPrivilegeEscalation: true
224+
capabilities:
225+
drop:
226+
- ALL
227+
add:
228+
- NET_BIND_SERVICE
229+
# www-data -> 33
230+
runAsUser: 33
231+
env:
232+
- name: POD_NAME
233+
valueFrom:
234+
fieldRef:
235+
fieldPath: metadata.name
236+
- name: POD_NAMESPACE
237+
valueFrom:
238+
fieldRef:
239+
fieldPath: metadata.namespace
240+
ports:
241+
- name: http
242+
containerPort: 80
243+
- name: https
244+
containerPort: 443
245+
livenessProbe:
246+
failureThreshold: 3
247+
httpGet:
248+
path: /healthz
249+
port: 10254
250+
scheme: HTTP
251+
initialDelaySeconds: 10
252+
periodSeconds: 10
253+
successThreshold: 1
254+
timeoutSeconds: 10
255+
readinessProbe:
256+
failureThreshold: 3
257+
httpGet:
258+
path: /healthz
259+
port: 10254
260+
scheme: HTTP
261+
periodSeconds: 10
262+
successThreshold: 1
263+
timeoutSeconds: 10
264+
265+
---
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
apiVersion: apps/v1
2+
kind: Deployment
3+
metadata:
4+
name: nginx-ingress-controller
5+
spec:
6+
replicas: 2
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
bases:
2+
- base/
3+
commonAnnotations:
4+
catalog.kubestack.com/heritage: kubestack.com/catalog/nginx
5+
catalog.kubestack.com/variant: default-ingress
6+
commonLabels:
7+
app.kubernetes.io/component: ingress-controller
8+
app.kubernetes.io/managed-by: kubestack
9+
app.kubernetes.io/name: nginx
10+
app.kubernetes.io/version: v0.23.0
11+
kubestack.com/ingress-default: "true"
12+
namespace: ingress-kbst-default
13+
patchesJson6902:
14+
- target:
15+
version: v1
16+
kind: Namespace
17+
name: ingress-nginx
18+
path: patch-namespace.yaml
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
- op: replace
2+
path: /metadata/name
3+
value: ingress-kbst-default
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
bases:
2+
- ../../bases/nginx-v0.23.0-kbst.1-default-ingress

0 commit comments

Comments
 (0)