﻿# Создание сертификата Let’s Encrypt

> [HTML Version](certificate-lets-encrypt.html)

Let's Encrypt — это бесплатный, автоматизированный и открытый Центр Сертификации. Он помогает решить проблему автоматической настройки HTTPS на сервере, когда TLS‑сертификаты выдаются и обновляются без участия человека.

Сертификат Let's Encrypt устанавливается в ELMA365 On-Premises Enterprise. Рассмотрим, как выполнить такую установку.

Чтобы создать сертификат Let's Encrypt, выполните следующие действия:

1. Установите компонент дополнений [Cert-manager](install-cert-manager.md).

2. Создайте yaml-файл **cluster-issuer.yaml**:

````
nano cluster-issuer.yaml

````
Для инициирования процедуры заказа сертификата в кластере Kubernetes должны быть объявлены ресурсы центров сертификации (CA), которые используются для подписи CSR (запросов на выпуск сертификата). В зависимости от требуемой области видимости вы можете объявить нужный ресурс:

- **Issuer** — может использоваться в рамках одного пространства имён;

- **ClusterIssuer** — является глобальным объектом кластера.

3. Вставьте в файл **cluster-issuer.yaml** следующие значения:

````
apiVersion: cert-manager.io/v1  
kind: ClusterIssuer  
metadata:  
  name: elma365-certificate  
spec:  
  acme:  
    email: your\_email@mail\_server\_domain  
    server: https://acme-v02.api.letsencrypt.org/directory  
    privateKeySecretRef:  
      name: elma365-certificate  
    solvers:  
      - http01:  
          ingress:  
            class: nginx

````
где:

- \[OBJECT\] — адрес вашей электронной почты;

- \[OBJECT\] — адрес сервера. Let's Encrypt имеет ограничение на количество выпускаемых сертификатов, примерно пять в неделю, поэтому для отладки можно использовать адрес сервера другого издателя без ограничения: \[OBJECT\].

4. Примените файл **cluster-issuer.yaml** к кластеру:

````
kubectl apply -f cluster-issuer.yaml

5. ````
Создайте yaml-файл сертификата **create-elma365-certificate.yaml**:

````
nano create-elma365-certificate.yaml

6. ````
 Внесите изменения в файл **create-elma365-certificate.yaml**:

````
apiVersion: cert-manager.io/v1  
kind: Certificate  
metadata:  
  name: elma365-tls-certificate  
  namespace: \[namespace\]  
spec:  
  secretName: elma365-onpremise-tls  
  issuerRef:  
    kind: ClusterIssuer  
    name: elma365-certificate  
  commonName: elma365\_server.your\_domain  
  dnsNames:  
  - elma365\_server.your\_domain

````
где:

- \[OBJECT\] — наименование нужного namespace, в котором должен быть размещён сертификат;

- \[OBJECT\] и \[OBJECT\] — наименование домена (FQDN), для которого должен быть выпущен сертификат (замените \[OBJECT\]).

````
начало примечание

````
**Примечание**

Создайте Secret с сертификатом в том же namespace, в котором работает или будет установлено целевое приложение, для которого выпускается сертификат.

Для приложения [ELMA365](installing-elma365-enterprise.md) стандартный namespace: \[OBJECT\]. 

Для [встроенных баз данных](embedded-databases-settings.md) стандартный namespace: \[OBJECT\].

````
конец примечание

7. ````
 Примените сертификат к кластеру:

````
kubectl apply -f create-elma365-certificate.yaml

8. ````
Для установки или обновления приложения [ELMA365](installing-elma365-enterprise.md) или [встроенных баз данных](embedded-databases-settings.md) используйте secret \[OBJECT\] (наименование, указанное в параметре \[OBJECT\]).