Skip to content

Instantly share code, notes, and snippets.

@jidckii
Created February 17, 2023 05:57
Show Gist options
  • Save jidckii/b97092b0370ae427402e66972c3817a0 to your computer and use it in GitHub Desktop.
Save jidckii/b97092b0370ae427402e66972c3817a0 to your computer and use it in GitHub Desktop.
Как выпустить сертификат в namecheap или другом CA и использовать в kubernetes

Как выпустить сертификат в namecheap или другом CA и использовать в kubernetes

  1. Подготовить openssl config san.cnf

    [ req ]
    default_bits       = 4096
    distinguished_name = req_distinguished_name
    req_extensions     = req_ext
    prompt = no
    [ req_distinguished_name ]
    countryName                = US
    stateOrProvinceName        = Florida
    localityName               = Miami
    organizationName           = Example Inc
    organizationalUnitName     = IT
    commonName                 = *.example.com
    emailAddress               = info@example.com
    [ req_ext ]
    subjectAltName = @alt_names
    [alt_names]
    DNS.1   = example.com
    
  2. Выпустить CSR и приватный key по подготовленному конфигу, но вы можете также не указывать config и заполнить данные в консоли.

    openssl req -new -newkey rsa:4096 -nodes -keyout wildcard_example_com_namecheap.key -out wildcard_example_com_namecheap.csr -config san.cnf
  3. Загрузить CSR в namecheap и верифицировать получение сертификата через DNS CNAME

  4. Скачать выпущенные сертификаты.

  5. Объеденить файлы .crt и .ca-bundle в единый .pem файл

    cat __example_com.ca-bundle __example_com.crt > wildcard_example_com.pem
  6. Создать секрет с сертификатами в kubernetes

    kubectl create secret tls wildcard-example-namecheap-tls --key wildcard_example_com_namecheap.key --cert wildcard_example_com.pem
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment