Skip to content

Commit 36917f5

Browse files
Merge pull request #1864 from dusk125/rofs
RFE-4153: enabled readonly filesystem
2 parents 05014ca + fce5458 commit 36917f5

File tree

2 files changed

+31
-0
lines changed

2 files changed

+31
-0
lines changed

bindata/assets/kube-apiserver/pod.yaml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ spec:
1919
volumeMounts:
2020
- mountPath: /var/log/kube-apiserver
2121
name: audit-dir
22+
- mountPath: /tmp
23+
name: tmp-dir
2224
command: ['/usr/bin/timeout', '{{.SetupContainerTimeoutDuration}}', '/bin/bash', '-ec']
2325
args:
2426
- |
@@ -60,6 +62,7 @@ spec:
6062
# We cannot hold the lock from the init container to the main container. We release it here. There is no risk, at this point we know we are safe.
6163
flock -u "${LOCK_FD}"
6264
securityContext:
65+
readOnlyRootFilesystem: true
6366
privileged: true
6467
resources:
6568
requests:
@@ -98,6 +101,10 @@ spec:
98101
name: cert-dir
99102
- mountPath: /var/log/kube-apiserver
100103
name: audit-dir
104+
- mountPath: /tmp
105+
name: tmp-dir
106+
- mountPath: /etc/pki/ca-trust/extracted/pem
107+
name: ca-bundle-dir
101108
livenessProbe:
102109
httpGet:
103110
scheme: HTTPS
@@ -146,6 +153,7 @@ spec:
146153
- name: GOGC
147154
value: "{{ .GOGC }}"
148155
securityContext:
156+
readOnlyRootFilesystem: true
149157
privileged: true
150158
- name: kube-apiserver-cert-syncer
151159
env:
@@ -169,11 +177,15 @@ spec:
169177
requests:
170178
memory: 50Mi
171179
cpu: 5m
180+
securityContext:
181+
readOnlyRootFilesystem: true
172182
volumeMounts:
173183
- mountPath: /etc/kubernetes/static-pod-resources
174184
name: resource-dir
175185
- mountPath: /etc/kubernetes/static-pod-certs
176186
name: cert-dir
187+
- mountPath: /tmp
188+
name: tmp-dir
177189
- name: kube-apiserver-cert-regeneration-controller
178190
env:
179191
- name: POD_NAMESPACE
@@ -194,9 +206,13 @@ spec:
194206
requests:
195207
memory: 50Mi
196208
cpu: 5m
209+
securityContext:
210+
readOnlyRootFilesystem: true
197211
volumeMounts:
198212
- mountPath: /etc/kubernetes/static-pod-resources
199213
name: resource-dir
214+
- mountPath: /tmp
215+
name: tmp-dir
200216
- name: kube-apiserver-insecure-readyz
201217
image: {{.OperatorImage}}
202218
imagePullPolicy: IfNotPresent
@@ -211,6 +227,8 @@ spec:
211227
requests:
212228
memory: 50Mi
213229
cpu: 5m
230+
securityContext:
231+
readOnlyRootFilesystem: true
214232
- name: kube-apiserver-check-endpoints
215233
image: {{.OperatorImage}}
216234
imagePullPolicy: IfNotPresent
@@ -241,6 +259,8 @@ spec:
241259
name: resource-dir
242260
- mountPath: /etc/kubernetes/static-pod-certs
243261
name: cert-dir
262+
- mountPath: /tmp
263+
name: tmp-dir
244264
ports:
245265
- name: check-endpoints
246266
hostPort: 17697
@@ -264,6 +284,8 @@ spec:
264284
requests:
265285
memory: 50Mi
266286
cpu: 10m
287+
securityContext:
288+
readOnlyRootFilesystem: true
267289
terminationGracePeriodSeconds: {{.GracefulTerminationDuration}}
268290
hostNetwork: true
269291
priorityClassName: system-node-critical
@@ -279,3 +301,7 @@ spec:
279301
- hostPath:
280302
path: /var/log/kube-apiserver
281303
name: audit-dir
304+
- emptyDir: {}
305+
name: tmp-dir
306+
- emptyDir: {}
307+
name: ca-bundle-dir

manifests/0000_20_kube-apiserver-operator_06_deployment.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ spec:
3535
- name: kube-apiserver-operator
3636
securityContext:
3737
allowPrivilegeEscalation: false
38+
readOnlyRootFilesystem: true
3839
capabilities:
3940
drop: ["ALL"]
4041
image: docker.io/openshift/origin-cluster-kube-apiserver-operator:v4.0
@@ -58,6 +59,8 @@ spec:
5859
- mountPath: /var/run/secrets/kubernetes.io/serviceaccount
5960
name: kube-api-access
6061
readOnly: true
62+
- mountPath: /tmp
63+
name: tmp-dir
6164
env:
6265
- name: IMAGE
6366
value: quay.io/openshift/origin-hyperkube:v4.0
@@ -98,6 +101,8 @@ spec:
98101
apiVersion: v1
99102
fieldPath: metadata.namespace
100103
path: namespace
104+
- name: tmp-dir
105+
emptyDir: {}
101106
nodeSelector:
102107
node-role.kubernetes.io/master: ""
103108
priorityClassName: "system-cluster-critical"

0 commit comments

Comments
 (0)