Сертифікований менеджер
Розгортання Cert-Manager на VPS AlexHost для безпечної роботи з Kubernetes
Чому варто використовувати Cert-Manager на AlexHost? Cert-Manager автоматизує управління сертифікатами TLS в Kubernetes, забезпечуючи безпечний, зашифрований зв’язок. VPS від AlexHost зі сховищем NVMe, root-доступом і захистом від DDoS забезпечує високопродуктивну, безпечну платформу для кластерів Kubernetes. У цьому посібнику описано функції Cert-Manager, його налаштування та приклади використання на AlexHost.
Що таке Cert-Manager?
Cert-Manager – це надбудова до Kubernetes з відкритим вихідним кодом, яка автоматизує управління та оновлення сертифікатів TLS. Він легко інтегрується з Kubernetes для випуску сертифікатів для додатків, що працюють в кластері, усуваючи ручні процеси, які зазвичай потрібні для отримання та оновлення сертифікатів. Cert-Manager може випускати сертифікати з різних джерел, включаючи Let’s Encrypt, HashiCorp Vault, Venafi та інші приватні центри сертифікації (CA). Він постійно відстежує термін дії сертифікатів і автоматично поновлює їх за необхідності, гарантуючи, що ваші сервіси залишатимуться захищеними без ручного втручання
Основні можливості Cert-Manager
Cert-Manager пропонує кілька ключових функцій, які роблять його безцінним інструментом для користувачів Kubernetes
- Автоматична видача сертифікатів: Cert-Manager автоматично генерує сертифікати TLS на основі ресурсів Kubernetes, таких якабо
Ingress
. Це гарантує, що будь-які нові або оновлені сервіси у вашому кластері будуть захищені дійсними сертифікатами.Certificate
- Поновлення сертифікатів: Cert-Manager відстежує закінчення терміну дії виданих сертифікатів і автоматично поновлює їх до закінчення терміну дії, гарантуючи, що ваші додатки завжди матимуть дійсні сертифікати і уникнуть простоїв.
- Підтримка декількох центрів сертифікації: Cert-Manager підтримує різні центри сертифікації, включаючи безкоштовний Let’s Encrypt, загальнодоступні SSL-сертифікати, а також внутрішні та приватні центри сертифікації, надаючи вам гнучкість у виборі способу випуску сертифікатів.
- Kubernetes Native: Cert-Manager інтегрується з Kubernetes нативно. Він використовує власні визначення ресурсів Kubernetes (CRD) для визначення запитів на сертифікати та керує сертифікатами як ресурсами Kubernetes.
- Виклики DNS-01 і HTTP-01: Cert-Manager підтримує декілька типів викликів ACME (наприклад, DNS-01 і HTTP-01) для перевірки права власності на домен при використанні таких центрів сертифікації, як Let’s Encrypt. Ці методи автоматизують процес перевірки, роблячи випуск сертифікатів безперешкодним.
- Підставні символи та багатодоменні сертифікати: Cert-Manager може випускати підстановочні сертифікати, які корисні для захисту декількох піддоменів одним сертифікатом, а також може обробляти сертифікати для декількох доменів, спрощуючи управління складними додатками.
Як працює Cert-Manager
Cert-Manager працює, взаємодіючи з ресурсами Kubernetes і зовнішніми центрами сертифікації для керування сертифікатами протягом усього їхнього життєвого циклу. Ось огляд цього процесу
- Запит на отриманнясертифіката: Cert-Manager використовує ресурс Kubernetes під назвою Certificate або Ingress для запиту сертифіката. Ці ресурси містять такі дані, як доменні імена, на які поширюватиметься сертифікат, термін дії сертифіката та емітента.
- Випуск сертифіката: Cert-Manager взаємодіє з налаштованим ресурсом Issuer або ClusterIssuer, щоб запросити сертифікат у CA. Емітентом може бути Let’s Encrypt, приватний ЦС або інший підтримуваний постачальник сертифікатів.
- Перевірка (виклики ACME): Якщо ви використовуєте ACME-центри, такі як Let’s Encrypt, Cert-Manager вирішить виклик для підтвердження права власності на домен. Це може бути виклик HTTP-01 (шляхом відправки токена через HTTP) або DNS-01 (шляхом створення TXT-запису DNS). Після перевірки центр сертифікації видає сертифікат.
- Зберігання сертифікату: Виданий сертифікат зберігається в Kubernetes Secret, на який потім можуть посилатися інші ресурси Kubernetes (наприклад, Ingress), щоб увімкнути TLS для ваших додатків.
- Моніторинг та оновлення: Cert-Manager постійно відстежує сертифікати та автоматично поновлює їх до закінчення терміну дії, гарантуючи, що ваші сервіси залишатимуться захищеними без простоїв.
Компоненти Cert-Manager
Cert-Manager складається з декількох основних компонентів, які працюють разом для керування сертифікатами в Kubernetes
- Емітент/кластерний емітент: ці ресурси визначають, як і звідки Cert-Manager має запитувати сертифікати. Issuer працює у межах простору імен, а ClusterIssuer – у межах кластера. Вони надають деталі конфігурації для взаємодії з потрібним центром сертифікації.
- Сертифікат: Ресурс Certificate визначає конкретний сертифікат TLS, який має запитувати Cert-Manager. Він містить такі дані, як доменне ім’я (імена), термін дії та пов’язаний з ним емітент.
- CertificateRequest: Cert-Manager використовує ресурс CertificateRequest для відстеження конкретного запиту на сертифікат. Цей ресурс автоматично створюється Cert-Manager, коли запитується новий сертифікат.
- Секрет: Після того, як Cert-Manager отримує сертифікат від центру сертифікації, він зберігає сертифікат і приватний ключ у секреті Kubernetes. Потім на цей секрет можуть посилатися програми або ресурси Ingress, щоб увімкнути TLS.
Поширені випадки використання Cert-Manager
Cert-Manager широко використовується в середовищах Kubernetes для спрощення та автоматизації керування сертифікатами. Ось кілька поширених випадків використання
1. Захист веб-додатків за допомогою HTTPS
Одним з найпопулярніших варіантів використання Cert-Manager є захист веб-додатків за допомогою HTTPS з використанням Let’s Encrypt для випуску SSL-сертифікатів. Cert-Manager може автоматично випускати і поновлювати сертифікати для ресурсів Kubernetes Ingress, гарантуючи, що веб-трафік зашифрований і захищений
2. Автоматизація поновлення сертифікатів
Керування оновленням сертифікатів вручну може забирати багато часу і бути схильним до людських помилок. Cert-Manager автоматизує цей процес, відстежуючи дати закінчення терміну дії сертифікатів і поновлюючи їх до закінчення терміну дії, гарантуючи, що ваші сервіси не постраждають від простою через прострочені сертифікати
3. Керування внутрішніми сертифікатами
Окрім публічних сертифікатів, Cert-Manager може керувати сертифікатами, випущеними приватними центрами сертифікації для внутрішніх додатків. Наприклад, в архітектурі мікросервісів, де сервіси взаємодіють між собою через захищену мережу, Cert-Manager може випускати і ротувати сертифікати для внутрішньої взаємодії між сервісами
4. Підстановочні сертифікати
Для додатків, які використовують кілька субдоменів (наприклад, app.example.com, api.example.com), Cert-Manager може випустити один сертифікат підстановки (наприклад, *.example.com) для захисту всіх субдоменів одночасно, що спрощує управління сертифікатами
Встановлення та налаштування Cert-Manager
Встановити Cert-Manager у кластері Kubernetes дуже просто. Нижче наведено загальні кроки для встановлення та налаштування Cert-Manager
Крок 1: Встановлення Cert-Manager
Ви можете встановити Cert-Manager за допомогою Helm або за допомогою статичних YAML-маніфестів. Ось спосіб встановлення за допомогою Helm
Крок 3: Запит сертифікату
Після того, як ви налаштували свого емітента, ви можете створити ресурс Certificate для запиту сертифіката TLS для вашої програми
Висновок: Легко захистіть свій кластер Kubernetes за допомогою Cert-Manager на VPS-сервері AlexHost
Cert-Manager автоматизує управління сертифікатами TLS, забезпечуючи безпеку додатків Kubernetes з мінімальними зусиллями. Розгорніть його на VPS від AlexHost для швидкої видачі сертифікатів на базі NVMe із підтримкою root-доступу.