在Ubuntu 16.04上安装Kubernetes时服务器证书验证失败

时间:2018-12-12 10:59:44

标签: ssl kubernetes

我正在设置一个Kubernetes集群,作为其一部分,我运行了以下命令(在官方文档中提到:https://kubernetes.io/docs/tasks/tools/install-kubectl/):

sudo apt-get update && sudo apt-get install -y apt-transport-https

但是,它失败并显示以下错误:

Err:3 https://packages.cloud.google.com/apt kubernetes-xenial/main amd64 Packages
  server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none

现在,我使用以下命令获取证书:

ex +'/BEGIN CERTIFICATE/,/END CERTIFICATE/p' <(echo | openssl s_client -showcerts -connect packages.cloud.google.com:443) -scq > kubecertificate.crt

我收到以下答复:

verify error:num=20:unable to get local issuer certificate
DONE

但是,因为我看到kubecertificate.crt文件中的内容,所以我继续将证书复制到/ usr / local / share / ca-certificates /目录中。

然后我跑:

update-ca-certificates

更新我的ca证书捆绑包后,我重新运行提到的第一个命令。

它再次失败,并显示服务器证书验证失败错误。

请帮助我了解我要去哪里错了?是因为我无法获得本地发行者证书吗?请帮忙。

1 个答案:

答案 0 :(得分:0)

您使用的是i386映像还是涉及一些防火墙?如果它是Xenial的64位版本,则一定是某种系统问题。

看看这个case。特别是我会按照@davidthings的建议检查当前系统时间date -Rapt-get install NTP,因为我记得遇到类似的问题。在链接的案例中列出了很多其他可以帮助您的解决方案-检查哪种解决方案适用于您,如果成功,请进行更新。

之后,您可以尝试下载kubectl,kubelet和kubeadm(如果只需要一个,请进行相应的编辑)

curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - cat <<EOF >/etc/apt/sources.list.d/kubernetes.list deb http://apt.kubernetes.io/ kubernetes-xenial main EOF sudo apt-get update sudo apt-get install -y kubelet kubeadm kubectl