Модуль Kubernetes API отказывается подключаться

В настоящее время я пытаюсь настроить небольшой кластер с использованием CoreOS и Kubernetes. Для начала я следую этому руководству. У меня есть три машины с CoreOS, работающие на VirtualBox, использующие vagrant. Я добрался до второго шага руководства, но застрял.

Кажется, я могу запустить kubelet с помощью systemctl start kubelet, но не могу подключиться к серверу API. Похоже, что он не запускал сервер API, а сначала пытается подключиться к нему.

Когда я ввожу curl http://127.0.0.1:8080/version, я получаю curl: (7) Failed to connect to 127.0.0.1 port 8080: Connection refused обратно.

Journalctl просто показывает мне, что kubelet пытается подключиться к серверу API, и, поскольку сервер API недоступен, я не могу использовать kubectl, чтобы увидеть, что происходит с подом. Как мне решить эту проблему?

Изменить:

Я выполнил команду docker вручную и получил следующее:

I1109 09:30:18.680796       1 plugins.go:69] No cloud provider specified.
I1109 09:30:18.826523       1 master.go:273] Node port range unspecified. Defaulting to 30000-32767.
E1109 09:30:18.847815       1 reflector.go:136] Failed to list *api.ResourceQuota: Get http://127.0.0.1:8080/api/v1/resourcequotas: dial tcp 127.0.0.1:8080: connection refused
E1109 09:30:18.848277       1 reflector.go:136] Failed to list *api.Secret: Get http://127.0.0.1:8080/api/v1/secrets?fieldSelector=type%3Dkubernetes.io%2Fservice-account-token: dial tcp 127.0.0.1:8080: connection refused
E1109 09:30:18.848581       1 reflector.go:136] Failed to list *api.ServiceAccount: Get http://127.0.0.1:8080/api/v1/serviceaccounts: dial tcp 127.0.0.1:8080: connection refused
E1109 09:30:18.848766       1 reflector.go:136] Failed to list *api.LimitRange: Get http://127.0.0.1:8080/api/v1/limitranges: dial tcp 127.0.0.1:8080: connection refused
E1109 09:30:18.848943       1 reflector.go:136] Failed to list *api.Namespace: Get http://127.0.0.1:8080/api/v1/namespaces: dial tcp 127.0.0.1:8080: connection refused
E1109 09:30:18.849698       1 reflector.go:136] Failed to list *api.Namespace: Get http://127.0.0.1:8080/api/v1/namespaces: dial tcp 127.0.0.1:8080: connection refused
[restful] 2015/11/09 09:30:18 log.go:30: [restful/swagger] listing is available at https://172.17.8.101:443/swaggerapi/
[restful] 2015/11/09 09:30:18 log.go:30: [restful/swagger] https://172.17.8.101:443/swaggerui/ is mapped to folder /swagger-ui/
E1109 09:30:19.849251       1 reflector.go:136] Failed to list *api.Secret: Get http://127.0.0.1:8080/api/v1/secrets?fieldSelector=type%3Dkubernetes.io%2Fservice-account-token: dial tcp 127.0.0.1:8080: connection refused
E1109 09:30:19.850278       1 reflector.go:136] Failed to list *api.ResourceQuota: Get http://127.0.0.1:8080/api/v1/resourcequotas: dial tcp 127.0.0.1:8080: connection refused
E1109 09:30:19.852294       1 reflector.go:136] Failed to list *api.ServiceAccount: Get http://127.0.0.1:8080/api/v1/serviceaccounts: dial tcp 127.0.0.1:8080: connection refused
E1109 09:30:19.852462       1 reflector.go:136] Failed to list *api.LimitRange: Get http://127.0.0.1:8080/api/v1/limitranges: dial tcp 127.0.0.1:8080: connection refused
E1109 09:30:19.852802       1 reflector.go:136] Failed to list *api.Namespace: Get http://127.0.0.1:8080/api/v1/namespaces: dial tcp 127.0.0.1:8080: connection refused
E1109 09:30:19.854201       1 reflector.go:136] Failed to list *api.Namespace: Get http://127.0.0.1:8080/api/v1/namespaces: dial tcp 127.0.0.1:8080: connection refused
E1109 09:30:20.852158       1 reflector.go:136] Failed to list *api.Secret: Get http://127.0.0.1:8080/api/v1/secrets?fieldSelector=type%3Dkubernetes.io%2Fservice-account-token: dial tcp 127.0.0.1:8080: connection refused
E1109 09:30:20.852217       1 reflector.go:136] Failed to list *api.ResourceQuota: Get http://127.0.0.1:8080/api/v1/resourcequotas: dial tcp 127.0.0.1:8080: connection refused
E1109 09:30:20.853732       1 reflector.go:136] Failed to list *api.ServiceAccount: Get http://127.0.0.1:8080/api/v1/serviceaccounts: dial tcp 127.0.0.1:8080: connection refused
E1109 09:30:20.854456       1 reflector.go:136] Failed to list *api.LimitRange: Get http://127.0.0.1:8080/api/v1/limitranges: dial tcp 127.0.0.1:8080: connection refused
E1109 09:30:20.855127       1 reflector.go:136] Failed to list *api.Namespace: Get http://127.0.0.1:8080/api/v1/namespaces: dial tcp 127.0.0.1:8080: connection refused
E1109 09:30:20.855954       1 reflector.go:136] Failed to list *api.Namespace: Get http://127.0.0.1:8080/api/v1/namespaces: dial tcp 127.0.0.1:8080: connection refused

