Зарядіть Kubernetes цими чудовими інструментами

| | 0 Comments| 2:29 AM
Categories:

Ця стаття познайомить вас із чудовими інструментами, які можна поєднати з Kubernetes, щоб додати йому більше потужності.

Працюючи в екосистемі DevOps, ви зрозумієте, наскільки важливо мати чудові інструменти DevOps, щоб полегшити ручне завантаження. Багато інструментів DevOps доступні для кожного етапу DevOps і різних функцій.

Kubernetes є одним із обов’язкових компонентів, якщо ви працюєте в домені DevOps і запускаєте свої програми в контейнерах. Існують сотні інструментів, які працюють у поєднанні з Kubernetes, щоб додати більше функцій. Я говорю про інструменти для кращого управління, безпеки, інформаційної панелі, моніторингу кластера Kubernetes.

Ось список таких чудових інструментів, які додають більше потужності вашому Kubernetes.

Давайте розпочнемо!

кермо

кермо — це менеджер пакунків для Kubernetes, який полегшує використання програм і служб, які дуже повторювані або використовуються в багатьох різних сценаріях, полегшуючи їх розгортання в типовому кластері Kubernetes. Використовуючи Helm, ви можете знаходити, ділитися та використовувати програмне забезпечення, створене для Kubernetes.

Він використовує діаграми, які називаються Helm Charts, для визначення, встановлення та оновлення складних програм Kubernetes.

Особливості керма:

  • Подбає про всю складність програми Kubernetes за допомогою діаграм
  • Використовує оновлення та спеціальні хуки для легкого оновлення.
  • Діаграми можна легко поділитися на публічних або приватних серверах.
  • Легкий відкат за допомогою однієї команди
  • Покращує продуктивність розробників і підвищує готовність до роботи

Flagger

Flagger є прогресивним оператором доставки для Kubernetes.

Він автоматизує просування розгортань Canary за допомогою Istio, App Mesh, Nginx, Linkerd, Contour, Gloo, маршрутизації Skipper для переналаштування трафіку та Prometheus для аналізу Canary. У розгортанні Canary ви розгортаєте випуски для невеликої групи користувачів, тестуєте його, якщо він працює добре, ви розгортаєте випуск для всіх.

Він використовує сітку служби, яка працює у вашому кластері, щоб керувати трафіком між одним розгортанням і іншим. Для перенаправлення трафіку на Canary він вимірює такі показники ефективності, як середня тривалість запитів, рівень успішності HTTP-запитів, стан контейнера тощо.

Flagger може запускати автоматизований аналіз додатків, просування та відкат для кількох стратегій розгортання, як-от Canary, тестування A/B, розгортання Blue/Green.

Kubewatch

Kubewatch це спостерігач Kubernetes з відкритим вихідним кодом, який надсилає сповіщення через канал slack.

Він написаний на програмуванні Go і розроблений Bitnami Labs. Він використовується для моніторингу ресурсів Kubernetes і повідомляє про будь-які зміни.

Ви можете встановити Kubewatch через kubectl або за допомогою діаграм керма. Він простий для розуміння та має дуже зручний інтерфейс. Крім Slack, він також підтримує HipChat, Mattermost, Flock, webhook і SMTP.

  Як створити звіти про зустрічі в Zoom

Залежно від того, який Kubernetes ви хочете контролювати, ви можете встановити значення true або false для цих ресурсів у файлі ConfigMap. Щойно ви налаштуєте конфігурацію kubewatch і запустите модуль, ви почнете отримувати сповіщення про подію Kubernetes, як показано нижче.

Гіткубе

Гіткубе це інструмент, який використовує git push для створення та розгортання образів докерів у Kubernetes. Має три компоненти – Remote, gitkube-controller, gitkubed. Remote складається з спеціальних ресурсів, якими керує gitkube-controller. gitkube-controller надсилає зміни до gitkubed, який потім створює образ докера та розгортає його.

Особливості Gitkube:

  • Легко встановлювати, підключити та працювати
  • Забезпечує контроль доступу на основі ролей для безпеки
  • Проста автентифікація за допомогою відкритого ключа
  • Підтримується простір імен для мультитенантності
  • Жодних додаткових залежностей, крім kubectl і git

kube-state-metrics

kube-state-metrics — це служба, яка генерує показники об’єктів стану, слухаючи сервер API Kubernetes. Він використовується для перевірки справності різних об’єктів, таких як вузли, модулі, простори імен і розгортання. Він надає вам необроблені незмінені дані з Kubernetes API.

