Kubectl - 密码提示不允许输入,就像按了回车键一样。

问题描述 投票:0回答:1

当在Windows DOS提示符中使用kubectl cli时,我得到了一个输入用户名的提示,这很好用,但当我输入用户名后按回车键时,出现了输入密码的提示,然后马上就像我按了回车键一样,没有机会输入密码,看起来是这样的,从屏幕打印可以看出我使用的是kubectl 1.15版本。

enter image description here

如果我用Git Bash试试,它的行为也是一样的,但响应的错误如下图所示。

enter image description here

同样的问题,密码提示没有等待输入。

有谁见过这种情况,或者有什么想法,我如何能提供用户名和密码给kubectl,而不把它存储在配置文件中的普通测试?

此外,我使用的是企业的Kubernates集群,所以没有选项可以移动到一个更当前的版本或做任何其他需要管理员访问的事情。

windows kubernetes command-line-interface
1个回答
0
投票

把这个答案贴在社区wiki上,并附上类似问题的一般指南。

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

到:

    user: not-minikube

将导致。

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

正确配置 .kube/config 在很大程度上取决于所使用的解决方案(如 minikube, kubeadm 配置的集群,以及一个管理的集群,如 GKE). 请参考所使用解决方案的官方文件。

© www.soinside.com 2019 - 2024. All rights reserved.