我们遇到了一个问题,我们有 2 个服务正在运行; auth-api 和 rabbit-mq。 从 auth-ui pod 中,我们试图让它找到 rabbit-mq pod,以便它可以从队列中读取。
当我们使用简短的 DNS 名称时: rabbitmq-master
,我收到以下错误;
kubectl exec auth-api-jf2ec -i nslookup rabbitmq-master
nslookup: can't resolve '(null)': Name does not resolve
nslookup: can't resolve 'rabbitmq-master': Try again
error: error executing remote command: Error executing command in container: Error executing in Docker Container: 1
如果我使用完整的 DNS 名称: rabbitmq-master.default.svc.cluster.local
,它可以正常工作:
kubectl exec auth-api-jf2ec -i nslookup rabbitmq-master.default.svc.cluster.local
Name: rabbitmq-master.default.svc.cluster.local
Address 1: 10.0.61.158 ip-10-0-61-158.eu-west-1.compute.internal
nslookup: can't resolve '(null)': Name does not resolve
所以我们可以只使用完整的 DNS,但这意味着我们需要为我们想要使用的每个客户命名空间更改我们的部署脚本。
我检查了我们的集群,kube-dns pod 已启动并正在运行。
$ k get --all-namespaces pods
NAMESPACE NAME READY STATUS RESTARTS AGE
default auth-api-jf2ec 1/1 Running 0 15h
default rabbitmq-master-6yu3o 1/1 Running 0 15h
kube-system elasticsearch-logging-v1-o24ye 1/1 Running 0 6d
kube-system elasticsearch-logging-v1-vlvw0 1/1 Running 1 6d
kube-system fluentd-elasticsearch-ip-172-0-0-32.eu-west-1.compute.internal 1/1 Running 1 6d
kube-system fluentd-elasticsearch-ip-172-0-0-33.eu-west-1.compute.internal 1/1 Running 0 6d
kube-system fluentd-elasticsearch-ip-172-0-0-34.eu-west-1.compute.internal 1/1 Running 0 6d
kube-system heapster-v1.0.2-2148290995-zl3wq 4/4 Running 0 6d
kube-system kibana-logging-v1-e3ci3 1/1 Running 3 6d
kube-system kube-dns-v11-ju72c 4/4 Running 0 6d
kube-system kube-proxy-ip-172-0-0-32.eu-west-1.compute.internal 1/1 Running 1 6d
kube-system kube-proxy-ip-172-0-0-33.eu-west-1.compute.internal 1/1 Running 0 6d
kube-system kube-proxy-ip-172-0-0-34.eu-west-1.compute.internal 1/1 Running 0 6d
kube-system kubernetes-dashboard-v1.0.1-tbyn2 1/1 Running 1 6d
kube-system monitoring-influxdb-grafana-v3-gm426 2/2 Running 0 6d
这是 auth-api pod 上/etc/resolv.conf
文件的输出:
$ kubectl exec auth-api-jf2ec -i cat /etc/resolv.conf
search default.svc.cluster.local svc.cluster.local cluster.local eu-west-1.compute.internal
nameserver 10.0.0.10
options nods:5
我是否错误地配置了某些东西/根本没有配置任何东西?
有一个信息关键部分,我错过了过这个问题......我们使用alpine:3.3
作为基地,图像和不支持search
指令在/etc/resolv.conf
。
升级到alpine:3.4
,问题就解决了。
希望这对某人有用。
最有用的评论
有一个信息关键部分,我错过了过这个问题......我们使用
alpine:3.3
作为基地,图像和不支持search
指令在/etc/resolv.conf
。升级到
alpine:3.4
,问题就解决了。希望这对某人有用。