skydns не может разрешить DNS в кластере kubernetes
Я настраиваю skydns для kubernetes, следуя этому шаблону http://kubernetes.io/docs/getting-started-guides/docker-multinode/skydns.yaml.in. Но это не в состоянии разрешить DNS. После поиска решений также добавил -kube_master_url в аргументы kube2sky, но проблема все та же. Вот логи skydns:
2016/04/23 02:49:26 skydns: falling back to default configuration, could not read from etcd: 501: All the given peers are not reachable (failed to propose on members [http://127.0.0.1:4001] twice [last error: Get http://127.0.0.1:4001/v2/keys/skydns/config?quorum=false&recursive=false&sorted=false: dial tcp 127.0.0.1:4001: connection refused]) [0]
2016/04/23 02:49:26 skydns: ready for queries on cluster.local. for tcp://0.0.0.0:53 [rcache 0]
2016/04/23 02:49:26 skydns: ready for queries on cluster.local. for udp://0.0.0.0:53 [rcache 0]
2016/04/23 02:49:33 skydns: error from backend: 501: All the given peers are not reachable (failed to propose on members [http://127.0.0.1:4001] twice [last error: Get http://127.0.0.1:4001/v2/keys/skydns/local/cluster/svc/default/kubernetes?quorum=false&recursive=true&sorted=false: dial tcp 127.0.0.1:4001: connection refused]) [0]
Есть указатели? Кубе2ские бревна:
I0423 02:49:39.286489 1 kube2sky.go:436] Etcd server found: http://127.0.0.1:4001
I0423 02:49:40.295909 1 kube2sky.go:503] Using http://172.17.0.1:8080 for kubernetes master
I0423 02:49:40.296183 1 kube2sky.go:504] Using kubernetes API v1
1 ответ
У меня были некоторые правила iptables, которые блокировали соединение на интерфейсе docker0, где работали сервисы kubernetes, включая skydns. После сброса правила все заработало. Таким образом, похоже, что первая проблема была с моей локальной настройкой, а не с skydns.
Однако проблема возникла после установки локального реестра Docker, и я получил эту ошибку:
I0427 20:30:45.183419 1 kube2sky.go:627] Ignoring error while waiting for service default/kubernetes: Get https://10.0.0.1:443/api/v1/namespaces/default/services/kubernetes: x509: certificate signed by unknown authority. Sleeping 1s before retrying.
В качестве обходного пути я удалил секреты, используя kubectl delete secrets/default-token-q4siz
затем перезапустил skydns и снова начал работать.