在 Kubernetes 1.6 中,使用 SSL 认证时,Kubelet 服务无法启动,为什么?



当我执行"systemctl start kubelet"命令时,结果显示"错误:无法运行kubelet:无法创建证书签名请求:服务器已要求客户端提供凭据(发布 certificatesigningrequests.certificates.k8s.io(">

配置文件如下:

--experimental-bootstrap-kubeconfig=/etc/kubernetes/bootstrap.kubeconfig --kubeconfig=/etc/kubernetes/kubelet.kubeconfig --require-kubeconfig --cert-dir=/etc/kubernetes/ssl --cluster-domain=cluster.local. --hairpin-mode promiscuous bridge --serialize-image-pulls=false">

如果我对上面的行发表评论,那么一切都很好,但是我想使用SSL身份验证,那我该怎么办?

可能是缺少一些额外的参数。以下是使用证书签名请求 (https://github.com/kelseyhightower/kubernetes-the-hard-way/blob/master/docs/06-kubernetes-worker.md( 的启动命令的示例:

ExecStart=/usr/bin/kubelet \
--api-servers=${API_SERVERS} \
--allow-privileged=true \
--cluster-dns=10.32.0.10 \
--cluster-domain=cluster.local \
--container-runtime=docker \
--experimental-bootstrap-kubeconfig=/var/lib/kubelet/bootstrap.kubeconfig \
--network-plugin=kubenet \
--kubeconfig=/var/lib/kubelet/kubeconfig \
--serialize-image-pulls=false \
--register-node=true \
--tls-cert-file=/var/lib/kubelet/kubelet-client.crt \
--tls-private-key-file=/var/lib/kubelet/kubelet-client.key \
--cert-dir=/var/lib/kubelet \
--v=2

你能尝试添加像register-node或tls-cert-file和tls-cert-key-file这样的标志吗(我的看法是它会生成(

但是,当我尝试使证书签名请求完全正常工作时,我发现仍然存在一些问题,因此建议您使用群集 CA 手动创建证书。

相关内容

最新更新