Kubectl - запрос пароля не позволяет вводить, действует так, как будто ввод был нажат сразу - PullRequest
1 голос
/ 08 мая 2020
• 1000 клавиша ввода, нет возможности ввести пароль, выглядит так, на распечатке экрана видно, что я использую kubectl версии 1.15.

enter image description here

Если я попробую это сделать, используя Git Bash, он будет вести себя так же, но ответит ошибкой, показанной ниже

enter image description here

То же самое, где пароль приглашение не ждет ввода.

Кто-нибудь когда-либо видел это или имел какие-либо мысли о том, как я могу предоставить имя пользователя и пароль для kubectl, не сохраняя его в виде простого теста в файле конфигурации?

Кроме того, я использую корпоративный кластер Kubernates, поэтому нет возможности перейти на более новую версию или сделать что-либо еще, что потребует доступа администратора.

1 Ответ

0 голосов
/ 13 мая 2020

Публикация этого ответа как вики сообщества с общими рекомендациями для проблем, подобных этой:

TL; DR

Запрос имени пользователя и пароля наиболее вероятно, вызвано неправильной конфигурацией .kube/config.

Что касается:

Кто-нибудь когда-либо видел это или имел какие-либо мысли о том, как я могу предоставить имя пользователя и пароль для kubectl без сохранения Это простой тест в файле конфигурации?

В Kubernetes есть много возможностей для аутентификации. Все они имеют свои достоинства и недостатки. Пожалуйста, просмотрите ссылки ниже:


Запрос имени пользователя и пароля может появиться, если файл .kube/config настроен неправильно. Ниже я указал одну возможную причину:

Начиная с правильно настроенного .kube/config для экземпляра minikube.

apiVersion: v1
clusters:
- cluster:
    certificate-authority: PATH_TO_SOMEWHERE/.minikube/ca.crt
    server: https://172.17.0.3:8443
  name: minikube
contexts:
- context:
    cluster: minikube
    user: minikube
  name: minikube
current-context: minikube
kind: Config
preferences: {}
users:
- name: minikube
  user:
    client-certificate: PATH_TO_SOMEWHERE/client.crt
    client-key: PATH_TO_SOMEWHERE/client.key

Выполнение команд с указанным выше .kube/config не должно запрашивать пользователя и пароль, как показано ниже:

$ kubectl get pods
No resources found in default namespace.

Редактирование .kube/config и изменение:

    user: minikube

to:

    user: not-minikube

Приведет к:

$ kubectl  get pods
Please enter Username: minikube
Please enter Password: 

Правильная настройка .kube/config во многом зависит от используемого решения (например, minikube, kubeadm подготовленный кластер и управляемый кластер типа GKE). См. Официальную документацию по используемому решению.

...