5 лучших инструментов, которые помогут вам управлять кластерами Kubernetes

Опубликовано: 15 Апреля, 2023
5 лучших инструментов, которые помогут вам управлять кластерами Kubernetes

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

1. Кооператив

kOps (сокращенная форма Kubernetes Operations) — это набор инструментов, которые помогают пользователям создавать, уничтожать, обновлять, поддерживать и управлять кластерами Kubernetes производственного уровня. Инструменты kOps специально созданы сообществом Kubernetes на AWS и считаются самым быстрым способом подготовки полнофункционального кластера.

kOps поддерживает несколько архитектур с поддержкой ARM64. Он построен на модели синхронизации состояния для пробных прогонов и автоматической идемпотентности. Он помогает автоматизировать подготовку высокодоступных кластеров Kubernetes и поддерживает надстройки управляемого кластера с нулевой конфигурацией. Он может генерировать конфигурации Terraform (инструмент декларативного кодирования). Кроме того, его функции включают автозаполнение командной строки, настройку API на основе манифеста YAML, шаблоны и режимы пробного запуска для создания манифестов. Он имеет возможность добавлять контейнеры в качестве перехватчиков и файлы на узлы через манифест кластера.

Интерфейс командной строки kOps позволяет пользователям создавать высокодоступный кластер с несколькими главными узлами, распределенными по нескольким зонам доступности, а рабочие процессы также могут быть распределены по нескольким зонам. Некоторые из задач, которые выполняются за кулисами во время создания кластера, — это подготовка экземпляров EC2, настройка ресурсов AWS, таких как группы автоматического масштабирования, пользователи IAM, сети и группы безопасности, а также установка Kubernetes.

kOps считается лучшим инструментом для развертывания небольших кластеров производственного уровня.

2. Kubespray

Kubespray — это инструмент автоматизации. Это может помочь автоматизировать предоставление Kubernetes с помощью Ansible, известного механизма автоматизации ИТ. Он обеспечивает более быстрое и гибкое развертывание кластеров Kubernetes, позволяя настраивать процесс внедрения. Kubespray можно описать как комбинацию Kubernetes и Ansible. Он работает на «голом железе» и большинстве облачных сервисов и поддерживает почти все популярные дистрибутивы Linux, включая Ubuntu, CentOS, Debian, Fedora, OpenSUSE и Flatcar.

Это может сделать процесс развертывания очень простым — пользователям может потребоваться запустить только один плейбук Ansible для развертывания кластера. Затем, в зависимости от требований, можно подключить дополнительные компоненты, в том числе дополнительные учебники Ansible или инструменты подготовки. Kubespray также может работать с существующими развертываниями Ansible. Другие инструменты развертывания, такие как kOps, не обеспечивают такой гибкости, поскольку сами выполняют оркестровку и подготовку. Однако kOps обеспечивает более тесную интеграцию с поддерживаемыми платформами. Таким образом, организации, которым требуется интеграция с одной платформой, могут предпочесть использовать kOps, а для интеграции с несколькими средами предпочтительнее использовать Kubespray.

Kubebspray может выполнять основные задачи управления конфигурацией с помощью операторов Ansible OS. Для знаний в области управления жизненным циклом он поддерживает интеграцию с Kubeadm. Kubeadm обеспечивает мощную поддержку функций управления жизненным циклом Kubernetes, таких как службы динамического обнаружения и собственные макеты. Kubespray поддерживает Kubeadm версии 2.3 и выше.

3. Be-ops-просмотр

Kubernetes Operational View (Kube-ops-view) — это бесплатное программное обеспечение, которое помогает визуально понять настройку кластера. Он дает общую операционную картину для нескольких кластеров Kubernetes. Программное обеспечение предлагает системную панель управления только для чтения для нескольких кластеров K8s.

Kube-ops-view показывает мощность узла и мониторинг использования ресурсов ЦП, памяти и диска. Он визуализирует отдельные модули и указывает состояние модуля по цвету границы. Каждый цвет представляет статус модуля. Постоянный зеленый цвет означает, что он запущен и все контейнеры готовы; мигающий зеленый означает запущенный и не все контейнеры готовы; мигающий желтый цвет указывает на ожидание или процесс создания контейнера, мигающий красный цвет означает наличие ошибки; синий — статус успешного выполнения заданий. Он также предоставляет информацию всплывающей подсказки для узлов и модулей и анимирует создание и завершение модуля.

