2016-11-26 54 views
0

我想使用由我的kubernetes羣集的簽名機構頒發的證書。使用letsencrypt確認kubelet api服務器

所以我第一次嘗試安裝並正確配置控制器。

控制器將被安裝在CoreOS穩定(1185.3.0)。

kubeelet API服務器需要以下證件,據我所知:

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是客戶端密鑰, 我沒有證書頒發機構,並且我有連鎖證書,我不知道該如何處理。

我創建使用下面的命令使用RKT與certbot泊塢窗圖像的證書:

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 [email protected] --agree-tos --standalone --preferred-challenges tls-sni-01 

所以..不知道如何從這裏走的。

有關該問題的任何信息將不勝感激。

謝謝

+2

我不知道,你可以使用一個LetsEncrypt證書爲Kubernetes,因爲你需要的服務器/客戶端證書,並且每個客戶端需要使用專有名稱和註冊自己的IP,你還需要使用Alt-名DNS和庫貝API ,LetsEncrypt不會讓你這樣做。 LetsEncrypt只爲TLS提供服務器證書。 我認爲你可以使用CloudFlare證書。 – MrE

回答

0

@MrE說的是正確的。

集羣需要進行註冊的名稱和IP的kubernetes每一個客戶,我需要使用Alt-名......所有這一切都沒有letsencrypt支持。

letsencrypt是一個簡單的證書生成基本的web服務器,letsencrypt甚至不支持或計劃支持通配符。無論如何.. letsencrypt是不是我的情況下正確的解決方案。