Avatar
Cover

Minikube/Kubernetes CoreDNS Failed to Start

If you encounter this kind of error from Minikube or Kubernetes when it’s going to start :

Listen: listen tcp :53: bind: permission denied

That kind of error might be caused be not enough privilege, one of the solution is to run CoreDNS as a Root, you can do that by changing the coredns.yaml.

Here is the updated coredns.yaml snippet with the runAsUser set to 0:


spec:
  template:
    spec:
      containers:
        - name: coredns
          image: registry.k8s.io/coredns/coredns:v1.11.1
          securityContext:
	          # ↓↓↓ Run as Root ↓↓↓
            runAsUser: 0
            capabilities:
              add:
                - NET_BIND_SERVICE
              drop:
                - ALL
            readOnlyRootFilesystem: true
            allowPrivilegeEscalation: false
          # ... rest of the configuration