【问题标题】:Error in setting user credentials in kubectl configurations在 kubectl 配置中设置用户凭据时出错
【发布时间】:2021-04-03 02:33:20
【问题描述】:

出于学习目的,我正在 Windows 环境中开发 Minikube 集群。我正在尝试一些身份验证和授权方法。以下是所涉及的步骤。

  • 使用 openssl 创建了一个私钥
  • 使用 openssl 创建了证书签名请求
  • 为证书签名请求对象创建了 YAML 清单
apiVersion: certificates.k8s.io/v1
kind: CertificateSigningRequest
metadata:
  name: student-csr
spec:
  groups:
 - system:authenticated
  request: <encoded value>
  signerName: kubernetes.io/kube-apiserver-client
  usages:
 - digital signature
 - key encipherment
 - client auth

我提供了证书内容的 base64 编码值作为请求字段的值。

  • 已创建证书签名请求对象
kubectl create -f signing-request.yaml
  • 已批准的证书签名请求
kubectl certificate approve student-csr
  • 从证书签名请求中提取批准的证书,用base64解码并保存为证书文件
kubectl get csr student-csr -o jsonpath='{.status.certificate}' | base64 --decode > student.crt

现在,当我尝试通过提供密钥和证书来使用学生用户的凭据配置 kubectl 客户端配置时,

kubectl config set-credentials student --client-certificate=student.crt --client-key=student.key

它会引发以下错误。

error: Rel: can't make F:\CKAD\BasicLF\rbac\student.crt relative to C:\Users\Nilucshan\.kube

我正在从我的工作目录 (F:\CKAD\BasicLF\rbac) 执行我的 kubectl 命令。 kubectl.exe 放在C盘。

但如果我将密钥和证书文件放在C:\Users\Nilucshan\.kube 目录中,它会成功。

这里有什么问题?为什么将我的密钥和证书文件放在我的工作目录中时它不起作用?

【问题讨论】:

    标签: kubernetes kubectl minikube


    【解决方案1】:

    我从另一个分区执行此操作时遇到了同样的问题。您可以在用户文件夹 C:\Users\Nilucshan 中创建目录,而不是 .kube

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-02
      • 2011-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-07
      相关资源
      最近更新 更多