Перейти к основному содержимому
Терминировать TLS-соединения
Последнее изменение:

Терминировать TLS-соединения

Терминирование TLS-соединения для кластера Managed Kubernetes — это процесс расшифровки HTTPS-трафика и перенаправления его на поды Kubernetes в виде HTTP-трафика.

Терминирование TLS-соединения может использоваться:

  • для защиты передачи данных между клиентом и сервисом в кластере;
  • контроля доступа к сервисам в кластере и защиты от несанкционированного доступа;
  • повышения производительности;
  • упрощения управления сертификатами.

В кластере Managed Kubernetes процесс терминирования TLS-соединений можно настроить на балансировщике нагрузки. Терминирование TLS-соединения на балансировщике нагрузки доступно в кластерах с версией Kubernetes 1.25 и выше. Вы можете обновить версию кластера.

Сертификатами можно управлять через менеджер секретов — добавьте свой пользовательский сертификат или выпустите сертификат Let’s Encrypt®.

  1. Добавьте пользовательский сертификат или выпустите его в менеджере секретов.
  2. Создайте балансировщик нагрузки.
  3. Измените А-запись домена.

Добавить или выпустить сертификат

В менеджере секретов можно загрузить сертификат, который был выпущен в сторонних центрах сертификации, или выпустить сертификат Let’s Encrypt®.

  1. В панели управления перейдите в раздел Облачная платформаМенеджер секретов.

  2. Нажмите Добавить сертификат.

  3. Выберите Пользовательский сертификат.

  4. Введите имя сертификата.

  5. Вставьте основной сертификат для домена. Он должен начинаться с -----BEGIN CERTIFICATE----- и заканчиваться -----END CERTIFICATE-----.

  6. Вставьте приватный ключ. Он должен начинаться с -----BEGIN PRIVATE KEY----- и заканчиваться -----END PRIVATE KEY-----.

  7. Опционально: чтобы добавить промежуточный сертификат, отметьте чекбокс Добавить промежуточный сертификат и в поле Промежуточный сертификат вставьте сертификат. Он должен начинаться с -----BEGIN CERTIFICATE----- и заканчиваться -----END CERTIFICATE-----.

    Если нужно добавить несколько промежуточных сертификатов, убедитесь, что все сертификаты (основной сертификат для домена, промежуточные и корневой) создают полную цепочку. Значение Issuer основного сертификата должно совпадать со значением Subject первого промежуточного сертификата, значение Issuer первого промежуточного сертификата — с Subject второго промежуточного и так далее.

    Промежуточные сертификаты можно добавить в поле Промежуточный сертификат в любом порядке, важно использовать полную цепочку.

  8. Опционально: чтобы добавить корневой сертификат, отметьте чекбокс Добавить корневой сертификат и в поле Корневой сертификат вставьте сертификат. Он должен начинаться с -----BEGIN CERTIFICATE----- и заканчиваться -----END CERTIFICATE-----.

  9. Нажмите Добавить.

  10. Откройте страницу сертификата.

  11. Скопируйте UUID сертификата.

Создать балансировщик нагрузки

Создайте манифест с Service типа LoadBalancer:

apiVersion: v1
kind: Service
metadata:
name: <loadbalancer_name>
annotations:
loadbalancer.openstack.org/default-tls-container-ref: "<certificate_uuid>"
spec:
type: LoadBalancer
selector:
app: <application_name>
ports:
- port: 443
protocol: TCP
targetPort: 80
name: https

Укажите:

  • <loadbalancer_name> — имя балансировщика нагрузки;
  • <certificate_uuid> — универсальный уникальный идентификатор (UUID) сертификата, который вы скопировали в инструкции Добавить или выпустить сертификат;
  • <application_name> — имя приложения.

Созданный балансировщик нагрузки появится в панели управления в разделе Облачная платформаБалансировщики → вкладка Балансировщики.

Изменить А-запись домена

Вы можете ускорить распространение изменений в ресурсной записи на кеширующие серверы. Для этого за несколько дней до планируемого изменения уменьшите TTL записи до минимально возможного значения. Затем в назначенное время измените ресурсную запись, а когда изменение распространится на кеширующие серверы, верните прежнее значение TTL.

  1. В панели управления перейдите в раздел DNS.
  2. Откройте страницу зоны.
  3. В меню группы A-записей выберите Редактировать.
  4. Измените IP-адрес на адрес балансировщика нагрузки. IP-адрес балансировщика нагрузки можно посмотреть в панели управления в разделе Облачная платформаБалансировщики → вкладка Балансировщики → карточка балансировщика.
  5. Нажмите Сохранить.
  6. Подождите, пока ресурсная запись обновится на DNS-серверах. Время обновления может занимать от TTL записи до 72 часов. TTL ресурсной записи можно посмотреть в панели управления: раздел DNS → страница зоны → поле TTL.
  7. Опционально: проверьте ресурсную запись. Если спустя 72 часа ресурсная запись не обновилась, создайте тикет.
  8. Проверьте, что запросы поступают только на балансировщик нагрузки, а на сервере нет запросов от пользователей.