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

Kubernetes kubectl:错误您必须登录到服务器(未经授权),kubernetes,Kubernetes,我已经为CI创建了一个服务帐户,并正在进行测试。在尝试任何kubectl命令时,我得到错误: error: You must be logged in to the server (Unauthorized) 下面是我的.kube/config文件 apiVersion: v1 clusters: - cluster: server: <redacted> name: kubernetes contexts: - context: cluster: kubern

我已经为CI创建了一个服务帐户,并正在进行测试。在尝试任何kubectl命令时,我得到错误:

error: You must be logged in to the server (Unauthorized)
下面是我的
.kube/config
文件

apiVersion: v1
clusters:
- cluster:
    server: <redacted>
  name: kubernetes
contexts:
- context:
    cluster: kubernetes
    user: bamboo
  name: default
current-context: 'default'
kind: Config
preferences: {}
users:
- name: bamboo
  user:
    token: <redacted>

apiVersion:v1 集群: -群集: 服务器: 姓名:kubernetes 上下文: -背景: 集群:kubernetes 用户:竹子 名称:默认值 当前上下文:“默认” 种类:配置 首选项:{} 用户: -名称:竹 用户: 代币: 服务帐户已存在,并且已附加群集角色:编辑和群集角色绑定


我做错了什么?

如果我不解码直接复制
标记,我会重现错误。然后应用以下步骤对令牌进行解码和设置,它将按预期工作


$ TOKENNAME=`kubectl -n <namespace> get serviceaccount/<serviceaccount-name> -o jsonpath='{.secrets[0].name}'` 

$ TOKEN=`kubectl -n <namespace> get secret $TOKENNAME -o jsonpath='{.data.token}'| base64 --decode`

$ kubectl config set-credentials <service-account-name> --token=$TOKEN


$TOKENNAME=`kubectl-n get servicecomport/-o jsonpath='{.secrets[0].name}'`
$TOKEN=`kubectl-n get secret$TOKENNAME-o jsonpath='{.data.TOKEN}'| base64——解码`
$kubectl配置集凭据--令牌=$token

因此,我认为这可能是您的情况。

如果我不解码直接复制
标记,我会重现错误。然后应用以下步骤对令牌进行解码和设置,它将按预期工作


$ TOKENNAME=`kubectl -n <namespace> get serviceaccount/<serviceaccount-name> -o jsonpath='{.secrets[0].name}'` 

$ TOKEN=`kubectl -n <namespace> get secret $TOKENNAME -o jsonpath='{.data.token}'| base64 --decode`

$ kubectl config set-credentials <service-account-name> --token=$TOKEN


$TOKENNAME=`kubectl-n get servicecomport/-o jsonpath='{.secrets[0].name}'`
$TOKEN=`kubectl-n get secret$TOKENNAME-o jsonpath='{.data.TOKEN}'| base64——解码`
$kubectl配置集凭据--令牌=$token

所以,我想这可能是您的情况。

我可以知道您的集群在Prem或Cloud上运行的位置吗?如果是“云”,请选择哪一个?@hariK它在屏幕上。您在使用前对令牌进行了解码吗@bearI错过了明显的@Hoquey我可以知道你的集群在Prem或Cloud上运行在哪里吗?如果是“云”,请选择哪一个?@hariK它在屏幕上。您在使用前对令牌进行了解码吗@bearI错过了那个明显的“hoque”