Нижче наведено інформацію, яку надає kube-state-metrics:

  • Роботи Cron і статус роботи
  • Статус модулів (готовий, працює тощо)
  • Запити на ресурси та їх діапазон
  • Ємність вузла та його статус
  • Специфікація наборів реплік

Камус

Камус — це інструмент GitOps із відкритим вихідним кодом, який використовується для шифрування та розшифровки секретів програм Kubernetes. Зашифровані секрети, які робить Kamus, можуть бути розшифровані лише програмами, які працюють у кластері Kubernetes. Він використовує AES, Google Cloud KMS, Azure KeyVault для шифрування секретів. Ви можете почати роботу з Камусом за допомогою таблиці керма.

Kamus поставляється з двома утилітами – Kamus CLI та Kamus init container. Kamus CLI використовується для інтеграції з API шифрування, а контейнер ініціалізації Kamus використовується для інтеграції з дешифруванням API.

Прості секрети Kubernetes не шифруються; вони закодовані base64. Ви не можете зберегти його на Git таким, яким він є; це небезпечно. Кожен, хто має доступ до репо, зможе використовувати ці секрети. Отже, потрібне відповідне рішення для шифрування/дешифрування, як Kamus. Він також надає модель загроз, яка враховує загрози та захищає секрети.

Untrak

Untrak це інструмент із відкритим вихідним кодом, який використовується в Kubernetes для пошуку невідстежуваних ресурсів і збирання сміття. Це допомагає вам знайти та видалити файли з кластера, які не відстежуються.

Після введення маніфестів у конвеєр CI/CD за допомогою шаблону kubectl apply або helm Kubernetes не знає, коли об’єкт буде видалено зі сховища. Після видалення об’єктів вони не відстежуються в процесі доставки й залишаються в кластері Kubernetes.

  18 торговельних майданчиків для пошуку вашого першого незамінного токена

Він виконує команду всередині, використовуючи простий конфігураційний файл untrak.yaml, щоб знайти ресурси, які більше не є частиною вашого керування вихідним кодом.

Область застосування

Сфера плетіння призначений для візуалізації, моніторингу та усунення несправностей Docker і Kubernetes.

Він показує вам вигляд зверху вниз вашої контейнерної програми та повної інфраструктури, за допомогою якої ви можете легко визначити будь-які проблеми та діагностувати їх.

Запуск програм архітектури мікросервісів у докер-контейнерах не такий простий. Компоненти тут дуже динамічні, і їх важко контролювати. За допомогою weave scope ви можете легко усунути витоки пам’яті та контролювати споживання ЦП, візуалізувати вузькі місця мережі.

Особливості прицілу:

  • Допомагає контролювати ваші докер-контейнери в реальному часі
  • Забезпечує легку навігацію між процесами, запущеними в контейнерах
  • Показує використання процесора та пам’яті хостом або послугою
  • Перезапуск, зупинка або призупинення контейнерів за допомогою CLI, не виходячи з вікна браузера.
  • Підтримує спеціальні плагіни для отримання додаткової інформації про контейнери, процеси та хости

Інформаційна панель Kubernetes

Інформаційна панель Kubernetes це веб-інтерфейс, наданий Kubernetes. Він використовується для розгортання, усунення несправностей і керування контейнерною програмою в кластері Kubernetes. Він надає всю інформацію про кластер, наприклад деталі про вузли, простори імен, ролі, робочі навантаження тощо.

Ви можете використовувати кермові діаграми для розгортання інформаційної панелі Kubernetes або використати просту команду kubectl, згадану нижче:

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.4/aio/deploy/recommended.yaml

Копс

Копс розшифровується як Kubernetes operations, проект із відкритим вихідним кодом, який використовується для легкого та швидкого налаштування готових до виробництва кластерів Kubernetes. Kops можна використовувати для розгортання кластерів Kubernetes переважно на AWS і GCE.

Кластер Kubernetes невеликого розміру легко створити та підтримувати, але коли ви масштабуєте кластер, додається багато конфігурацій, і керувати ним стає важко. Kops — це інструмент, який допомагає вирішити такі проблеми. Він дотримується підходу, керованого конфігурацією, який забезпечує постійне оновлення та безпеку кластера.

