kubectl - 由未知权威签署的错误 x509 证书
Posted
技术标签:
【中文标题】kubectl - 由未知权威签署的错误 x509 证书【英文标题】:kubectl - error x509 certificate signed by unknown authority 【发布时间】:2021-01-29 07:36:13 【问题描述】:我在单个节点上安装了 k3s。但是当我尝试使用 kubectl 从我的机器远程连接到它时,我收到以下错误:
» kubectl version
Client Version: version.InfoMajor:"1", Minor:"15+", GitVersion:"v1.15.8-beta.0", GitCommit:"6c143d35bb11d74970e7bc0b6c45b6bfdffc0bd4", GitTreeState:"archive", BuildDate:"2020-01-29T00:00:00Z", GoVersion:"go1.14beta1", Compiler:"gc", Platform:"linux/amd64"
Unable to connect to the server: x509: certificate signed by unknown authority
在 k3s 服务器上安装 kubectl 并将其输出:
> kubectl version
Client Version: version.InfoMajor:"1", Minor:"18", GitVersion:"v1.18.9+k3s1", GitCommit:"630bebf94b9dce6b8cd3d402644ed023b3af8f90", GitTreeState:"clean", BuildDate:"2020-09-17T19:05:07Z", GoVersion:"go1.13.15", Compiler:"gc", Platform:"linux/amd64"
Server Version: version.InfoMajor:"1", Minor:"18", GitVersion:"v1.18.9+k3s1", GitCommit:"630bebf94b9dce6b8cd3d402644ed023b3af8f90", GitTreeState:"clean", BuildDate:"2020-09-17T19:05:07Z", GoVersion:"go1.13.15", Compiler:"gc", Platform:"linux/amd64"
我将 k3s.yaml 文件从服务器复制到我的机器,将其重命名为 config 并放入 ~/.kube/config。
我尝试使用--insecure-skip-tls-verify
,它可以工作,但我不想每次都使用它。
【问题讨论】:
您好,您能说出您使用哪个指南来生成您的K3S
节点吗?另外请更新您的kubectl
,因为官方支持是集群和客户端之间的 +1/-1 版本。
我是用k3s.io的k3s安装脚本安装的
我搞砸了配置文件,所以我不得不将它复制到我的机器上,现在它可以在没有 kubectl 更新的情况下工作????
【参考方案1】:
您收到“无法连接到服务器:x509:证书由未知机构签名”的错误。您似乎只复制了 ~/.kube/(config) 文件。 查看 ~/.kube/(config) 文件的内容,如果该文件条目包含 CA 根证书、客户端证书和密钥条目,那么您需要将所有这三个文件也复制到您的机器上。
【讨论】:
从哪里复制丢失的文件?我的 .kube 文件夹只有配置文件和缓存文件夹 查看配置文件的内容,它们会显示所需密钥和证书的位置。通常它们将是 /etc/kubernetes/pki 文件夹【参考方案2】:我在关闭终端时遇到了完全相同的错误。这只是一个使用以下命令设置的环境变量:
export KUBECONFIG="$(k3d kubeconfig write k3s-default)"
【讨论】:
以上是关于kubectl - 由未知权威签署的错误 x509 证书的主要内容,如果未能解决你的问题,请参考以下文章