如何解决在 kubectl 配置中设置用户凭据时出错
我正在 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
目录中,它会成功运行。
这里有什么问题?当我的密钥和证书文件放在我的工作目录中时,为什么它不起作用?
解决方法
我从另一个分区执行时遇到了同样的问题。您可以在用户文件夹 C:\Users\Nilucshan 中创建目录而不是 .kube
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。