我想通过已签名的权限为我的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
所以......不知道怎么从这里开始。
非常感谢有关该问题的任何信息。
感谢
答案 0 :(得分:1)
@MrE说的是正确的。
kubernetes集群中的每个客户端都需要注册它的名称和IP,我需要使用alt-names ......所有这些都不在letsencrypt中支持。
letsencrypt是一个基本上用于Web服务器的简单证书生成,letsencry甚至不支持或计划支持通配符。无论如何.. letsencrypt对我来说不是正确的解决方案。
答案 1 :(得分:0)
您可能想看看cert-manager。它与Certificate
对象一起使用,该对象描述了如何从命名空间Issuer
或群集范围内的ClusterIssuer
获取证书。