0

我已经制作了一个 ACS 实例。

az acs create --orchestrator-type=kubernetes \
          --resource-group $group \
          --name $k8s_name \
          --dns-prefix $kubernetes_server \
          --generate-ssh-keys

az acs kubernetes get-credentials --resource-group $group --name $k8s_name

并运行helm init它已配置好分蘖荚。然后我运行helm install stable/redis并启动并运行了一个 redis 部署(似乎)。

我可以kube exec -it进入 redis pod,并且可以看到它已绑定并且可以使用and0.0.0.0登录,但不能 (从.)redis-cli -h localhostredis-cli -h <pod_ip>redis-cli -h <service_ip>kubectl get svc

kube 仪表板

如果我运行另一个 pod(这就是我遇到这个问题的方式),我可以ping redis.default并且它显示 DNS 解析到正确的服务 IP,但没有给出响应。当我telnet <service_ip> 6379redis-cli -h <service_ip>它无限期挂起。

壳

我对如何进一步调试有点茫然。我无法通过 ssh 进入节点以查看 docker 在做什么。

此外,我最初使用标准的 Alphine-Redis 映像进行了尝试,因此 helm 是一个后备。我昨天试过了,掌舵的可以用,但是手动的不行。今天这样做(在一个新建的 ACS 集群上)它根本不工作。

我将再次启动集群以查看其是否稳定复制,但我非常有信心正在发生一些可疑的事情。

PS - 我在不同区域有一个具有重叠子网 10.0.0.0/16 的 VNet,当我进入地址范围时,我确实收到警告说存在冲突,这会影响它吗?

<EDIT>

一些新的见解......这与基于高山的图像有关(我们一直致力于使用)......

所以kube run a --image=nginx(这是基于 ubuntu 的),我可以安装 telnet 并连接到 redis 服务。

但是,例如kubectl run c --image=rlesouef/alpine-redis然后shell in,并且telnet 不适用于相同的redis 服务。

</EDIT>

4

1 回答 1

2

最近修复了一个类似的问题https://github.com/Azure/acs-engine/issues/539 。要验证的一件事是检查 nslookup 是否在容器中工作。

于 2017-04-28T17:32:33.330 回答