Библиотека сайта rus-linux.net
Введение в Cockpit, инструмент администрирования Linux через браузер
Оригинал: An introduction to Cockpit, a browser-based administration tool for Linux
Автор: Michael Zamot (Red Hat)
Дата публикации: 14 апреля 2020 г.
Перевод: В.Костромин
Дата перевода: 8 мая 2020 г.
Нужно контролировать или администрировать сервер удаленно через Интернет? Не ищите ничего другого, если у вас есть Cockpit.
Cockpit - это инструмент администрирования серверов, спонсируемый Red Hat, который нацелен на предоставление современного и удобного интерфейса для управления и администрирования серверов. Cockpit по умолчанию включен в Fedora 21, и с тех пор он продолжает расти и развиваться. Red Hat Enterprise Linux 7 включил Cockpit в необязательные и дополнительные репозитории, и он включен в Red Hat Enterprise Linux 8 по умолчанию.
Cockpit не первый в своем классе (многие системные администраторы могут вспомнить Webmin), но альтернативы обычно неуклюжи, раздуты, и их базовые API могут представлять угрозу безопасности. Cockpit выгодно от них отличается. При использовании Cockpit, ненужные сервисы или API не мешают выполнять необходимые действия.
Возможности и особенности Cockpit
Вот краткий перечень свмых важных особенностей Cockpit:
- В проекте участвуют дизайнеры графики и интерфейса.
- Cockpit является модульным и может быть расширен за счет установки дополнительных модулей. Вы даже можете разрабатывать свои собственные модули.
- Он может поддерживать несколько серверов с одной панели.
- Он не навязчив, в том смысле что может работать вместе с другими инструментами управления, не вызывая проблем.
- Cockpit использует сокет
systemd
и не занимает память, когда не используется. - Cockpit строится на основе существующей функциональности; по умолчанию он не требует настройки.
- Cockpit не хранит нигде состояние или данные о серверах. Он использует те же API, которые используют инструменты командной строки.
- Cockpit не требует особых привилегий или прав суперпользователя. Он создает
сессию от имени запустившего его пользователя и испольует те же права, что этот пользователь.
Чтобы выполнить действия по администрированию, пользователь должен иметь право использовать
sudo
илиPolicyKit
для получения необходимых привилегий. - Он бесплатен!
Установка Cockpit
Cockpit доступен и поддерживается в большинстве основных дистрибутивов.
Чтобы установить его в Fedora/CentOS 8/RHEL 8, выполните следующую команду:
sudo dnf install cockpit
В Ubuntu/Debian 10 нужно выполнить команду:
sudo apt install cockpit
Для того, чтобы задействовать сокет, используйте команду:
sudo systemctl enable --now cockpit.socket
Чтобы открыть порты в файерволе (если требуется), выполните следующие команды:
sudo firewall-cmd --add-service=cockpit --permanent
sudo firewall-cmd --reload
Дополнительные модули для Cockpit
Как уже упоминалось выше, Cockpit может быть дополнен существующими плагинами или теми, которые вы напишете сами. Cockpit предлагает набор Starter Kit для использования в качестве отправной точки при создании ваших собственных модулей.
Множество компьютеров или серверов могут управляться из одной сессии Cockpit
после инсталляции панели cockpit-dashboard
. Для управления контейнерами
посредством Podman
, вы можете использовать cockpit-podman
.
С помощью cockpit-machines
вы можете управлять виртуальными машинами, используя
libvirt
. Этот плагин позволяет пользователям создавать, удалять или обновлять
пулы хранения и сети, изменять виртуальные машины и получать доступ к консоли просмотра.
Этот модуль заменяет известный инструмент virt-manager
.
Использование cockpit-networkmanager
позволяет вам настраивать сетевые интерфейсы,
создавать связи, мосты, VLAN-ы, правила файерволов и многое другое. Cockpit-packagekit
позволяет устанавливать, удалять или обновлять пакеты ПО.
Cockpit позволяет управлять системными хранилищами данных, включая создание и форматирование
разделов, управление LVM-томами и соединениями по протоколу iSCSI, используя cockpit-storaged
.
Для инсталляции любого из перечисленных модулей в вашу систему запустите следующие команды, указава название нужного модуля.
Fedora/CentOS 8/RHEL 8:
Ubuntu/Debian 10:
Перезапустите Cockpit:
systemctl restart cockpit.socket
Работа с Cockpit
Чтобы получить доступ к Cockpit, укажите в веб-браузере IP-адрес вашего компьютера или сервера
с указанием порта 9090: https://Computer IP:9090
.
В интерфейсе управления Cockpit используются отдельные блоки для каждого типа конфигурации.
Управление множеством серверов
Множество серверов может управляться из одной консоли Cockpit.
Для этого выберите в левой панели вариант Dashboard
.
В блоке Servers кликните по кнопке Add.
Cockpit пытается использовать те же учетные данные, которые используются для входа в текущий сеанс. Если не получается, он запрашивает их.
Dashboard показывает унифицированные графики использования CPU, Memory, Network и Disk I/O.
Создание виртуальной машины с помощью Cockpit
Перейдите к Host -> Virtual Machines.
Чтобы создать новое хранилище данных, щелкните Storage Pool -> Create Storage Pool.
Чтобы создать новую виртуальную сеть libvirt
, перейдите по ссылке Networks -> Create Virtual Network.
Чтобы создать новую виртуальную машину, выберите Create VM.
Поле Installation Type позволяет выбрать вариант инсталляции дистрибутива Linux: из интернет, используя локальный носитель, например ISO, или используя PXE для загрузки виртуальной машины.
Чтобы эти возможности можно было использовать, должны быть соответственно доступны сеть и устройства хранения данных.
Для запуска виртуальной машины, используя существующий образ виртуального диска, щелкните по кнопке Import VM. Все остальное похоже на то как создается виртуальная машина посредством Create VM.
Управление устройствами хранения данных
Перейдите к Host -> Storage
Экран разделен на блоки. В верхних блоках отображается график производительности операций чтения (Read) и записи (Write) для выбранного устройства.
- В блоке Filesystems показаны смонтированные файловые системы.
- В блоке NFS Mounts показаны смонтированные NFS-соединения.
- В блоке Storage Logs показывает соответствующие журналы, относящиеся к устройствам хранения в системе. Это может быть особенно полезно, когда диск начинает выходить из строя.
- Блок Drives блок показывает все подключенные в данный момент физические устройства в системе, смонтированные или нет. Чтобы создать новую таблицу разделов, нажмите на диск, затем нажмите Create Partition Table. Чтобы создать разделы, нажмите на диск, затем нажмите Create Partition.
- В блоке Devices отображаются блоки томов, DM RAID и группы VDO. Чтобы создать логический том, выберите Volume Group в блоке Devices и щелкните по Create New Logical Volume.
- Блок iSCSI Target позволяет пользователям подключаться и отключаться от iSCSI-целей (targets). Логические номера устройств LUN (Logical Unit Number) отображаются в блоке Drives.
Управление сетевыми устройствами
Перейдите к Host -> Networking.
Имеющиеся сетевые интерфейсы можно изменять в блоке Interfaces. Чтобы создать VLAN-интерфейс, щелкните по Add VLAN. Аналогично, чтобы создать мост, щелкайте по Add Bridge. Чтобы создать склейку адаптеров (NIC bonding), нажмите Add Bond.
Для задания правил файервола, щелкните по Active Zone в блоке Firewall.
Заключение
Cockpit - это мощный и легкий инструмент, который может помочь пользователям быстрее настроить свои системы. Он не предназначен для замены таких инструментов управления конфигурацией, как Ansible, но помогает упростить решение тривиальных задач. Он не портит конфигурационные файлы, не навязывает какие-то свои решения и он разработан с учетом требований безопасности.
Нужно иметь в виду, что cockpit-machines
заменят virt-manager
в будущих выпусках.