Kube-ops-view помогает фильтровать поды по имени и меткам. Порты можно сортировать по различным свойствам, таким как имя модуля (по умолчанию), возраст (время запуска), использование памяти (метрика, полученная из Heapster), использование ЦП (метрика, полученная из Heapster). Кроме того, сортировка по ЦП и памяти позволяет пользователям указать модули, потребляющие больше всего ресурсов.

В Kube-ops-view отсутствуют некоторые функции, так как он не заменяет панель инструментов Kubernetes. Это не решение для мониторинга и не инструмент управления операциями. Таким образом, он не позволяет взаимодействовать с реальным кластером. Изображение 14240

4. К9с

K9s — это интерфейс командной строки Kubernetes для управления и просмотра кластеров. Его пользовательский интерфейс на основе терминала используется для взаимодействия с кластерами. Проект K9s упрощает навигацию, наблюдение и управление развернутыми приложениями в реальных условиях. K9s постоянно следит за изменениями в Kubernetes и предлагает последующие команды для взаимодействия с наблюдаемыми ресурсами. Он доступен на платформах Linux, macOS и Windows. Он использует псевдонимы для навигации по большинству ресурсов K8s.

K9s в режиме реального времени отслеживает действия ресурсов, работающих в кластерах Kubernetes, и мгновенно предоставляет информацию. Он обрабатывает как стандартные ресурсы Kubernetes, так и пользовательские определения ресурсов (CRD). Он также отслеживает в реальном времени показатели, связанные с такими ресурсами, как контейнеры, узлы и модули. Он предоставляет стандартные команды управления кластером, такие как журналы, перенаправление портов, перезапуски и масштабирование.

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

K9s имеет скины и настраивается, поскольку пользователи могут настраивать или упорядочивать, какие столбцы отображать для каждого ресурса. Он также предоставляет переключатели для просмотра минимальных или полных определений ресурсов. Он также имеет такие функции, как встроенный бенчмаркинг, поддержку RBAC, обратный поиск утверждений, обход графа ресурсов и просмотр нескольких ресурсов с помощью представлений Pulses и XRay.

K9sAlpha (также известная как Alpha) — это следующее поколение утилит Kubernetes. Наряду с функциями K9s, K9sAlpha также содержит дополнительные функции и улучшения.

5. Контейнер для линз

Kontena Lens, интегрированная среда разработки (IDE) для управления кластерами Kubernetes, представляет собой настольное приложение, используемое разработчиками для создания и развертывания приложений в кластерах Kubernetes. Он предоставляет информацию о различных статистических данных, событиях и потоках журналов, обеспечивая видимость кластера в режиме реального времени.

Это автономное приложение можно установить на настольные компьютеры Windows, Linux и macOS, и нет необходимости в какой-либо установке в кластере. Он также поддерживает различные разновидности Kubernetes, включая k3s, AKS, EKS, GKE, Rancher, Minikube, OpenShift и другие. Пользователи могут напрямую импортировать kubeconfigs для нужного кластера и начать работу.

Объектив состоит из смарт-терминала, который представляет собой контекстно-зависимое отображение информации. Он может автоматически назначать и настраивать контекст kubeconfig для предоставления сведений о выбранном в данный момент кластере Kubernetes. Он также может синхронизировать установленную версию kubctl, чтобы она соответствовала версиям API, используемым в текущем кластере. Интеллектуальный терминал также интегрирован с Helm, что позволяет использовать все общедоступные диаграммы Helm для более быстрого развертывания.

Объектив также обеспечивает встроенную интеграцию со службой мониторинга Prometheus. Это позволяет пользователям визуализировать показатели использования ресурсов, включая использование и доступность ЦП, памяти и емкости диска. Пользователи могут использовать готовые расширения Lens, предоставляющие дополнительные настраиваемые функции, или даже создавать собственные расширения для разработки рабочих процессов с использованием других вспомогательных технологий.

В августе 2020 года компания Mirantis приобрела Lens.

Управляйте Kubernetes — даже когда он меняется

С ускоренным внедрением Kubernetes и поддерживающих его артефактов процесс работы с рабочими нагрузками на основе контейнеров и управления ресурсами также постоянно развивается. В таких сценариях использование правильного инструмента может помочь идти в ногу с этими динамически изменяющимися переменными и помочь вам в расширении в новые сферы контейнерных технологий.