Kops також має багато мережевих серверних модулів, і вибір одного з них, залежно від варіанту використання, полегшує вам налаштування різних типів кластерів.

cAdvisor

cAdvisor це інструмент з відкритим кодом для моніторингу контейнера. Він використовується для розуміння характеристик продуктивності та використання ресурсів контейнерів, що працюють у кластері.

Він працює на рівні вузла та може автоматично виявляти всі контейнери, що працюють на певному вузлі, і збирає статистику пам’яті, файлової системи, процесора та мережі. Він забезпечує веб-інтерфейс, який показує поточні дані всіх контейнерів у кластері.

Щоб розпочати роботу з cAdvisor, потрібно запустити його образ докера google/cadvisor, а потім отримати доступ до нього за адресою http://localhost:8080 у веб-браузері.

  Як виправити помилку Google Chrome 403

Кубеспрей

Кубеспрей це безкоштовний інструмент, створений шляхом об’єднання підручників Ansible і Kubernetes. Він використовується для керування життєвим циклом кластера Kubernetes.

Використовуючи Kubespray, ви можете швидко розгорнути кластер і налаштувати всі параметри реалізації кластера, як-от режими розгортання, мережеві плагіни, конфігурацію DNS, версії компонентів, методи генерації сертифікатів тощо.

Просто запустивши один простий ansible-playbook, ваш кластер готовий до роботи. Ви можете легко масштабувати або оновлювати кластер Kubernetes.

K9s

K9s це термінальний інструмент із відкритим вихідним кодом, а його утиліта на інформаційній панелі може робити все, що й веб-інтерфейс Kubernetes. Він використовується для навігації, спостереження та керування додатком, розгорнутим у кластері Kubernetes.

Особливості K9s:

  • Відстежуйте свій кластер у режимі реального часу
  • Налаштуйте відображення для кожного ресурсу
  • Збільште масштаб до проблем ресурсів кластера
  • Підтримує контроль доступу на основі ролей
  • Вбудовані тести для перевірки продуктивності ресурсів

Кубехвіст

Кубехвіст це простий сценарій bash, який використовується для агрегування журналів з кількох модулів в один потік.

Дуже зручно!

Це допоможе вам з легкістю налагодити помилки.

Остання версія Kubetail також має функції підсвічування та фільтрації. Ця функція дозволяє розфарбовувати журнал. Використовуючи homebrew, ви можете встановити Kubetail за допомогою однієї команди. Ви можете додати значення за замовчуванням у змінні середовища, які може читати Kubetail, наприклад KUBETAIL_NAMESPACE, KUBETAIL_TAIL, KUBETAIL_SKIP_COLORS тощо.

PowerfulSeal

PowerfulSeal це потужний інструмент розробки хаосу з відкритим кодом, написаний на Python для кластерів Kubernetes.

Інженерія хаосу використовується, щоб отримати впевненість системи, щоб перевірити її здатність справлятися з проблемними ситуаціями на виробництві. Він вводить помилку в кластер Kubernetes, щоб якомога раніше виявити в ньому проблеми.

Він натхненний Netflix Chaos Monkey і використовується для підвищення стійкості Kubernetes. Використовуючи PowerfulSeal, інженери свідомо намагаються зламати щось на кластері, щоб перевірити реакцію системи.

PowerfulSeal працює в трьох режимах – Автономний, Інтерактивний, Мітка.

В автономному режимі він виконує сценарії, читаючи наданий вами файл політики. В інтерактивному режимі він повідомляє про компоненти кластера, які ви намагаєтеся зламати вручну. У режимі міток ви вбиваєте цільові об’єкти в кластері, як-от контейнери, за допомогою міток.

Попай

Попай це утиліта для очищення, яка діє як дезінфікуючий засіб 🧼 для кластерів Kubernetes.

Він просканує весь кластер і повідомить про проблеми, пов’язані з конфігураціями та ресурсами. Це допоможе вам застосувати найкращі практики в кластері Kubernetes, щоб уникнути поширених проблем.

Ця утиліта доступна для Windows, Linux і macOS. Наразі він працює лише з вузлами, модулями, просторами імен, службами. Використовуючи Popeye, ви можете легко ідентифікувати мертві та невикористані ресурси, невідповідності портів, правила RBAC, використання показників і багато іншого.

Висновок

Інструменти DevOps відіграють важливу роль в успіху, і я сподіваюся, що вищезазначене допоможе вам краще керувати Kubernetes.