Использование сертификата letsencrypt для сервера kubelet api
Я хочу использовать сертификаты уполномоченного органа для моего кластера kubernetes.
поэтому я сначала пытаюсь установить и правильно настроить контроллер.
Контроллер будет установлен в стабильной версии CoreOS (1185.3.0).
Насколько мне известно, для api-сервера kubeelet нужны следующие сертификаты:
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 kfirufk@gmail.com --agree-tos --standalone --preferred-challenges tls-sni-01
так что.. не знаю, как дальше отсюда.
любая информация по этому вопросу будет принята с благодарностью.
Спасибо
2 ответа
То, что @MrE сказал, правильно.
каждый клиент в кластере kubernetes должен зарегистрировать свое имя и ip, мне нужно использовать alt-names... все это не поддерживается в letsencrypt.
letsencrypt - это простая генерация сертификатов, в основном для веб-серверов, letsencrypt даже не поддерживает и не планирует поддерживать подстановочные знаки. так или иначе.. letsencrypt не является правильным решением для моего случая.
Возможно, вы захотите взглянуть на сертификат-менеджер. Работает с Certificate
объект, который описывает, как получить сертификат из пространства имен Issuer
или для всего кластера ClusterIssuer
,