1

我想为我的 kubernetes 集群使用签名机构的证书。

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

控制器将安装在 CoreOS 稳定版 (1185.3.0) 上。

据我了解,kubeelet api-server 需要以下证书:

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

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

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 是客户端密钥,我没有证书颁发机构,而且我有链证书,我不知道该怎么做。

我使用以下命令使用带有 certbot docker 映像的 rkt 创建了证书:

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

所以..不知道如何从这里继续。

任何有关该问题的信息将不胜感激。

谢谢

4

2 回答 2

0

@MrE 说的是正确的。

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

letsencrypt 是一个简单的证书生成,基本上是为 web 服务器生成的,letsencrypt 甚至不支持或计划支持通配符。所以无论如何..letsencrypt 不是我的情况的正确解决方案。

于 2016-11-27T12:42:44.290 回答
0

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

于 2018-06-28T19:56:00.437 回答