﻿# Установка Cert-manager

> [HTML Version](install-cert-manager.html)

Cert-manager добавляет сертификаты и их элементы в качестве типов ресурсов в кластеры Kubernetes и упрощает процесс получения, обновления и использования этих сертификатов.

Установка состоит из трёх этапов:

1. [Загрузка Helm-чарта и конфигурационного файла](#download-helm-chart-and-config-file).

2. [Заполнение конфигурационного файла](#fill-config-file).

3. [Установка чарта Cert-manager с помощью Helm в Kubernetes-кластер](#install-in-kubernetes-cluster).

## Шаг 1. Загрузка Helm-чарта и конфигурационного файла

Для установки через интернет получите конфигурационный файл \[OBJECT\], выполнив команду:

````
helm repo add elma365 https://charts.elma365.tech  
helm repo update  
helm show values elma365/cert-manager > values-cert-manager.yaml

````
Получение конфигурационного файла для установки в закрытом контуре без доступа в интернет

1. На компьютере с доступом в интернет загрузите архив актуальной версии (latest) чарта cert-manager из репозитория elma365, выполнив следующую команду:

````
helm repo add elma365 https://charts.elma365.tech  
helm repo update  
helm pull elma365/cert-manager

2. ````
Полученный архив чарта \[OBJECT\] скопируйте на сервер, где будет производиться установка.

3. Распакуйте чарт \[OBJECT\] на сервере, где будет производиться установка, и скопируйте конфигурационный файл по умолчанию \[OBJECT\]:

````
tar -xf cert-manager-X.Y.Z.tgz  
cp cert-manager/values.yaml values-cert-manager.yaml
````

## ````
Шаг 2. Заполнение конфигурационного файла

Заполните конфигурационный файл \[OBJECT\] для установки Cert-manager.

````
\# Настройки cert-manager  
cert-manager:  
  # namespace для cert-manager (перед установкой его необходимо создать kubectl create ns cert-manager)  
  namespace: ""  
  # установка crds  
  installCRDs: true  
  # количество реплик для обеспечения высокой доступности  
  replicaCount: 1  
\##  
  webhook:  
    # количество реплик для обеспечения высокой доступности  
    replicaCount: 1  
\##  
  cainjector:  
    enabled: true  
    # количество реплик для обеспечения высокой доступности  
    replicaCount: 1  
  startupapicheck:  
    enabled: true

````
Заполнение параметров подключения к приватному registry для установки в закрытом контуре без доступа в интернет

  
Для подключения к приватному **registry** нужно:

1. Скачать образы ELMA365 и загрузить их в локальный реестр образов. Подробнее об этом читайте в статье [«Загрузка образов ELMA365»](downloadin-images-elma365.md).

2. Задать адрес и путь для параметров \[OBJECT\].

3. Указать наименование секрета с правами доступа к приватному **registry** в параметре \[OBJECT\]. Секрет должен быть создан вручную и зашифрован в Base64.

````
\# параметры подключения к приватному registry  
cert-manager:  
  image:  
    # адрес и путь для приватного registry  
    repository: registry.example.com/jetstack/cert-manager-controller  
  global:  
    # секрет с правами доступа к приватному registry должен быть создан вручную, зашифрованный в Base64  
    imagePullSecrets:  
      - name: "myRegistryKeySecretName"  
  webhook:  
    # параметры подключения к приватному registry  
    image:  
      # адрес и путь для приватного registry  
      repository: registry.example.com/jetstack/cert-manager-webhook  
  cainjector:  
    # параметры подключения к приватному registry  
    image:  
      # адрес и путь для приватного registry  
      repository: registry.example.com/jetstack/cert-manager-cainjector  
\##  
  acmesolver:  
    # параметры подключения к приватному registry  
    image:  
      # адрес и путь для приватного registry  
      repository: registry.example.com/jetstack/cert-manager-acmesolver  
  startupapicheck:  
    # параметры подключения к приватному registry  
    image:  
      # адрес и путь для приватного registry  
      repository: registry.example.com/jetstack/cert-manager-ctl

- ````
адрес — \[OBJECT\];

- пути — \[OBJECT\], \[OBJECT\], \[OBJECT\], \[OBJECT\], \[OBJECT\].

## Шаг 3. Установка чарта Cert-manager с помощью Helm в Kubernetes-кластер

1. Выполните установку чарта Cert-manager в namespace \[OBJECT\].

Для установки через интернет:

````
helm upgrade --install cert-manager elma365/cert-manager -f values-cert-manager.yaml -n cert-manager --create-namespace 

````
Для офлайн-установки без доступа в интернет перейдите в каталог с загруженным чартом и выполните команду:

````
helm upgrade --install cert-manager ./cert-manager -f values-cert-manager.yaml -n cert-manager --create-namespace

2. ````
Убедитесь, что чарт правильно развёрнут. Для этого проверьте пространство имён \[OBJECT\] для запущенных модулей:

````
kubectl get pod -n cert-manager  
NAME                             READY   STATUS    RESTARTS   AGE  
cert-manager-xxxx-xxx             1/1     Running   0          1m  
cert-manager-cainjector-xxx-xx    1/1     Running   0          1m  
cert-manager-webhook-xxx-xxx      1/1     Running   0          1m

## ````
Удаление чарта Cert-manager с помощью Helm в Kubernetes-кластере

````
начало внимание

````
Перед удалением Cert-manager перенастройте приложение ELMA365 на получение сертификата из других источников или отключите TLS.

````
конец внимание

````
Выполните удаление чарта Cert-manager в namespace \[OBJECT\]:

````
helm uninstall cert-manager -n cert-manager
````