首页 > 解决方案 > 为什么 Kubernetes 返回未经授权的错误?

问题描述

我使用Kubernetes 文档通过 API-server 创建用户证书请求。

cat <<EOF | kubectl apply -f -
apiVersion: certificates.k8s.io/v1beta1
kind: CertificateSigningRequest
metadata:
  name: myuser
spec:
  request: $(cat server.csr | base64 | tr -d '\n')
  usages:
  - digital signature
  - key encipherment
  - server auth
EOF

我生成了证书,创建了 kubeconfig 文件并成功创建了必要的角色/角色绑定。但是,当我尝试访问集群时,出现以下错误。我很确定问题出在上面的 yaml 定义上;但想不通。

users error: You must be logged in to the server (Unauthorized)

请问有什么想法吗?

标签: kubernetes

解决方案


似乎,问题出在“规范”部分。它是用户身份验证而不是服务器身份验证。因此,“服务器身份验证”应该是客户端身份验证。

spec:
  request: $(cat server.csr | base64 | tr -d '\n')
  usages:
  - digital signature
  - key encipherment
  - client auth

推荐阅读