0

我正在使用 ./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

```

经过详细调查,发现 pod 失败是因为 dnsmasq 容器没有运行:

```

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

4

1 回答 1

1

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

于 2017-05-05T04:35:34.720 回答