mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-03 19:58:17 +00:00 
			
		
		
		
	Merge pull request #82347 from pjbgf/non-root
Harden kube-dns to run with less privileges.
This commit is contained in:
		@@ -105,7 +105,7 @@ spec:
 | 
			
		||||
      labels:
 | 
			
		||||
        k8s-app: kube-dns
 | 
			
		||||
      annotations:
 | 
			
		||||
        seccomp.security.alpha.kubernetes.io/pod: 'docker/default'
 | 
			
		||||
        seccomp.security.alpha.kubernetes.io/pod: 'runtime/default'
 | 
			
		||||
    spec:
 | 
			
		||||
      priorityClassName: system-cluster-critical
 | 
			
		||||
      serviceAccountName: coredns
 | 
			
		||||
 
 | 
			
		||||
@@ -105,7 +105,7 @@ spec:
 | 
			
		||||
      labels:
 | 
			
		||||
        k8s-app: kube-dns
 | 
			
		||||
      annotations:
 | 
			
		||||
        seccomp.security.alpha.kubernetes.io/pod: 'docker/default'
 | 
			
		||||
        seccomp.security.alpha.kubernetes.io/pod: 'runtime/default'
 | 
			
		||||
    spec:
 | 
			
		||||
      priorityClassName: system-cluster-critical
 | 
			
		||||
      serviceAccountName: coredns
 | 
			
		||||
 
 | 
			
		||||
@@ -105,7 +105,7 @@ spec:
 | 
			
		||||
      labels:
 | 
			
		||||
        k8s-app: kube-dns
 | 
			
		||||
      annotations:
 | 
			
		||||
        seccomp.security.alpha.kubernetes.io/pod: 'docker/default'
 | 
			
		||||
        seccomp.security.alpha.kubernetes.io/pod: 'runtime/default'
 | 
			
		||||
    spec:
 | 
			
		||||
      priorityClassName: system-cluster-critical
 | 
			
		||||
      serviceAccountName: coredns
 | 
			
		||||
 
 | 
			
		||||
@@ -82,7 +82,7 @@ spec:
 | 
			
		||||
      labels:
 | 
			
		||||
        k8s-app: kube-dns
 | 
			
		||||
      annotations:
 | 
			
		||||
        seccomp.security.alpha.kubernetes.io/pod: 'docker/default'
 | 
			
		||||
        seccomp.security.alpha.kubernetes.io/pod: 'runtime/default'
 | 
			
		||||
        prometheus.io/port: "10054"
 | 
			
		||||
        prometheus.io/scrape: "true"
 | 
			
		||||
    spec:
 | 
			
		||||
@@ -150,6 +150,11 @@ spec:
 | 
			
		||||
        volumeMounts:
 | 
			
		||||
        - name: kube-dns-config
 | 
			
		||||
          mountPath: /kube-dns-config
 | 
			
		||||
        securityContext:
 | 
			
		||||
          allowPrivilegeEscalation: false
 | 
			
		||||
          readOnlyRootFilesystem: true
 | 
			
		||||
          runAsUser: 1001
 | 
			
		||||
          runAsGroup: 1001
 | 
			
		||||
      - name: dnsmasq
 | 
			
		||||
        image: k8s.gcr.io/k8s-dns-dnsmasq-nanny:1.14.13
 | 
			
		||||
        livenessProbe:
 | 
			
		||||
@@ -190,6 +195,13 @@ spec:
 | 
			
		||||
        volumeMounts:
 | 
			
		||||
        - name: kube-dns-config
 | 
			
		||||
          mountPath: /etc/k8s/dns/dnsmasq-nanny
 | 
			
		||||
        securityContext:
 | 
			
		||||
          capabilities:
 | 
			
		||||
            drop:
 | 
			
		||||
              - all
 | 
			
		||||
            add:
 | 
			
		||||
              - NET_BIND_SERVICE
 | 
			
		||||
              - SETGID
 | 
			
		||||
      - name: sidecar
 | 
			
		||||
        image: k8s.gcr.io/k8s-dns-sidecar:1.14.13
 | 
			
		||||
        livenessProbe:
 | 
			
		||||
@@ -214,5 +226,10 @@ spec:
 | 
			
		||||
          requests:
 | 
			
		||||
            memory: 20Mi
 | 
			
		||||
            cpu: 10m
 | 
			
		||||
        securityContext:
 | 
			
		||||
          allowPrivilegeEscalation: false
 | 
			
		||||
          readOnlyRootFilesystem: true
 | 
			
		||||
          runAsUser: 1001
 | 
			
		||||
          runAsGroup: 1001
 | 
			
		||||
      dnsPolicy: Default  # Don't use cluster DNS.
 | 
			
		||||
      serviceAccountName: kube-dns
 | 
			
		||||
 
 | 
			
		||||
@@ -82,7 +82,7 @@ spec:
 | 
			
		||||
      labels:
 | 
			
		||||
        k8s-app: kube-dns
 | 
			
		||||
      annotations:
 | 
			
		||||
        seccomp.security.alpha.kubernetes.io/pod: 'docker/default'
 | 
			
		||||
        seccomp.security.alpha.kubernetes.io/pod: 'runtime/default'
 | 
			
		||||
        prometheus.io/port: "10054"
 | 
			
		||||
        prometheus.io/scrape: "true"
 | 
			
		||||
    spec:
 | 
			
		||||
