Error: container "dnsmasq" is unhealthy, it will be killed and re-created while running local cluster in kubernetes

Error: container "dnsmasq" is unhealthy, it will be killed and re-created while running local cluster in kubernetes

我正在使用 ./hack/local-up-cluster.sh 脚本 运行ning Kubernetes 本地集群。现在,当我的防火墙关闭时,kube-dns 中的所有容器都是 运行ning:

```

# cluster/kubectl.sh get pods --all-namespaces
NAMESPACE     NAME                       READY     STATUS    RESTARTS   AGE
kube-system   kube-dns-73328275-87g4d   3/3       Running   0          45s

```

但是当防火墙打开时,我只能看到 2 个容器 运行ning:

```

 # cluster/kubectl.sh get pods --all-namespaces
NAMESPACE     NAME                       READY     STATUS    RESTARTS   AGE
kube-system   kube-dns-806549836-49v7d   2/3       Running   0          45s

```

详细调查后,发现 pod 失败是因为 dnsmasq 容器不是 运行ning:

```

7m      7m      1   kubelet, 127.0.0.1  spec.containers{dnsmasq}    Normal      Killing         Killing container with id docker://41ef024a0610463e04607665276bb64e07f589e79924e3521708ca73de33142c:pod "kube-dns-806549836-49v7d_kube-system(d5729c5c-24da-11e7-b166-52540083b23a)" container "dnsmasq" is unhealthy, it will be killed and re-created.

```

你能帮我看看如何 运行 dnsmasq 容器打开防火墙,我到底需要更改什么? TIA.

原来我的 kube-dns 服务没有端点,知道为什么吗?

您可以在启动集群之前关闭 iptables( iptables -F ),它可以解决您的问题。