kubernetes - kubectl 错误 : You must be logged in to the server (Unauthorized)

标签 kubernetes kubectl ibm-cloud-private

今天遇到一个奇怪的问题,我的Windows kubectl客户端在连接ICp时突然出现授权问题。

我正在使用带有 Widows 配置的 kubectl.exe 的 ICP。然后,过了一会儿,由于笔记本电脑自动休眠,我的VPN连接断开了,因此失去了与远程ICP的连接。后来我回来重新连接ICP。我再次使用 kubectl 命令并面临:

错误:您必须登录到服务器(未经授权)

在 ICP 主节点上,如果我使用没有错:

kubectl -s 127.0.0.1:8888 -n kube-system 获取 pods -o 宽

我回去重新配置客户端(粘贴从管理复制的代码 - >配置 kubectl),命令执行成功,但当我发出

kubectl 获取 pod

还是错误。

我检查了文章:

kubectl - error: You must be logged in to the server

kubectl error: "You must be logged in to the server (the server has asked for the client to provide credentials)"

error: You must be logged in to the server (the server has asked for the client to provide credentials)

看起来没有多大帮助

最佳答案

结果证明 token 无效(不确定是否因为 12 小时到期)。如果直接F5浏览器页面没有重新认证但仍然可以访问控制台页面,但实际上应该通过重新登录ICP Portal来更新 token 。

该问题已通过重新访问 ICP 门户解决:

https://<master host>:8443/console/

这将重新允许您进行身份验证。之后,转到 admin -> configure client,粘贴最新的命令,您会发现 token 可能已更新。执行新命令解决了这个问题。

2 问题仍然存在:

a) 如果页面长时间打开且 token 已过期,ICP 门户页面可能不会自动刷新以强制您重新登录,这意味着 set-credentials 命令中的 token 仍然是旧的。

b) 即使设置旧 token 也被接受,并且命令从不提示错误甚至警告。这可能会在服务器上更改 token 时误导我们,例如,如果我将命令保存到本地 txt 文件并再次重新执行(即使 token 过期后),命令仍然成功完成,但实际上我仍然没有得到当我尝试登录时已正确验证。

关于kubernetes - kubectl 错误 : You must be logged in to the server (Unauthorized),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48605005/

相关文章:

kubernetes - kubectl jsonpath 查询并输出多个对象值

linux - 如何解决 Linux 上 kubernetes 仪表板设置的主机端口问题?

kubernetes - kubernetes应用程序停机

docker - 图像中需要有一个可用的 Kubectl 二进制文件

amazon-web-services - Binderhub 是否有 AWS 支持?

ibm-cloud-private - ibm-eventstreams-dev 未部署到 IBM Cloud Private

docker - IBM Cloud Private 2.1.0.3 条件检查失败

kubernetes - ICP 2.1.0.3安装超时:失败-重试:WAITINGkube-dns启动

redis - 如何在k8s集群中做Redis slave repalication?

java - 在使用 k8s 部署应用程序时在本地测试应用程序代码