我在Master中创建了一个用户
首先,我为他创建了一个密钥和证书:dan.key
和dan.crt
然后我在Kubernetes中创建了它:
kubectl config set-credentials dan \
--client-certificate=/tmp/dan.crt \
--client-key=/tmp/dan.key
这是~/.kube/config
:
users:
- name: dan
user:
as-user-extra: {}
client-certificate: /tmp/dan.crt
client-key: /tmp/dan.key
我希望能够以我创建的用户身份从远程工作程序运行命令 我知道如何使用服务帐户令牌:
kubectl --server=https://192.168.0.13:6443 --insecure-skip-tls-verify=true --token="<service_account_token>" get pods
我将certifiacte和密钥复制到远程工作人员并运行:
[workernode tmp]$ kubectl --server=https://192.168.0.13:6443 --client-certificate=/tmp/dan.crt --client-key=/tmp/dan.key get pods
Unable to connect to the server: x509: certificate signed by unknown authority
我跟着这个问题:
kubectl unable to connect to server: x509: certificate signed by unknown authority
我试着像他写的那样:
kubectl proxy --address 0.0.0.0 --accept-hosts '.*'
但我还在接受:
Unable to connect to the server: x509: certificate signed by unknown authority
答案 0 :(得分:0)
我将certifiacte和密钥复制到远程工作人员并运行:
[workernode tmp]$ kubectl --server=https://192.168.0.13:6443 --client-certificate=/tmp/dan.crt --client-key=/tmp/dan.key get pods
无法连接到服务器:x509:由未知权限签名的证书
您错过了关键数据,告诉kubectl
如何信任该请求的https:
部分,即--certificate-authority=/path/to/kubernetes/ca.pem
在使用--token=...
时你没有遇到这个错误,因为--insecure-skip-tls-verify=true
你绝对不应该这样做。
我试着写道:
kubectl proxy --address 0.0.0.0 --accept-hosts '.*'
但我仍在接受:
你从你正在阅读的任何文章中听到了错误的建议; --accept-hosts
标志仅控制kubectl proxy
将接受连接的远程主机名,并且与SSL任何事情无关。