我對丟失DNS有什麼瞭解。我跟着在這裏列出的說明: https://github.com/kubernetes/kubernetes/tree/v1.2.0-alpha.5/cluster/addons/dnskubernetes.default未通過DNS解析
當我的測試莢似乎工作的DNS吊艙的節點上運行,但是當我的測試吊艙,沒有它不與DNS莢節點上運行。這使我相信某些東西沒有正確配置,但我不確定是什麼。
我有一個主節點和兩個使用Kubernetes運行CentOS的minion節點:1.2.0-alpha.5。 DNS在minion-2上運行。我正在使用的測試窗格是上面鏈接中概述的示例。
如果測試吊艙運行在僕從-1(節點WITHOUT DNS)然後DNS產量測試:
$ kubectl exec busybox -- nslookup kubernetes.default
Server: 10.0.0.10
Address 1: 10.0.0.10
nslookup: can't resolve 'kubernetes.default'
error: error executing remote command: Error executing command in container: Error executing in Docker Container: 1
測試吊艙的resolv.conf是:
search default.svc.cluster.local svc.cluster.local cluster.local
nameserver 10.0.0.10
options ndots:5
服務羣集IP範圍:10.0.0.0/24 法蘭絨網絡配置:18.16.0.0/16
我已經查看了Kuberentes回購和大多數文檔中的大多數DNS問題與DNS有關,但我仍然處於虧損狀態。如果任何人都可以提供任何見解或其他文檔來查看調試此問題,將不勝感激。
UPDATE 好吧看來這個問題可能是由於我沒有正確安裝法蘭絨。我已經重新啓動的設置和驗證絨布以下這裏列出的說明:我得到https://github.com/kubernetes/kubernetes/blob/v1.2.0-alpha.5/docs/getting-started-guides/fedora/flannel_multi_node_cluster.md
從奴才-1:
$ ip -4 a|grep inet
inet 127.0.0.1/8 scope host lo
inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic enp0s3
inet 172.28.128.9/24 brd 172.28.128.255 scope global enp0s8
inet 18.16.45.0/16 scope global flannel0
inet 18.16.45.1/24 scope global docker0
從奴才-2我得到:
$ ip -4 a|grep inet
inet 127.0.0.1/8 scope host lo
inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic enp0s3
inet 172.28.128.9/24 brd 172.28.128.255 scope global enp0s8
inet 18.16.45.0/16 scope global flannel0
inet 18.16.45.1/24 scope global docker0
這似乎與迄今爲止記錄的內容相匹配。但是,對於下一步,我沒有爲每個節點獲取一個塊。我只看到一個塊:
$ curl -s http://172.28.128.8:4001/v2/keys/coreos.com/network/subnets | python -mjson.tool
{
"action": "get",
"node": {
"createdIndex": 15,
"dir": true,
"key": "/coreos.com/network/subnets",
"modifiedIndex": 15,
"nodes": [
{
"createdIndex": 18,
"expiration": "2016-01-13T19:59:09.489854201Z",
"key": "/coreos.com/network/subnets/18.16.45.0-24",
"modifiedIndex": 18,
"ttl": 86272,
"value": "{\"PublicIP\":\"10.0.2.15\"}"
}
]
}
}
所有subnet.env文件似乎匹配 從奴才-1:
$ cat /run/flannel/subnet.env
FLANNEL_NETWORK=18.16.0.0/16
FLANNEL_SUBNET=18.16.45.1/24
FLANNEL_MTU=1472
FLANNEL_IPMASQ=true
從奴才-2:
$ cat /run/flannel/subnet.env
FLANNEL_NETWORK=18.16.0.0/16
FLANNEL_SUBNET=18.16.45.1/24
FLANNEL_MTU=1472
FLANNEL_IPMASQ=true
如果我繼續進行下一步驗證跨宿主容器通信的方法,最終使用具有相同IP地址的minion-1和minion-2上的容器。這顯然是不正確的。
[[email protected] /]# ip -4 a l eth0 | grep inet
inet 18.16.45.2/24 scope global eth0
[[email protected] /]# ip -4 a l eth0 | grep inet
inet 18.16.45.2/24 scope global eth0
法蘭絨服務正在啓動以下參數如果這能幫助任何:
flanneld --ip-masq -etcd-endpoints=http://172.28.128.8:4001 -etcd-prefix=/coreos.com/network