#kubernetes #kubectl
Вопрос:
Я не могу подключиться к нашему кластеру Kubernetes. kubectl
Команда, похоже, не учитывает конфигурацию…
Когда я выдам kubectl cluster-info
(или kubectl get pods
) Я получаю следующее сообщение об ошибке:
Подключение к серверу localhost:8080 было отклонено — вы указали правильный хост или порт?
Я подозревал, что ~/.kube/config
он указывал на мой мини-куб, но это не так:
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: LS...==
server: https://10.95.xx.yy:6443
name: cluster.local
contexts:
- context:
cluster: cluster.local
namespace: xxx-cluster-xxx-xx-username
user: username
name: username-context
current-context: ""
kind: Config
preferences: {}
users:
- name: username
user:
client-certificate: .certs/username.crt
client-key: .certs/username.key
Удивительно, $KUBECONFIG
но переменная среды имеет правильный путь:
KUBECONFIG=/Users/username/.kube/config
и kubectl config view
работает нормально (он же не указывает localhost
, а указывает на https://10.95.xx.yy:6443
)
Наконец, я также пытаюсь указать путь к файлу конфигурации при вызове kubectl
( kubectl get pods --kubeconfig=/Users/username/.kube/config
), но ошибка остается прежней…
Комментарии:
1. Ваш текущий контекст, как видно, не задан
current-context: ""
; если бы вы ожидалиkubectl --context username-context get pods
, я ожидал бы, что он будет делать больше того, что вы ожидаете, и, предполагая, что я прав, запускkubectl config set-context username-context
исправит это в будущем2. @mdaniel, если вы оставите свой комментарий в качестве ответа, я его приму. Спасибо
Ответ №1:
Ваш текущий контекст не задан, как видно из current-context: ""
; если бы вы запускали kubectl --context username-context get pods
, я бы ожидал, что он будет делать больше того, что вы хотите. Если это окажется так, можно побежать kubectl config use-context username-context
, чтобы задать current-context
направление движения вперед