... Repeated many times ...

E1109 09:30:35.882091       1 reflector.go:136] Failed to list *api.Namespace: Get http://127.0.0.1:8080/api/v1/namespaces: dial tcp 127.0.0.1:8080: connection refused
E1109 09:30:36.082552       1 reflector.go:136] Failed to list *api.Secret: Get http://127.0.0.1:8080/api/v1/secrets?fieldSelector=type%3Dkubernetes.io%2Fservice-account-token: dial tcp 127.0.0.1:8080: connection refused
E1109 09:30:36.282562       1 reflector.go:136] Failed to list *api.ResourceQuota: Get http://127.0.0.1:8080/api/v1/resourcequotas: dial tcp 127.0.0.1:8080: connection refused
E1109 09:30:36.482611       1 reflector.go:136] Failed to list *api.ServiceAccount: Get http://127.0.0.1:8080/api/v1/serviceaccounts: dial tcp 127.0.0.1:8080: connection refused
F1109 09:30:36.664838       1 controller.go:80] Unable to perform initial IP allocation check: unable to refresh the service IP block: 501: All the given peers are not reachable (failed to propose on members [172.17.8.101 172.17.8.102 172.17.8.103] twice [last error: Get 172.17.8.103/v2/keys/registry/ranges/serviceips?quorum=false&recursive=false&sorted=false: unsupported protocol scheme ""]) [0]

person palaga    schedule 02.11.2015    source источник


Ответы (2)


Вы собираетесь настроить apiserver на следующем шаге. Это то, что обслуживает 127.0.0.1:8080. Kubelet должен перестать жаловаться после запуска apiserver. Упомянутая вами команда curl должна работать и в этот момент.

person Eric Tune    schedule 04.11.2015
comment
Привет, спасибо за ваш ответ. Я вижу раздел «Настройка модуля kube-apiserver» в части 3 руководства. Странно, однако, что они просят вас подождать, пока не появится API-сервер, в части 2. У меня нет возможности проверить это до следующего понедельника. Я дам знать, если это сработало. - person palaga; 06.11.2015
comment
Кажется, я что-то упустил, так как в части 3 не говорится о настройке сервера API. Проблема сохраняется. - person palaga; 09.11.2015
comment
Он говорит wget https://raw.githubusercontent.com/coreos/pods/master/kubernetes.yaml и sudo cp kubernetes.yaml /etc/kubernetes/manifests/ . kubernetes.yaml содержит инструкции по запуску kube-apiserver, а команда cp помещает файлы в каталог, где kubelet автоматически обнаружит файл, прочитает его и запустит apiserver. После того, как вы сделаете этот шаг и подождите несколько секунд, ps -ef должен показать, что kube-apiserver работает. Он будет работать на порту 127.0.0.1:8080, и кубелет будет с ним разговаривать. - person Eric Tune; 12.11.2015
comment
@EricTune, если вы имеете в виду команду kubectl run kubernetes-bootcamp --image=gci.io/google-samples/kubernetes-bootcamp:v1 --port=8080, которая выполняется в разделе до возникновения этой проблемы. Я не сталкивался с проблемой в ОП, но что-то похожее - person Harry Moreno; 24.07.2018

Я пока отказался от этой установки. Я думаю, что это как-то связано с неправильной конфигурацией в настройке ssl. На данный момент я просто использую это руководство в сочетании с вышеупомянутым руководством. , и удалил все, что связано с ssl, из файлов конфигурации. Это дает мне рабочую настройку на данный момент.

person palaga    schedule 09.11.2015