我正在设置一个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证书捆绑包后,我重新运行提到的第一个命令。
它再次失败,并显示服务器证书验证失败错误。
请帮助我了解我要去哪里错了?是因为我无法获得本地发行者证书吗?请帮忙。
答案 0 :(得分:0)
您使用的是i386映像还是涉及一些防火墙?如果它是Xenial的64位版本,则一定是某种系统问题。
看看这个case。特别是我会按照@davidthings的建议检查当前系统时间date -R
和apt-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