错误:容器" dnsmasq"是不健康的,它将在kubernetes中运行本地集群时被杀死并重新创建

时间:2017-04-19 08:46:06

标签: dns kubernetes kubernetes-health-check

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

```

# 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个容器正在运行:

```

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

```

经过详细调查后发现,由于dnsmasq容器没有运行,因此pod失败了:

```

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服务没有端点,不知道为什么会这样吗?

1 个答案:

答案 0 :(得分:1)

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