37

Как я перестал пользоваться консолью (почти)

Я достаточно давно, уже больше 18 лет (капец я уже старый :`( ), использую консоль. Пробовал разные оболочки: bash, sh, zsh, ksh, но остановился на тех, что стоят по умолчанию на системах. Пожалуй, это моя лень, перенастраивать оболочки и терминалы под себя - никогда не было моим любимым занятием. А ещё меня всегда бесило редактирование конфигов: ок, если открыл, нашел нужный кусок, поправил, закрыл, перезагрузил сервис, а вот если: открыл, нашел нужный кусок, поправил, закрыл, перезагрузил сервис, а оно не работает... и опять: открыл, нашел нужный кусок, поправил, закрыл, перезагрузил сервис и так пока не заработает, N-ое количество раз.


Да, для этого можно открыть несколько терминалов: редактировать в одном, перезапускать в другом. Но тут тоже есть свои минусы, один из них - захламляется терминал вкладками.


Как вы наверное уже поняли - я ленивый админ, который любит красивенькие (и не очень) GUI. Поэтому, начав плотно работать с HAProxy, мне быстро надоело постоянно править конфиг на нескольких серверах. И, не обнаружив на просторах интернета ничего подходящего, я решил написать свой (ага, очень ленивый - 5 лет уже закончить не могу).


Общаясь с одним из пользователей Roxy-WI, я спросил: “А зачем тебе оно вообще?”, в ответ получил хорошую фразу: “Чтобы в консоль не лазить”. И я задумался. Действительно, после создания пользователя для подключения сервера к Roxy-WI (или можно без этого шага, если root нам не страшен) больше нет необходимости заходить на сервер.


Смотрите сами.

Допустим, мы захотели развернуть новый HA кластер с HAProxy/Nginx/Apache на новых серверах, и нам для этого надо всего-лишь заполнить пару полей и выбрать пару галочек:

И, через минуты полторы, будет поднят Keepalived с VIP адресом, который будет мониторить сервис HAProxy, затем будет установлен и сам HAProxy.


Ок, у нас есть HA кластер и он даже работает, но какой с него прок, если он пустой? Таки надо лезть в консоль? Конечно же нет! Дальше идем на страницу добавления секций и “накликиваем” то, что нам нужно:

Можно посмотреть, что получилось в итоге, а можно даже сохранить этот кусок конфига в основной конфиг! Делаем reload или restart на странице с сервисами и всё.


И да, Roxy-WI не пропустит конфиг с ошибками и не перезапустит сервис. У нас есть настроенный и рабочий HAProxy:

Ещё один приятный бонус от GUI - все видно в одном месте: состояние сервисов, их версию, адрес и кто из них master сейчас. А если нажать на сервис, то можно увидеть более подробную информацию:

И конечно же редактирование конфигов присутствует. Это не замена полноценному IDE, но куда удобней vi:

В 90% случаев, это избавит от открытия консоли, а для оставшихся 10 есть много удобных фич.

Но что делать, если, например, есть коллега, который не признает никакие GUI и надо отобрать у него доступ к серверу (это должно быть зачеркнуто)? В Terraform подобные люди порождают кучу проблем с импортом стейтов или дублированием ресурсов, Roxy-WI избавлен от этой проблемы: конфиг берется напрямую с сервера, по этому риск случайно что-то перезаписать крайне мал.


“Но как же так? Но почему? А как?” - есть такие вопросы? С удовольствием отвечу на них, либо напишу ещё одну статью, если вопрос будет слишком большой для комментария. Вы, главное, расскажите мне свою ситуацию, а я всегда рад поболтать ;)


P.S. Конечно же, я продолжаю активно пользоваться консолью и большую часть работы делаю в ней. Я лишь хотел продемонстрировать, что есть и другие способы управлять частью инфраструктуры и не консолью единой. Уверен, какой-то части людей этот инструмент будет полезен.

GNU/Linux

1.2K поста15.6K подписчика

Правила сообщества

Все дистрибутивы хороши.

Будьте людьми.

1
Автор поста оценил этот комментарий

@SupportTech,  а можно удалить этот пост, т.к. я хотел опубликовать его в сообществе, но после повторной публикации в сообществе мой пост был сразу же удален "по техническим причинам" полагаю это из-за дублирования.


Или перенести этот пост в сообщество Gnu/Linux

показать ответы
1
Автор поста оценил этот комментарий

Поддерживать гуй - очень мозолистое дело ).

С конфигом/параметрами можно придумать любую хрень, и достаточно стандартно её поддерживать. Куча либов, вроде command_options помогут вообще "просто юзать".

А вот с гуем - надо рисовать окошко, размещать на экране, размещать кнопочки... и хорошо бы не как попало, а группировать... Придумывать для особых случаев другие контролы (списки, деревья и т.д.). Тоже всё это размещать. В итоге по затратам времени вдруг оказывается, что просто "написать гуй" (где программировать вроде вообще нечего) занимает чуть ли не половину времени.

Поэтому когда кто-то берёт консольную программу и вокруг неё строит гуй - он явно заслуживает медали :). Результат очень неблагодарный (программа же и без него вполне работает), но вполне заслушивает восхищения!


(помню одно такое изделие смутно. Кажется mkcdimage или что-то подобное - тулза, которая создавала образы ISO для записи на "болванку", с огромной кучей разных настроек. Одна из фишек в том, что она искала дубликаты файлов и заменяла их "симлинками", что для винды было вообще круто. В итоге на одну cd-болванку вполне можно было упихать дистр винды + дистр сервера той же версии. И вот у неё было около пяти десятков разных опций. И вот к ней кто-то написал гуй, где все опции были сгруппированы, верифицированы (при выборе взаимно противоречащих - остальные варианты скрывались). Это было эпично!

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

вот да, больше всего проблем возникает не с тем, как написать "бэкенд", а как это все это запихвать во фронт, чтобы было удобно понятно, ну и желательно красиво. А еще проблема как вывести красиво ошибку, из того же анзибла или хапрокси с нжинком )


За медаль спасибо, мне еще никто не предлагал ее дать )))

1
Автор поста оценил этот комментарий

Открой уже для себя puppet/ansible, блеать.

Закопать несколько человеко-лет в гуйню, которая может решать ровно одну задачу - это сильно (и печально).

В общем, у нас имеется отличный программист и хреновый админ.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Я считаю наоборот - что я хороший админ и так себе программист ) Веб морда - своего рода хобби, т.к. до того как начал писать гуй, знал что такое puppet/ansible/salt, но не знал python. В гуе, кстати, используется ansible для установки, а terraform - для создания серверов в облаках

1
Автор поста оценил этот комментарий

Вообще, тут надо дать медаль тому, кто написал интерфейс.

Потому что конфиг - это легко и просто. Гуй - это мозоль на жопе.

А если не просто гуй, но ещё и верификатор, чтобы чего не допустить - это две мозоли.

(да, это взгляд со стороны автора программы, а не пользователя).

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Не совсем понял) я так понимаю мозоль на жопе, а особенно две - это плохо, но почему?
показать ответы
2
Автор поста оценил этот комментарий

ну вообще где-то удобнее гуй, где-то консоль))

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

согласен, особенно, если хороший гуй )

4
Автор поста оценил этот комментарий

Отличная работа, спасибо! Пару лет назад тебе звездочку на Гитхабе ставил :)

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Спасибо! ))

0
Автор поста оценил этот комментарий

"начав плотно работать с HAProxy, мне быстро надоело"  - у вас проблемы с деепричастными оборотами, после запятой должно быть "я"

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Спасибо, буду иметь ввиду:)
1
Пу Пу Пууу
Автор поста оценил этот комментарий

Здравствуйте. Пост перенёс

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Спасибо )

0
Автор поста оценил этот комментарий

GUI, как дополнительный инструмент, - это хорошо и удобно. Иногда даже время экономит. Но как основной - невозможно. Если человек освоит линукс исключительно на гуях, то в любой нестандартной ситуации или в незнакомой для него инфраструктуре он просто потеряется.

раскрыть ветку (1)
Автор поста оценил этот комментарий
Да и не возможно мне кажется управлять инфраструктурой исключительно на гуях. Нет настолько универсального гуя ещё
показать ответы