Похоже, что кластер отсутствует в вашем файле ~/.kube/config
. Если бы это была проблема с разрешениями, я бы ожидал увидеть либо error: You must be logged in to the server (Unauthorized)
, либо Error from server (Forbidden)
.
Ошибка, которую вы видите The connection to the server localhost:8080 was refused - did you specify the right host or port?
, означает, что нет кластера с именем, которое вы указали в kubeconfig.
Я бы проверил, что ваш kubeconfig включает имя кластера kubernetes
с certificate-authority-data
и соответствующим server
.
Например, здесь я пытаюсь использовать несуществующую учетную запись службы сначала с недопустимым кластером, а затем снова с кластером, который существует в моем kubeconfig
.
Неверное имя кластера:
kubectl config set-context service-context \
--cluster=doesnotexist \
> --namespace=default \
> --user=service-account
Context "service-context" modified.
➜ ~ kubectl --context=service-context get pods
The connection to the server localhost:8080 was refused - did you specify the right host or port?
Хорошее имя кластера:
kubectl config set-context service-context \
--cluster=exists \
--namespace=default \
--user=service-account
Context "service-context" modified.
➜ ~ kubectl --context=service-context get pods
error: You must be logged in to the server (Unauthorized)
Следующая ошибка может указывать на то, что с вашим пользователем / разрешениями что-то не так. Первый предполагает, что cluster
не существует в вашем kubeconfig
.
EDIT:
Также помните, когда вы используете sudo
его использование /root/.kube/config
, которое может быть не тем, что вы хотите