使用让我们为 kubelet api 服务器加密证书
using letsencrypt cetificate for kubelet api server
我想为我的 kubernetes 集群使用由签名机构颁发的证书。
所以我首先尝试安装并正确配置控制器。
控制器将安装在稳定的 CoreOS (1185.3.0) 上。
kubeelet api-server 据我了解需要以下证书:
certificate-authority: ca.pem
client-certificate: apiserver.pem
client-key: apiserver-ke.pem
letsencrypt 使用 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
所以..不知道如何从这里继续。
如能提供有关此问题的任何信息,我们将不胜感激。
谢谢
@MrE 说的对。
kubernetes 集群中的每个客户端都需要注册它的名称和 ip,我需要使用 alt-names...letsencrypt 不支持所有这些。
letsencrypt 是一个简单的证书生成,主要用于网络服务器,letsencrypt 甚至不支持或计划支持通配符。所以无论如何.. letsencrypt 不是我的情况的正确解决方案。
您可能想看看 cert-manager。它与描述如何从命名空间 Issuer
或集群范围 ClusterIssuer
.
获取证书的 Certificate
对象一起使用
我想为我的 kubernetes 集群使用由签名机构颁发的证书。
所以我首先尝试安装并正确配置控制器。
控制器将安装在稳定的 CoreOS (1185.3.0) 上。
kubeelet api-server 据我了解需要以下证书:
certificate-authority: ca.pem
client-certificate: apiserver.pem
client-key: apiserver-ke.pem
letsencrypt 使用 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
所以..不知道如何从这里继续。
如能提供有关此问题的任何信息,我们将不胜感激。
谢谢
@MrE 说的对。
kubernetes 集群中的每个客户端都需要注册它的名称和 ip,我需要使用 alt-names...letsencrypt 不支持所有这些。
letsencrypt 是一个简单的证书生成,主要用于网络服务器,letsencrypt 甚至不支持或计划支持通配符。所以无论如何.. letsencrypt 不是我的情况的正确解决方案。
您可能想看看 cert-manager。它与描述如何从命名空间 Issuer
或集群范围 ClusterIssuer
.
Certificate
对象一起使用