Я пытаюсь настроить кластер k8s с парой экземпляров Ubuntu на AWS.
я успешно установил
IP-адреса машин такие. Они все в одной сети. Брандмауэр полностью включен. Я могу подключиться по телнету к порту 6443 и т. д.
IP и имена хостов
10.0.0.100 (ip-10-0-0-100.ca-central-1.compute.internal)
10.0.0.101 (ip-10-0-0-101.ca-central-1.compute.internal)
10.0.0.102 (ip-10-0-0-102.ca-central-1.compute.internal)
10.0.0.100:
Я выполнил эту команду
kubeadm init --apiserver-advertise-address=10.0.0.100 --pod-network-cidr=192.168.0.0/16
Он выпустил токен с командой соединения.
10.0.0.101:
Я выполнил команду присоединения к 10.0.0.101, и время ожидания истекло. (Свежий токен и срок его действия еще не истек)
Failed to request cluster-info, will try again: Get "https://10.0.0.100:6443/api/v1/namespaces/kube-public/configmaps/cluster-info?timeout=10s": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
10.0.0.100:
Итак, я пытался получить доступ к главному узлу. API-сервер даже не был доступен на том же узле. даже через localhost:6443 не работает.
curl https://10.0.0.100:6443/api/v1/namespaces/kube-public/configmaps/cluster-info
Получение ниже ошибки.
curl: (60) SSL certificate problem: unable to get local issuer certificate
More details here: https://curl.haxx.se/docs/sslcerts.html
curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the web page mentioned above.
Интересно это работает.
curl -k https://10.0.0.100:6443/api/v1/namespaces/kube-public/configmaps/cluster-info
Что может быть причиной?
nslookup ip показывает что-то вроде этого.
nslookup 10.0.0.101
101.0.0.10.in-addr.arpa name = ip-10-0-0-101.ca-central-1.compute.internal.
Authoritative answers can be found from:
Что касается сбоя команды присоединения к кластеру, это выглядит как проблемы с поиском DNS. пожалуйста, добавьте cat /etc/hosts
и hostname -f
вывод к вопросу
@confusedgenius, ip-10-0-0-100.ca-central-1.compute.internal — это мастер
можете ли вы добавить результаты в сам вопрос, чтобы форматирование было легче читать
@confusedgenius обновлен.
нам нужно проверить две вещи:
sudo curl --cacert /etc/kubernetes/pki/ca.crt --cert /etc/kubernetes/pki/apiserver-kubelet-client.crt --key /etc/kubernetes/pki/apiserver-kubelet-client.key https://10.0.0.100:6443/v1/namespaces/kube-public/configmaps/cluster-info
nslookup 10.0.0.101
nslookup 10.0.0.100
nslookup 10.0.0.102
/etc/hosts
на всех узлах:10.0.0.100 ip-10-0-0-100.ca-central-1.compute.internal
10.0.0.101 ip-10-0-0-101.ca-central-1.compute.internal
10.0.0.102 ip-10-0-0-102.ca-central-1.compute.internal
nslookup 10.0.0.101
nslookup 10.0.0.100
nslookup 10.0.0.102
когда вы пытаетесь получить доступ к apiserver напрямую с помощью curl, нам нужно передать cacert, cert & key, поэтому попробуйте эту команду на мастере ndde
sudo curl --cacert /etc/kubernetes/pki/ca.crt --cert /etc/kubernetes/pki/apiserver-kubelet-client.crt --key /etc/kubernetes/pki/apiserver-kubelet-client.key https://10.0.0.100:6443/v1/namespaces/kube-public/configmaps/cluster-info