Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes 虽然etcd中有所有密钥,但DNS未解析?_Kubernetes - Fatal编程技术网

Kubernetes 虽然etcd中有所有密钥,但DNS未解析?

Kubernetes 虽然etcd中有所有密钥,但DNS未解析?,kubernetes,Kubernetes,以下是一些细节,以及为什么这对我的下一步测试很重要: 我可以解析任何外部DNS etcd似乎已更新所有密钥 正确,以及目录(如预期) Kubernetes的本地DNS查询似乎不适用于etcd数据存储, 即使我可以手动查询键值 这是下一个 在开始使用NGINX L7 LB之前需要完成的步骤 演示 我看着 在最初的建议[以防万一],但它 看来我确实有服务帐户的秘密…我想(?) 一切都应该如预期的那样 我在Kube2Sky日志中唯一真正看到的是etcd被找到了。我想我应该看到的不止这些 [fedo

以下是一些细节,以及为什么这对我的下一步测试很重要:

  • 我可以解析任何外部DNS
  • etcd似乎已更新所有密钥 正确,以及目录(如预期)
  • Kubernetes的本地DNS查询似乎不适用于etcd数据存储, 即使我可以手动查询键值
  • 这是下一个 在开始使用NGINX L7 LB之前需要完成的步骤 演示
我看着 在最初的建议[以防万一],但它 看来我确实有服务帐户的秘密…我想(?) 一切都应该如预期的那样

我在Kube2Sky日志中唯一真正看到的是etcd被找到了。我想我应该看到的不止这些

[fedora@kubemaster ~]$ kubectl logs kube-dns-v10-q9mlb -c kube2sky --namespace=kube-system
I0118 17:42:24.639508 1 kube2sky.go:436] Etcd server found: http://127.0.0.1:4001
I0118 17:42:25.642366 1 kube2sky.go:503] Using https://10.254.0.1:443 for kubernetes master
I0118 17:42:25.642772 1 kube2sky.go:504] Using kubernetes API 
[fedora@kubemaster ~]$
更多详情:

[fedora@kubemaster ~]$ kubectl exec -t busybox -- nslookup kubelab.local
Server: 10.254.0.10
Address 1: 10.254.0.10

nslookup: can't resolve 'kubelab.local'

error: error executing remote command: Error executing command in container: Error executing in Docker Container: 1

fedora@kubemaster ~]$ etcdctl ls --recursive
/kubelab.local
/kubelab.local/network
/kubelab.local/network/config
/kubelab.local/network/subnets
/kubelab.local/network/subnets/172.16.46.0-24
/kubelab.local/network/subnets/172.16.12.0-24
/kubelab.local/network/subnets/172.16.70.0-24
/kubelab.local/network/subnets/172.16.21.0-24
/kubelab.local/network/subnets/172.16.54.0-24
/kubelab.local/network/subnets/172.16.71.0-24

…等等…所有的键都在那里,正如预期的那样…

我看到您将默认的“cluster.local”更改为“kubelab.local”。您是否更改了skydns配置以服务于该域


kubectl exec--namespace=kube系统$podname-c skydns ps
PID用户命令
1根/skydns-计算机=http://127.0.0.1:4001 -addr=0.0.0.0:53-ns rotate=false-domain=cluster.local。
11根ps

注意
-domain
标志


如果正确,请检查您是否向Kubelet传递了正确的
--cluster dns
--cluster domain
标志。然后从无法进行DNS查找的pod中显示/etc/resolv.conf。

我看到您将默认的“cluster.local”更改为“kubelab.local”。您是否更改了skydns配置以服务于该域


kubectl exec--namespace=kube系统$podname-c skydns ps
PID用户命令
1根/skydns-计算机=http://127.0.0.1:4001 -addr=0.0.0.0:53-ns rotate=false-domain=cluster.local。
11根ps

注意
-domain
标志


如果正确,请检查您是否向Kubelet传递了正确的
--cluster dns
--cluster domain
标志。然后从一个无法进行DNS查找的pod向我显示/etc/resolv.conf。

据我所知,DNS插件解析服务,以便您可以对后面的pod进行负载平衡。你为你的吊舱设置了服务吗?你能
nslookup kubernetes
并解决这个问题吗?据我所知,DNS插件可以解决服务,这样你就可以对后面的吊舱进行负载平衡。你为你的吊舱设置了服务吗?你能
nslookup kubernetes
并解决这个问题吗?还有
kubernetes.local
DNS条目应该在生成证书时在api服务器SSL配置中定义。我不确定这可能是个问题,但那肯定是最后一个要检查的地方,所以我会把它放在那里。还有
kubernetes.local
DNS在生成证书时,应该在api服务器SSL配置中定义条目。我不确定这是否会有问题,但这肯定是最后一个要检查的地方,所以我会将其放在那里。