kubernetes: файл CA при развертывании через копы

Я создал кластер на aws с помощью kops,

Однако я не могу найти файл, используемый как / центром сертификации для порождения клиентских сертификатов.

Есть ли kops создать такую ​​вещь по умолчанию?

Если да, каков рекомендуемый процесс создания клиентских сертификатов?

Документация Kops не очень ясно об этом.

1 ответ

Решение

Я делал это в прошлом:

  1. Скачать kopsсертификат CA и ключ подписи от S3:
    • s3://<BUCKET_NAME>/<CLUSTER_NAME>/pki/private/ca/*.key
    • s3://<BUCKET_NAME>/<CLUSTER_NAME>/pki/issued/ca/*.crt
  2. Сгенерируйте клиентский ключ: openssl genrsa -out client-key.pem 2048
  3. Создайте CSR:

    openssl req -new \
      -key client-key.pem \
      -out client-csr.pem \
      -subj "/CN=<CLIENT_CN>/O=dev"`
    
  4. Создайте сертификат клиента:

    openssl x509 -req \
      -in client-csr.pem \
      -CA <PATH_TO_DOWNLOADED_CA_CERT> \
      -CAkey <PATH_TO_DOWNLOADED_CA_KEY> \
      -CAcreateserial \
      -out client-crt.pem \
      -days 10000
    
  5. Закодируйте Base64 ключом клиента, сертификатом клиента и сертификатом CA и заполните эти значения в config.ymlНапример, это
  6. Распределить населенный config.yml вашим разработчикам.

5 и 6, очевидно, могут быть распределены любым способом, который вы хотите, не нужно делать config.yml для ваших разработчиков.

Другие вопросы по тегам