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



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

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

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

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

kubectl -s 127.0.0.1:8888 -n kube-system get pods -o wide

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

kubectl get pods

还是错误。

我检查了文章:

kubectl - 错误:您必须登录到服务器

kubectl 错误:"您必须登录到服务器(服务器已要求客户端提供凭据)">

错误:您必须登录到服务器(服务器已要求客户端提供凭据)

看起来没有多大帮助

事实证明,令牌无效(不确定是否因为 12 小时过期)。如果您只是 F5 浏览器页面,您没有重新进行身份验证,但仍可以访问控制台页面,但实际上令牌应该通过重新登录 ICP 门户再次更新。

此问题已通过重新访问 ICP 门户得到解决:

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

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

2 问题还剩下:

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

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

最新更新