使用letsencrypt cetificate for kubelet api server

时间:2016-11-26 11:54:28

标签: kubernetes coreos lets-encrypt certbot

我想通过已签名的权限为我的kubernetes集群使用证书。

所以我首先尝试安装并正确配置控制器。

控制器将安装在CoreOS stable(1185.3.0)上。

根据我的理解,

kubeelet api-server需要以下证书:

certificate-authority: ca.pem
client-certificate: apiserver.pem
client-key: apiserver-ke.pem

使用certbot容器的letsencrypt创建了以下证书:

cert = /etc/letsencrypt/live/coreos-2.tux-in.com/cert.pem
privkey = /etc/letsencrypt/live/coreos-2.tux-in.com/privkey.pem
chain = /etc/letsencrypt/live/coreos-2.tux-in.com/chain.pem
fullchain = /etc/letsencrypt/live/coreos-2.tux-in.com/fullchain.pem

所以cert.pem是客户端证书,privkey.pem是客户端密钥, 我没有证书授权,而且我有链证书,我不知道该怎么做。

我使用rkt和certbot docker image使用以下命令创建了证书:

rkt --insecure-options=image --port 443-tcp:443 run  docker://deliverous/certbot \
  --volume letsencrypt-etc,kind=host,source=/opt/letsencrypt-etc \
  --mount volume=letsencrypt-etc,target=/etc/letsencrypt \
  --volume resolv-conf,kind=host,source=/etc/resolv.conf \
  --mount volume=resolv-conf,target=/etc/resolv.conf \
  --volume certbot-tls-certs,kind=host,source=/opt/certbot-tls-certs \
  --mount volume=certbot-tls-certs,target=/var/www/tls-certs \
  -- certonly -w /var/www/tls-certs -d coreos-2.tux-in.com \
  --email kfirufk@gmail.com --agree-tos --standalone --preferred-challenges tls-sni-01

所以......不知道怎么从这里开始。

非常感谢有关该问题的任何信息。

感谢

2 个答案:

答案 0 :(得分:1)

@MrE说的是正确的。

kubernetes集群中的每个客户端都需要注册它的名称和IP,我需要使用alt-names ......所有这些都不在letsencrypt中支持。

letsencrypt是一个基本上用于Web服务器的简单证书生成,letsencry甚至不支持或计划支持通配符。无论如何.. letsencrypt对我来说不是正确的解决方案。

答案 1 :(得分:0)

您可能想看看cert-manager。它与Certificate对象一起使用,该对象描述了如何从命名空间Issuer或群集范围内的ClusterIssuer获取证书。