Cockpit centos 8 настройка

Обновлено: 07.07.2024

веб-интер­фейс управ­ле­ния сер­ве­ром Cockpit Web Console в CentOS 8 (при­ме­ни­мо для Red Hat, Fedora, Ubuntu, Debian, Arch). Мы рас­смот­рим базо­вые воз­мож­но­сти дан­ной кон­со­ли, и пока­жем, как через про­стой и удоб­ный веб-интер­фейс cockpit выпол­нять типо­вые зада­чи адми­ни­стри­ро­ва­ния и мони­то­рин­га ваших сер­ве­ров. Для тех, кто толь­ко начи­на­ет раз­би­рать­ся с CentOS, дан­ная web-кон­соль ста­нет неза­ме­ним помощ­ни­ком в адми­ни­стри­ро­ва­нии сервера.

Основ­ные воз­мож­но­сти web-интер­фей­са управ­ле­ния сер­ве­ром cockpit:

    • Управ­ле­ние учет­ны­ми записями
    • Мони­то­ринг системы
    • Обнов­ле­ние ПО
    • Про­смотр лог-файлов
    • Сете­вые настройки
    • Управ­ле­ние вир­ту­аль­ны­ми маши­на­ми KVM

    Установка Cockpit в CentOS

    Перед уста­нов­кой паке­та cockpit нуж­но обно­вить все паке­ты в системе:

    После чего, мож­но уста­но­вить непо­сред­ствен­но сам cockpit через мене­джер пакетов:

    В CentOS 8 cockpit уста­нав­ли­ва­ет­ся по умол­ча­нию, кро­ме слу­ча­ев с minimal core установкой.

    При запус­ке коман­ды, систе­ма пред­ло­жит уста­но­вить cockpit и все зависимости.

    После уста­нов­ки, нуж­но запу­стить сер­вис cockpit и доба­вить его в автозагрузку:

    Для досту­па к web-интер­фейс нуж­но открыть на фай­ер­вол­ле порт TCP 9090. Для firewalld это выпол­ня­ет­ся через добав­ле­ние сер­ви­са в исключения:

    Использование веб-интерфейса cockpit для управления CentOS

    Открой­те веб-кон­соль Cockpit в бра­у­зе­ре, перей­дя по адресу:

    IP — адрес ваше­го сер­ве­ра с cockpit


    Для авто­ри­за­ции в Cockpit исполь­зу­ют­ся локаль­ные учет­ные запи­си в CentOS. Мож­но авто­ри­зо­вать под root.

    При авто­ри­за­ции в интер­фей­се Cockpit, на глав­ной стра­ни­це вы може­те уви­деть мони­тор про­из­во­ди­тель­но­сти сервера:


    В дина­ми­че­ских гра­фи­ках пока­зы­ва­ет­ся теку­щая нагруз­ка на основ­ные ресур­сы ваше­го сервера:

    1. Загруз­ка CPU
    2. Исполь­зо­ва­ние памяти
    3. Нагруз­ка на дис­ко­вую под­си­сте­мы (не в IOPS , а в KiB/s)
    4. Cете­вую активность

    Удоб­но смот­реть на гра­фи­ки в режи­ме реаль­но­го вре­ме­ни, визу­аль­но инфор­ма­ция вос­при­ни­ма­ет­ся куда про­ще. Рядом с гра­фи­ка­ми есть инфор­ма­ция о систе­ме, а так же воз­мож­ность управ­ле­ния элек­тро­пи­та­ни­ем сер­ве­ра (мож­но быст­ро пере­за­гру­зить или выклю­чить сервер):


    С левой сто­ро­ны пане­ли, есть меню. Неко­то­рые пунк­ты мы рас­смот­рим подробно:


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

    В раз­де­ле сеть, вы може­те управ­лять сете­вы­ми настрой­ка­ми и пра­ви­ла­ми файерволла:


    Как види­те, у нас есть 3 пра­ви­ла, кото­рые мож­но про­смот­реть или изме­нить, в пане­ли вы так же може­те доба­вить новые правила:


    Т.е. если вы неуве­рен­но чув­ству­е­те себя в кон­со­ли, вы може­те настро­ить пра­ви­ла фай­ер­во­ла через web-интерфейс.

    Поми­мо настро­ек фай­ер­вол­ла, вы може­те управ­лять настрой­ка­ми сете­вых интер­фей­сов (изме­нить VLAN на сер­ве­ре, файл кон­фи­гу­ра­ции сети, доба­вить мост и т.д.):

    Создать допол­ни­тель­но­го поль­зо­ва­те­ля для ваше­го сер­ве­ра мож­но в несколь­ко кликов:


    Може­те через кон­соль убе­дить­ся, что поль­зо­ва­тель создан:

    В раз­де­ле служ­бы, вы може­те настра­и­вать и управ­лять сете­вы­ми сервисами.


    Если вы откро­е­те любой сер­вис, мож­но уви­деть все настройки:


    Настрой­те авто­за­пуск сер­ви­са, остановите/запустите его, а так­же в окне опре­де­лен­ной служ­бы, вы уви­ди­те жур­нал оши­бок или пре­ду­пре­жде­ний. В моем слу­чае я открыл сер­вис cockpit и в жур­на­лах есть пре­ду­пре­жде­ния о том, что у меня не уста­нов­лен сер­ти­фи­кат для консоли.

    Для веб-интер­фей­са cockpit по умол­ча­нию исполь­зу­ет­ся само­допд­пи­сан­ный сер­ти­фи­кат, кото­рый хра­нит­ся в ката­ло­ге /etc/cockpit/ws-certs.d. Може­те заме­нить его ком­мер­че­ским SSL серт­фи­ка­том или исполь­зо­вать бес­плат­ный Let’s Encrypt.

    На вклад­ке “Про­грамм­ные обнов­ле­ния” мож­но вклю­чить управ­лять уста­нов­кой обнов­ле­ний CentOS и паке­тов из под­клю­чен­ных репозиториев.


    Мож­но вклю­чить авто­ма­ти­че­ское обнов­ле­ние систе­мы (выпол­ня­ет­ся через пакет dnf-automatic).


    После уста­нов­ки кото­ро­го, вы може­те настро­ить вари­ант обнов­ле­ния вашей систе­мы и задать вре­мя для авто­ма­ти­че­ской уста­нов­ки обновлений.


    Если вас не устра­и­ва­ет вари­ант с авто­ма­ти­че­ским обнов­ле­ни­ем, вы може­те их уста­нав­ли­вать в ручную.

    В кон­со­ли если удоб­ный веб-тер­ми­нал, для рабо­ты с сер­ве­ром из при­выч­но­го shell для запус­ка команд:


    Если у вас исполь­зу­ет­ся SELinux, им так­же мож­но управ­лять через cockpit.

    Если с глав­ной стра­и­цы веб интер­фей­са щелк­нуть по гра­фи­ку дис­ко­вой актив­но­сти, появит­ся веб интер­фейс для управ­ле­ния дис­ка­ми (Storage). где вы може­те создать или пере­на­стро­ить LVM раз­де­лы, настро­ить RAID груп­пы или под­клю­чить iSCSI устройства.

    Сам веб-интер­фейс инту­и­тив­но поня­тен даже тем, кто исполь­зу­ет его впер­вые и на самом деле, не обя­за­тель­но быть нович­ком в систем­ном адми­ни­стри­ро­ва­нии, что­бы исполь­зо­вать его. Доступ к пане­ли управ­ле­ния мож­но полу­чить с любо­го устрой­ства, про­сто открыв нуж­ный адрес и вве­дя дан­ные, то есть, вы може­те адми­ни­стри­ро­вать ваш сер­вер даже со смартфона.

    В Cockpit мож­но управ­лять сра­зу мно­же­ством сер­ве­ров CentOS/ RHEL . Для это­го нуж­но доба­вить необ­хо­ди­мые сер­ве­ра в Machines dashboard.

    Cockpit: управление контейнерами через podman

    Для рабо­ты с кон­тей­не­ра­ми на сер­ве­ре, для cockpit суще­ству­ет отдель­ный пла­гин podman (в ран­них рели­зах исо­пль­зо­вал­ся docker). Уста­но­ви­те пакет:

    После чего нуж­но загру­зить нуж­ные обра­зы, напри­мер, CentOS 8:

    Про­верь­те, что образ загрузился:


    Пере­за­пу­сти­те сер­вис cockpit:

    Вы уви­ди­те, что пане­ли появит­ся модуль Podman containers:


    В даль­ней­шем вся рабо­та про­ис­хо­дит, как и с docker-контейнерами.

    Управление KVM через веб-интерфейс cockpit

    Для рабо­ты KVM на сер­ве­ре с уста­нов­лен­ным cockpit есть допол­ни­тель­ный плагин:

    После его уста­нов­ки в web-интер­фей­се появит­ся отдель­ная вклад­ка Virtual Machines:


    После запус­ка libvirt, вы може­те созда­вать вир­ту­аль­ные маши­ны и управ­лять ими через уже интер­фейс cockpit. Напри­мер, мож­но создать новую ВМ:

    После чего у вас появит­ся создан­ная маши­на и мож­но будет про­дол­жить ее настройку:


    Таким обра­зом, для того, что­бы рабо­тать с KVM вам не тре­бу­ет­ся уста­нов­ка какой-то отдель­ной пане­ли (типа virt-manager) или выпол­не­ния команд virsh.

    Теперь адми­ни­стри­ро­ва­ние ваше­го сер­ве­ра ста­нет еще про­ще. Уста­но­ви­те cockpit и исполь­зуй­те его воз­мож­но­сти на максимум.

    В этой статье я расскажу про возможности инструмента Cockpit. Cockpit создан с целью облегчения администрирования ОС Linux. Если говорить кратко, то он позволяет выполнять наиболее типичные задачи администратора Linux через приятный веб-интерфейс. Возможности Cockpit: установка и проверка обновление для системы и включение автообновления (процесс патчинга), управление пользователями (создание\удаление\смена паролей\блокировка\выдача прав суперпользователя), управление дисками (создание\редактирование lvm, создание\монтирования файловых систем), настройка сети (team, bonding, ip managing и т. д.), управление systemd-юнитами\таймерами.




    Интерес к Cockpit обусловлен выходом Centos 8, где Cockpit уже встроен в систему и требуется его лишь активировать командой «systemctl enable --now cockpit.socket». На других дистрибутивах потребуется ручная установка из пакетного репозитория. Рассматривать тут установку мы не будем, смотрите официальное руководство.

    После установки нам необходимо в браузере перейти на 9090 порт сервера, на котором установлен Cockpit (т. е. ip-сервера:9090). Например, 192.168.1.56:9090

    Вводим обычный логин\пароль от локального аккаунта и ставим галочку «Reuse my password for privileged tasks», чтобы была возможность запускать некоторые команды от имени привилегированного пользователя (root). Естественно, ваш аккаунт должен обладать возможностью выполнять команды через sudo.

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


    Интерфейс выглядит очень понятным и логичным, слева вы увидите навигационную панель:


    Стартовый раздел называется «system», где вы можете увидеть информацию по утилизации ресурсов сервера (CPU, RAM, Network, Disks):


    Чтобы посмотреть более подробную информацию, например, по дискам, просто нажмите на соответствующую надпись и вы попадёте сразу в другой раздел (storage):


    Тут же можете создать lvm:


    Выберите имя для vg-группы и диски, которые хотите использовать:


    Задайте имя для lv и выберите размер:


    И, наконец, создайте файловую систему:


    Обратите внимание, что Cockpit сам пропишет нужную строку в fstab и смонтируем устройство. Также можно прописывать специфичные опции монтирования:


    Вот это выглядит в системе:


    Тут же можно расширять\сжимать файловые системы, добавлять новые устройства в vg-группу и т.д.

    В разделе «Networking» можно не просто менять типичные сетевые настройки (ip, dns, маску, шлюз), но и создавать более сложные конфигурации, такие как bonding или teaming:



    Вот так готовая конфигурация выглядит в системе:

    Согласитесь, что настраивать через vi\nano было бы чуть дольше и сложнее. Особенно для новичков.

    В «services» можно управлять systemd юнитами и таймерами: останавливать их, перезапускать, убирать из автозагрузки. Так же очень быстро создать свой таймер:



    Единственное, что сделано плохо: не понятно, с какой периодичностью запускается таймер. Можно лишь посмотреть, когда он запускался в последний раз и когда запустится вновь.

    В «Software updates», как не сложно догадаться, можно посмотреть все доступные обновления и установить их:


    Система оповестит нас, если потребуется перезагрузка:


    Тут же можно включить автоматическое обновление системы и кастомизировать время установки обновлений:


    Так же в Cockpit можно управлять SeLinux, создавать sosreport (полезно при общении с вендорами при решении технических проблем):



    Управление пользователями реализовано максимально просто и понятно:



    Кстати, можно добавлять ssh-ключи.

    И, наконец, можно читать системные логи и сортировать по важности:


    Мы прошлись по всем основным разделам программы.

    Вот такой краткий обзор возможностей. Использовать Cockpit или нет решать только вам. На мой взгляд, Cockpit может решить несколько проблем и удешевить обслуживание серверов.

    Основные преимущества:

    • Порог вхождение в администрирование ОС Linux существенно снижается благодаря таким инструментам. Выполнять стандартные и базовые действия может практически любой человек. Администрирование можно частично делегировать разработчикам или аналитикам для удешевления производства и ускорения работы. Ведь теперь не надо набирать в консоли pvcreate, vgcreate, lvcreate, mkfs.xfs, создать точку монтирования, редактировать fstab и, наконец, набрать mount -a, достаточно кликнуть мышью пару раз
    • Можно разгрузить администраторов Linux и избавить их от рутины, чтобы они фокусировались на более сложных задачах
    • Можно уменьшить количество человеческих ошибок. Согласитесь, что через веб-интерфейс сделать ошибку сложнее, чем через консоль

    • Ограниченность утилиты. Можно делать лишь базовые операции. Нельзя, например, сразу расширить lvm после увеличения диска со стороны виртуализации, необходимо в консоли набрать pvresize и лишь потом продолжить работу через веб-интерфейс. Нельзя добавить пользователя в определённую группу, нельзя поменять права у директорий, проанализировать используемое место. Хотелось бы более обширный функционал
    • Раздел «Applications» не работал корректно
    • Нельзя поменять цвет консоли. Я, например, могу комфортно работать лишь на светлом фоне с тёмным шрифтом:

    upd: также имеется возможность управлять множеством серверов с одного веб-интерфейса путём добавления нужных серверов в «Machines dashboard». Функционал, например, может быть полезен при массовом обновлении сразу нескольких серверов. Подробнее читайте в официальной документации.

    Понадобилось мне обновить Cockpit до новой версии так как последняя версия в репозитории CentOS 8 - 224. Это откровенно старая версия и многого функционала нет: например, клонирование виртуальных машин, добавление CD-ROM в виртуальную машину и т.д. Гугля "добавление CD-ROM в виртуальную машину через Cockpit" попал на официальный блог Cockpit Project. Оказалось, что за несколько лет, с момента доступной последней версии Cockpit в репозитории CentOS 8, вышло много новых версий с огромным количеством нововведений. Текущая версия, на момент написания статьи, уже 239!



    На официальном сайте Cockpit к сожалению не нашёл обновление до последней версии именно в CentOS 8 - там только для CentOS 7.
    Поэтому, в этой статье мы установим самый новый Cockpit на CentOS 8.

    Установка, включение и запуск Cockpit

    Этой командой Cockpit будет установлен, включён и добавлен в автозагрузку.


    В браузере заходим в веб-панель Cockpit:
    Вводим логин / пароль системы и попадаем на главную страницу.

    Обновление Cockpit до последней версии

    Сначала добавим репозиторий Cockpit.

    Выполните:
    Осталось обновить Cockpit до поледней версии.

    Выполните:
    Вот и всё

    Примечание для тех, у кого уже установлен Cockpit с дополнительными модулями

    Если у вас уже установлены дополнительные модули для кокпита, например cockpit-machines, то думаю проще будет обновить кокпит и модули через веб-панель Cockpit. Но сначала обязательно добавьте репозиторий, который описан выше.

    Далее, зайдите в веб-панель, затем в раздел Software Updates, жмите на кнопку (обвёл красным) и выбирайте обновления.



    Официальный блог Cockpit Project

    Не забывайте следить за официальным блогом Cockpit Project, чтобы узнать о новых версиях.

    KVM - средство виртуализации, интегрированное с ядром, которое превращает Linux в гипервизор типа один. Данная заметка на полях представляет из себя краткую инструкцию как установить KVM, быстро и просто создавать виртуальные машины и управлять ими в CentOS 8.

    Установка KVM

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

    Вариант 1. Для установки сервера виртуализации в процессе установки операционной системы необходим полный дистрибутив CentOS. Весь процесс описывать нет смысла, единственное необходимо в Software Selection выбрать Virtualization Host .

    software selection

    virtualization host install

    После установки необходимо установить средство просмотра virt-viewer , используемый для просмотра виртуальных машин.

    Вариант 2. Для установки KVM на существующую систему необходимо установить модуль виртуализации и дополнительные пакеты. Выполняем:

    Пакет virt-install . позволяет управлять установкой виртуальных машин из командной строки.

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

    Для процессоров AMD:

    Проверить, что модули KMV загружены в ядро можно выполнив команду:

    Для систем на основе Intel будет следующий результат:

    kvm support check

    Проверяем возможность загрузки драйверов libvirt хост системой.

    centos virt host validate

    Управление с помощью WEB консоли

    Управление виртуальными машинами будет производиться с помощью web консоли Cockpit . Устанавливаем необходимые компоненты и добавляем сервис в автозапуск.

    Панель управления будет доступна через web браузер по адресу:

    После запуска сервиса libvirtd по умолчанию создается сетевой интерфейс virbr0 типа мост, представляющий из себя виртуальный коммутатор с возможностью трансляции сетевых адресов посредствам NAT. Для возможности использования виртуальными машинами адресов той же сети, что и хост система необходимо создать новый интерфейс типа мост. В консоли Cockpit выбираем меню Networking , затем нажимаем кнопку Add Bridge .

    cockpit add new bridge

    В открывшемся окне вводим наименование нового моста и выбираем интерфейс, через который будет работать мост (обычно физический сетевой адаптер).

    cockpit set new bridge settings

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

    cockpit new bridge created

    Создание виртуальных машин

    Для создания новой виртуальной машины в web консоли Cockpit необходимо выбрать пункт меню Virtual Machines , затем Create VM .

    cockpit create new virtual machine

    В открывшейся карточке настроек необходимо заполнить имя создаваемой виртуальной машины, выбрать тип установки, операционную систему, создать новый диск для системы с указанием размера или подключить существующий, указать количество выделяемой памяти. При указании типа установки Local Install Media необходимо предварительно позаботиться о носителе, с которого будет происходить установка (например, образ диска iso).

    cockpit create new virtual machine settings

    После выставления флажка Immediately Start VM и нажав кнопку Create будет создана новая виртуальная машина и после начнется установка системы с указанного носителя. Выбрав вкладку Consoles , вы получите доступ к установке и управлению виртуальной машиной.

    cockpit install new vm

    Изменить используемый сетевой интерфейс виртуальной машины на созданный ранее можно во вкладке Network Interfaces . Изменения необходимо делать, когда виртуальная машина выключена, если виртуальная машина включена, то изменения вступят в силу после выключения ВМ.

    cockpit change network adaper in vm

    После установки операционной системы на виртуальную машину установочный диск можно отключить во вкладке Disks . Отключение/подключение дисков производится только при выключенной виртуальной машине.

    cockpit delete disk in vm

    На вкладке Usage показана информация использования памяти и процессора виртуальной машиной.

    cockpit usage statistic vm

    На вкладке Overview можно задать количество выделяемой памяти и процессоров для виртуальной машины. В меню Boot Order выставляется порядок загрузки с дисков. Для запуска виртуальной машины вместе с хост системой отмечаем параметр Run when host boots . Все изменения кроме автостарта при запуске хост системы необходимо выполнять при выключенной виртуальной машине, иначе изменения вступают в силу после выключения ВМ.

    cockpit change rosources vm

    После установки и первоначальной настройки используйте средства удаленного доступа для управления виртуальной машиной.

    Читайте также: