Я хочу использовать сертификаты подписанного центра для моего кластера Kubernetes.

Поэтому я сначала пытаюсь установить и правильно настроить контроллер.

Контроллер будет установлен на стабильной версии CoreOS (1185.3.0).

Насколько я понимаю, для api-server 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

Так что .. не знаю, как дальше двигаться дальше.

Любая информация по этому вопросу будет принята с благодарностью.

Спасибо

1
ufk 26 Ноя 2016 в 14:54

2 ответа

Лучший ответ

То, что сказал @MrE, правильно.

Каждый клиент в кластере kubernetes должен зарегистрировать свое имя и ip, мне нужно использовать альтернативные имена ... все это не поддерживается в letsencrypt.

Letsencrypt - это простая генерация сертификатов в основном для веб-серверов, letsencrypt даже не поддерживает и не планирует поддерживать подстановочные знаки. так или иначе .. letsencrypt не подходящее решение для моего случая.

1
ufk 27 Ноя 2016 в 12:42

Возможно, вы захотите взглянуть на cert-manager. Он работает с объектом Certificate, который описывает, как получить сертификат из пространства имен Issuer или всего кластера ClusterIssuer.

0
Webber 28 Июн 2018 в 19:56