【问题标题】:Kubectl - Password prompt doesn't allow input, acts like enter was pressed right awayKubectl - 密码提示不允许输入,就像立即按下输入一样
【发布时间】:2020-05-08 17:00:45
【问题描述】:

在 Windows DOS 提示符下使用 kubectl cli 时,我会收到输入用户名的提示,这很好,但是当我在输入用户名后按 enter 时,会出现输入密码的提示,然后立即表现得就像我按了 enter key,没有机会输入密码,看起来是这样的,从屏幕打印可以看出我使用的是kubectl 1.15版本。

如果我使用 Git Bash 尝试此操作,它的行为相同,但响应如下所示的错误

密码提示不等待输入的情况相同。

任何人都见过这个或者有任何想法,我可以如何向 kubectl 提供用户名和密码,而不在配置文件中存储一个简单的测试?

另外,我使用的是企业 Kubernates 集群,因此没有选择迁移到更新版本或执行任何其他需要管理员访问权限的操作。

【问题讨论】:

  • 你好。请包括您为达到这一点而采取的确切步骤。 kubectl 是如何安装的,它的版本是什么(带有次要版本)。另外请说明kubeconfig 文件是如何创建/配置的。
  • Kubectl 是通过公司安装程序安装的,不确定它是如何工作的。 kubectl 客户端版本在 1.15 以上列出。 K8S 集群是 1.14,在主要版本 -1 / +1 限制内。 kubeconfig 是使用 kubectl config 命令创建的。我没有将任何用户添加到配置中,我会尝试一下,看看它是否会改变行为。
  • 为了正确查明您遇到的问题,请提供您的 kubernetes 集群如何对用户进行身份验证的信息。您可以在此处找到可能的选项:kubernetes.io/docs/reference/access-authn-authz/authentication。此外,请包含您的 .kube/config 以检查配置是否有效。请确保在发布之前从文件中删除所有密码!
  • 大卫,感谢您的回复和努力提供帮助。我终于得到了 K8S 管理员的回复,他们正在帮助解决这个问题。我在家里的电脑上运行了个人版本,它在那里运行良好,但这是当前版本 1.18。关于 SSO 在工作中不起作用的一些事情。无论如何,我现在可以访问 K8S 仪表板,因此我可以使用它来创建我的 pod 和服务。再次感谢您的帮助。

标签: windows kubernetes command-line-interface


【解决方案1】:

将此答案作为社区 wiki 发布,并附有类似问题的一般准则:

TL;DR

提示输入用户名和密码很可能是.kube/config配置错误造成的。

至于:

任何人都见过这个或有任何想法,我可以如何提供一个用户名和密码给 kubectl,而无需在配置文件中存储一个简单的测试?

在 Kubernetes 中进行身份验证有很多可能性。它们都有一些优点和缺点。请查看以下链接:


.kube/config 文件配置错误时会出现输入用户名和密码的提示。我在下面列出了一个可能的原因:

从为minikube 实例正确配置的.kube/config 开始。

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

到:

    user: not-minikube

会导致:

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

正确配置 .kube/config 在很大程度上取决于所使用的解决方案(如 minikubekubeadm 预配置集群和托管集群,如 GKE)。请参考所用解决方案的官方文档。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-30
    • 1970-01-01
    • 1970-01-01
    • 2016-01-30
    • 2020-01-21
    • 2019-02-15
    • 1970-01-01
    • 2012-07-25
    相关资源
    最近更新 更多