无法检查 Kubernetes 中的用户证书权限:"Y and X are both specified for kubernetes-admin. Y will override"

Failed to check user certificate permissions in Kubernetes: "Y and X are both specified for kubernetes-admin. Y will override"

我正在尝试使用 kubectl auth can-i 检查 kubelet 证书权限,但失败并出现以下错误:

root@ubuntu:~# kubectl --certificate-authority=/etc/kubernetes/pki/ca.crt --client-certificate=/var/lib/kubelet/pki/kubelet-client-current.pem --client-key=/var/lib/kubelet/pki/kubelet-client-current.pem auth can-i --list
Error in configuration:
* client-cert-data and client-cert are both specified for kubernetes-admin. client-cert-data will override.
* client-key-data and client-key are both specified for kubernetes-admin; client-key-data will override

我阅读了错误,它写道某些字段将被覆盖,但我不明白为什么我看不到权限或我需要做什么才能看到,感谢您的帮助。

该错误涉及您在 kubeconfig 文件中的证书和密钥定义。如果您没有将其设置为环境变量 KUBECONFIG,则默认情况下 ~/.kube/config

因为在您的 kubeconfig 上有用户 kubernetes-admin 的证书数据

    - name: kubernetes-admin
      user:
        client-certificate-data: xxxx=
        client-key-data: xxx==

您可以在您的 kubeconfig 文件中注释掉您的用户 client-certificate-dataclient-key-data,然后再次尝试该命令。我遇到了同样的错误,当我发表评论时它起作用了。