这里使用创建证书的方法来增加用户,具体方法见链接里X509部分。
但是生成证书的时候需要注意,ca使用的是k3s的client-ca.crt,而不是server-ca.crt,否则会报以下错误。
You must be logged in to the server (Unauthorized)
之后生成kubeconfig的方法可以参考这里,这里需要注意的是certificate-authority
参数对应的证书应该是server-ca.crt,否则会报错证书不受信。
另外,低版本的kubectl命令可能没有--certificate-authority-data
参数,使用--embed-certs=true
代替即可,目的是将证书内容写入kubeconfig。
创建成功后就可以用kubectl --kubeconfig=${kubeconfig-path} xxx
来访问集群了。也可以使用命令mv ${kubeconfig-path} ~/.kube/config
把新创建的kubeconfig文件放到默认路径下,这样使用kubectl命令时就不用指定kubeconfig了。其中${kubeconfig-path}
是指创建的kubeconfig全路径名称。