@@ -150,6 +150,11 @@ spec:
 | 
			
		||||
        volumeMounts:
 | 
			
		||||
        - name: kube-dns-config
 | 
			
		||||
          mountPath: /kube-dns-config
 | 
			
		||||
        securityContext:
 | 
			
		||||
          allowPrivilegeEscalation: false
 | 
			
		||||
          readOnlyRootFilesystem: true
 | 
			
		||||
          runAsUser: 1001
 | 
			
		||||
          runAsGroup: 1001
 | 
			
		||||
      - name: dnsmasq
 | 
			
		||||
        image: k8s.gcr.io/k8s-dns-dnsmasq-nanny:1.14.13
 | 
			
		||||
        livenessProbe:
 | 
			
		||||
@@ -190,6 +195,13 @@ spec:
 | 
			
		||||
        volumeMounts:
 | 
			
		||||
        - name: kube-dns-config
 | 
			
		||||
          mountPath: /etc/k8s/dns/dnsmasq-nanny
 | 
			
		||||
        securityContext:
 | 
			
		||||
          capabilities:
 | 
			
		||||
            drop:
 | 
			
		||||
              - all
 | 
			
		||||
            add:
 | 
			
		||||
              - NET_BIND_SERVICE
 | 
			
		||||
              - SETGID
 | 
			
		||||
      - name: sidecar
 | 
			
		||||
        image: k8s.gcr.io/k8s-dns-sidecar:1.14.13
 | 
			
		||||
        livenessProbe:
 | 
			
		||||
@@ -214,5 +226,10 @@ spec:
 | 
			
		||||
          requests:
 | 
			
		||||
            memory: 20Mi
 | 
			
		||||
            cpu: 10m
 | 
			
		||||
        securityContext:
 | 
			
		||||
          allowPrivilegeEscalation: false
 | 
			
		||||
          readOnlyRootFilesystem: true
 | 
			
		||||
          runAsUser: 1001
 | 
			
		||||
          runAsGroup: 1001
 | 
			
		||||
      dnsPolicy: Default  # Don't use cluster DNS.
 | 
			
		||||
      serviceAccountName: kube-dns
 | 
			
		||||
 
 | 
			
		||||
@@ -82,7 +82,7 @@ spec:
 | 
			
		||||
      labels:
 | 
			
		||||
        k8s-app: kube-dns
 | 
			
		||||
      annotations:
 | 
			
		||||
        seccomp.security.alpha.kubernetes.io/pod: 'docker/default'
 | 
			
		||||
        seccomp.security.alpha.kubernetes.io/pod: 'runtime/default'
 | 
			
		||||
        prometheus.io/port: "10054"
 | 
			
		||||
        prometheus.io/scrape: "true"
 | 
			
		||||
    spec:
 | 
			
		||||
@@ -150,6 +150,11 @@ spec:
 | 
			
		||||
        volumeMounts:
 | 
			
		||||
        - name: kube-dns-config
 | 
			
		||||
          mountPath: /kube-dns-config
 | 
			
		||||
        securityContext:
 | 
			
		||||
          allowPrivilegeEscalation: false
 | 
			
		||||
          readOnlyRootFilesystem: true
 | 
			
		||||
          runAsUser: 1001
 | 
			
		||||
          runAsGroup: 1001
 | 
			
		||||
      - name: dnsmasq
 | 
			
		||||
        image: k8s.gcr.io/k8s-dns-dnsmasq-nanny:1.14.13
 | 
			
		||||
        livenessProbe:
 | 
			
		||||
@@ -190,6 +195,13 @@ spec:
 | 
			
		||||
        volumeMounts:
 | 
			
		||||
        - name: kube-dns-config
 | 
			
		||||
          mountPath: /etc/k8s/dns/dnsmasq-nanny
 | 
			
		||||
        securityContext:
 | 
			
		||||
          capabilities:
 | 
			
		||||
            drop:
 | 
			
		||||
              - all
 | 
			
		||||
            add:
 | 
			
		||||
              - NET_BIND_SERVICE
 | 
			
		||||
              - SETGID
 | 
			
		||||
      - name: sidecar
 | 
			
		||||
        image: k8s.gcr.io/k8s-dns-sidecar:1.14.13
 | 
			
		||||
        livenessProbe:
 | 
			
		||||
@@ -214,5 +226,10 @@ spec:
 | 
			
		||||
          requests:
 | 
			
		||||
            memory: 20Mi
 | 
			
		||||
            cpu: 10m
 | 
			
		||||
        securityContext:
 | 
			
		||||
          allowPrivilegeEscalation: false
 | 
			
		||||
          readOnlyRootFilesystem: true
 | 
			
		||||
          runAsUser: 1001
 | 
			
		||||
          runAsGroup: 1001
 | 
			
		||||
      dnsPolicy: Default  # Don't use cluster DNS.
 | 
			
		||||
      serviceAccountName: kube-dns
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user