我在(本地) Kubernetes集群中派生了一个容器,以安全地访问Kubernetes,并在本地调试依赖的服务。
我可以通过openVPN服务器连接到集群。但是,我无法通过DNS解析。
在设置VPN服务器上的路由之后,我设法达到了这样的程度:
subnet 10.2.0.0/16) )来切换一个Podsubnet 10.3.0.0/16就像10.3.0.10上的DNS )curl发送到服务并获取所需的数据。但是,当我nslookup kubernetes或任何服务时,我得到:
nslookup kubernetes
;; Got recursion not available from 10.3.0.10, trying next server
;; Got SERVFAIL reply from 10.3.0.10, trying next server我仍然缺少一些数据从DNS服务器返回,但我不知道我需要做什么。
如何在SERVFAIL Kubernetes DNS中调试此问题?
编辑:
我已经注意到并希望了解的事情:
nslookup可以在除openvpn pod之外的任何吊舱中解析服务名称nslookup在其他那些Pods中工作,但ping不工作。traceroute导致法兰绒层10.0.2.2,然后停在那里。因此,我猜ICMP必须在法兰绒层被阻塞,这并不能帮助我确定DNS被阻塞的位置。
EDIT2:
我终于想到了如何让nslookup工作:我不得不将DNS搜索域推到
push "dhcp-option DOMAIN-SEARCH cluster.local"
push "dhcp-option DOMAIN-SEARCH svc.cluster.local"
push "dhcp-option DOMAIN-SEARCH default.svc.cluster.local"在-p映像中添加docker-openvpn选项
所以我最后
docker run -v /etc/openvpn:/etc/openvpn --rm kylemanna/openvpn ovpn_genconfig \
-u udp://192.168.10.152:1194 \
-n 10.3.0.10 \
-n 192.168.10.1 \
-n 8.8.8.8 \
-n 75.75.75.75 \
-n 75.75.75.76 \
-s 10.8.0.0/24 \
-d \
-p "route 10.2.0.0 255.255.0.0" \
-p "route 10.3.0.0 255.255.0.0" \
-p "dhcp-option DOMAIN cluster.local" \
-p "dhcp-option DOMAIN-SEARCH svc.cluster.local" \
-p "dhcp-option DOMAIN-SEARCH default.svc.cluster.local" 现在,curl 仍然不使用,nslookup可以工作。
发布于 2016-01-20 16:55:23
最后,我的配置如下所示:
docker run -v /etc/openvpn:/etc/openvpn --rm kylemanna/openvpn ovpn_genconfig \
-u udp://192.168.10.152:1194 \
-n 10.3.0.10 \
-n 192.168.10.1 \
-n 8.8.8.8 \
-n 75.75.75.75 \
-n 75.75.75.76 \
-s 10.8.0.0/24 \
-N \
-p "route 10.2.0.0 255.255.0.0" \
-p "route 10.3.0.0 255.255.0.0" \
-p "dhcp-option DOMAIN-SEARCH cluster.local" \
-p "dhcp-option DOMAIN-SEARCH svc.cluster.local" \
-p "dhcp-option DOMAIN-SEARCH default.svc.cluster.local"用于VPN服务器地址和端口的-u
用于所有DNS服务器的-n。
-s来定义VPN子网(因为它默认为10.2.0.0,已经被Kubernetes使用了)
-d禁用NAT
将选项推送到客户端的-p
启用NAT的-N:在Kubernetes上进行这种设置似乎很关键
最后一部分,将搜索域推送给客户端,是获得nslookup等的关键。去工作。
注意,curl一开始不起作用,但几秒钟后就开始工作了。因此,它确实有效,但它需要一些时间来解决卷曲。
发布于 2016-01-20 16:38:37
试试卷发-4。即使A在场,也可能是为了解决AAAA问题。
https://stackoverflow.com/questions/34843940
复制相似问题