Сетевик Джонни // Network Admin
前往频道在 Telegram
Я Сетевик Джонни, моя цель в телеграме рассказать все о сетях в доступной форме! Сотрудничество: @stein_media
显示更多5 890
订阅者
-224 小时
-77 天
+130 天
帖子存档
🥷 Джонни вещает: Мониторинг и Kubernetes
Интересный доклад, который прозвучал в далёком 2018 году на RootConf2018, в нём рассказывается об опыте настройки мониторинга с Prometheus, который был получен в результате эксплуатации десятков проектов на k8s.
— Доклад прикрепляю здесь же, YT нынче не особо актуален, но вот ссыль на всякий 😣
#k8s | 😊 @iscode
🥷 Джонни вещает: 10 типичных ошибок при использовании k8s
За годы использования Kubernetes мне довелось поработать с большим числом кластеров (как управляемых, так и неуправляемых — на GCP, AWS и Azure). Со временем я стал замечать, что некоторые ошибки постоянно повторяются. Однако в этом нет ничего постыдного: я и сам совершил большинство из них!
— В статье собраны наиболее распространенные ошибки, а также упомянуто о том, как их исправлять.
↘ telegra.ph
#k8s #DevOps #mistakes | 😊 @iscode
Изучите применение ChatGPT в рабочих целях, чтобы получить от этого прибыль. Сейчас самое время начать использовать искусственный интеллект.
Здесь вы узнаете, почему стоит освоить ChatGPT. Это поможет вам:
- Использовать ChatGPT в вашей профессиональной сфере.
- Предлагать компаниям разработку индивидуально дообученного ChatGPT по заказу.
- Увеличить свой доход, освоив навык создания индивидуально дообученного ChatGPT.
Зарегистрируйтесь на бесплатный вебинар, чтобы узнать больше деталей.
Реклама. ООО "ТЕРРА ЭЙАЙ". ИНН 9728019395. erid: LjN8K7moB
🥷 Джонни вещает: десятка лучших консольных команд
В данном посте я расскажу о наиболее интересных командах, которые могут быть очень полезны при работе в консоли. Однозначных критериев определения какая команда лучше другой — нет, каждый сам для своих условий выбирает лучшее.
Десятое место:
Комбинация 'ALT+.' или '<ESC> .' — ввод последнего аргумента недавних команд. Удерживая ALT или ESC, с каждым нажатием на точку в строку ввода будут подставляться параметры предыдущих команд, начиная от недавно введенных к старым.
Девятое место: reset — переинициализация терминала без завершения текущей сессии. Например, в случае когда в терминал были выведены двоичные данные и он перестал корректно работать.
Восьмое место: > file.txt — создает пустой файл. Уничтожает содержимое файла без его удаления.
Седьмое место: <пробел>команда — запуск команды с пробелом перед ней не сохраняет ее в истории. Может пригодиться при передаче паролей программам в открытом виде.
Шестое место: Комбинация 'CTRL+X E' — запуск редактора для ввода сложной команды или скрипта, выбор редактора определяется переменной $EDITOR
Пятое место: mtr google.com — утилита My Traceroute эффективнее, чем комбинация traceroute и ping. Утилита mtr сочетает в себе функциональность traceroute и ping, позволяет проводить диагностику сети в более наглядном виде.
Четвертое место: ^foo^bar — запуск предыдущей команды с заменой в ней подстроки, например, с foo на bar. Полезна при опечатках. Если ввести просто ^foo, то в предыдущей команде первое вхождение foo будет удалено.
Третье место: 'cd -' — возврат в предыдущую рабочую директорию. Может пригодиться и для переключения туда-сюда между двумя директориями.
Второе место: python -m SimpleHTTPServer — запуск HTTP-сервера в текущей директории на 8000 порту. Если в директории нет файла index.html, то будет показан её листинг.
Первое место: sudo !! — запуск последней команды под root.
Полезна когда забыли использовать sudo для команды. "!!" — подставляет ласт введенную команду.
#Linux #Bash #shell | 😊 @iscodeРебята, если желаете ловить ха-ха от мемов в сторис — голосуем
https://t.me/iscode?boost
🤨 С Днём Сисадмина! А кто его сегодня отмечает?
Профессию сисадмина пытались забыть несколько раз: когда появились облака, когда рынок захватила автоматизация, когда страшно модным стал DevOps. 2020-2021 годы показали, что слухи об исчезновении системных администраторов в компаниях всего мира слишко преувеличены, а вот переход на удалёнку без них — вполне себе масштабная беда.
🤷 Мы не знаем, откуда берутся слухи, но уверены, что сисадминам ещё придётся администрировать роботов, разруливать проблемы с каналом до Луны и Марса и вообще как-то разгребать эту суету, наведённую неуёмными инженерами и программистами.
В общем, без сисадминов — никуда.
🥷 Консольная утилита для визуализации результата любых shell команд - Sampler
В общем случае с помощью shell команды можно получить любую метрику, без написания кода и интеграций. А значит в консоли должен быть простой и удобный инструмент для визуализации.
— Наблюдение за изменением состояния в базе данных, мониторинг размера очередей, телеметрия с удаленных серверов, запуск деплой скриптов и получение нотификации по завершению — конфигурируется за минуту простым YAML файлом.
🕹 Код доступен на гитхабе. Инструкции по установке — для Linux, macOS и (экспериментально) Windows.
Но, зачем мне твоя бурда, когда у меня есть, допустим, полноценные системы мониторинга? - а я сразу оговорюсь, что это ни в коей мере не альтернатива полномасштабным дашбордам и мониторингу. Сравнивать Sampler c Prometheus+Grafana — то же что сравнивать
tail и less с Elastic Stack или Splunk.
Но если поднимать и настраивать продакшн мониторинг для вашей задачи — как из пушки по воробьям, то возможно Sampler будет ответом на вопрос. Он задумывался как инструмент для прототипирования, демонстраций, или просто наблюдения за метриками на локали и удаленном сервере. Вы можете подумать, что его надо ставить на все сервера, но нет, запускаем локально, но метрики собираем с удалённых тачек.
Каждый компонент на дашборде имеет init секцию, где можно произвести вход по ssh (или сделать любое другое действие для входа в interactive shell — установить соединение с БД, подключиться по JMX, авторизоваться в API, итп)Как бекенд-программисту, мне часто приходится отлаживать, прототипировать и измерять. Отсюда и регулярная необходимость визуализации и мониторинга на скорую руку. 🚬 Писать каждый раз что-то кастомное — неоправданно долго, но если процесс кастомизации был бы быстрым и (более-менее) удобным, такая визуализация вполне могла бы экономить время и решать задачи. #DevOps #shell #prototyping | 😊 @iscode
🥷 Джонни вещает: настройка Git сервера с нуля
В данной статье я подробно опишу процесс настройки системы управления репозиториями, используя лишь возможности самого Git.
Этот подход может показаться необычным, но он позволяет лучше понять внутренние механизмы работы Git и получить новые навыки, которые могут оказаться полезными в вашей карьере DevOps.— В этом руководстве мы рассмотрим, как настроить собственный Git сервер на базе Debian 12. Весь процесс настройки Git сервера поделен на следующие задачи: 1. настройка SSH; 2. создание пользователей; 3. инициализация проекта; 4. конфигурация Git‑демона; 5. настройка веб‑интерфейса для просмотра репозиториев; 6. настройка дополнительных аспектов безопасности. ↘ habr.com #DevOps #Git #SSH | 😊 @iscode
Cтаньте мастером безопасного деплоя в Kubernetes и научитесь эффективно управлять секретами с помощью Helm
💛💛💚❤️💛❤️💛⤵️
Приглашаем 25 июля в 20:00 мск на бесплатный вебинар "Эффективное управление секретами в Kubernetes с Helm".
Вебинар является бесплатной частью полноценного онлайн-курса «Инфраструктурная платформа на основе Kubernetes».
‼️ На вебинаре вы научитесь основам Helm, узнайте, как хранить и управлять секретами в Kubernetes, овладеете методами шифрования переменных и их интеграции с Helm.
➡️ Регистрация на вебинар: https://otus.pw/bRzS/?erid=LjN8KXAov
☄️ После вебинара вы сможете безопасно деплоить приложения, эффективно шифровать и управлять секретами, освоите лучшие практики защиты данных и получите навыки DevOps-инженера!
Записывайтесь сейчас, а мы потом напомним. Участие бесплатно.
Cтаньте мастером безопасного деплоя в Kubernetes и научитесь эффективно управлять секретами с помощью Helm
💛💛💚❤️💛❤️💛⤵️
Приглашаем 25 июля в 20:00 мск на бесплатный вебинар "Эффективное управление секретами в Kubernetes с Helm".
Вебинар является бесплатной частью полноценного онлайн-курса «Инфраструктурная платформа на основе Kubernetes».
‼️ На вебинаре вы научитесь основам Helm, узнайте, как хранить и управлять секретами в Kubernetes, овладеете методами шифрования переменных и их интеграции с Helm.
➡️ Регистрация на вебинар: https://otus.pw/bRzS/?erid=LjN8KXAov
☄️ После вебинара вы сможете безопасно деплоить приложения, эффективно шифровать и управлять секретами, освоите лучшие практики защиты данных и получите навыки DevOps-инженера!
Записывайтесь сейчас, а мы потом напомним. Участие бесплатно.
🌃 Как создавать Kubernetes секреты из Vault, используя external-secrets-operator
Бывают случаи, когда инженеры хранят секретные данные, ключи, токены в открытом виде или в переменных Gitlab. В Kubernetes для хранения данных, которые нежелательно показывать широкому кругу лиц, предусмотрены секреты.
— В этой статье предлагаю рассмотреть безопасный способ передавать, синхронизировать, интегрировать секреты напрямую из Vault в Kubernetes – с помощью метода аутентификации AppRole, используя external-secrets-operator.
↘ habr.com
#Kubernetes #Vault #DevOps | 😊 @iscode
🥷 Джонни вещает: деление IP сети на подсети при помощи маски легко и быстро
В видеоматериале автор с канала ВНИКНИ расскажет как выделить подсеть нужного размера из большой IP сети, как быстро и наглядно вычислить все адреса компьютеров в нужной подсети, маску для подсети нужного размера, как найти первые и последние адреса формируемых подсетей и как выделить несколько подсетей разного размера.
🌃 youtube.com
#IP #Subnet #Summarization
Бесплатный однодневный интенсив по искусственному интеллекту!
За 1 день научим тебя писать нейронные сети. Напишешь 9 нейронок с нуля, без опыта программирования!
На интенсиве ты создашь:
- 3 нейронки из области компьютерного зрения
- 3 нейронки по распознаванию и обработке текста
- 3 нейронки по сегментации, временным рядам и аудио
Регистрируйся прямо сейчас, исследуй футуристичный мир нейросетей с нами!
Реклама. ООО "ТЕРРА ЭЙАЙ". ИНН 9728019395. erid: LjN8K42JW
⚡️ Кто хотел изучить Linux?
Забирайте скорей курс для начинающих всего за 1️⃣0️⃣ ₽.
➡️ Забрать курс
Отус открыл для вас доступ к онлайн-курс 🐧 «Linux для начинающих» почти бесплатно!
Обычно курс стоит от 7000₽
😯 Не упустите свою возможность!
Курс рассчитан для программистов и администраторов, которые хотят освоить ОС Linux с нуля!
Что из себя представляет курс?
— 3 модуля с видеолекциями
— Комплексные знания по основам Linux
— Можно учиться в любом месте, где есть доступ в интернет
— Закрепление знаний с помощью тестов
Наш спикер – Андрей Буранов, эксперт по UNIX-вселенной в компании Mail Group.
🎁 В подарок с курсом, бонусом для более эффективной учебы дарим "10 базовых команд Linux"!
🥷 Джонни вещает: debconf
Получается, это чей-то артефакт. Чей? Перед тем, как нырять в инсталлятор, глянем ещё в одну важную инфраструктуру Debian — ответы на вопросы. Каждый раз, когда пакет задаёт вопрос, и во многих случаях, когда он вопроса не задаёт, но использует вариант по-умолчанию, и вопрос, и ответ фиксируются в специальной базе в Debian, которая называется debconf.
— Мы можем посмотреть на базу ответов (и даже выставить их до установки самого пакета —
debconf-set-selections), для этого нам потребуется утилита debconf-get-selections из состава debconf-utils. К сожалению, ничего интересного не нашлось: (debconf-get-selections |grep -i resume вернул пусто).
debian-installer
У установщика есть своя база ответов на вопросы: /var/log/installer/cdebconf/questions.dat. К сожалению, там тоже нет ни слова про наш resume.
Зато рядом есть логи, в т.ч. syslog, куда пишется весь лог инсталляции. Там упоминается пакет base-installer, и на его странице мы можем видеть ссылку на сырцы.
🖥 Внутри них мы с лёгкостью находим ответ на наш вопрос:
resume="$(mapdevfs "$resume_devfs")"; then
...
if [ "$do_initrd" = yes ]; then
...
resumeconf=$IT_CONFDIR/resume
....
echo "RESUME=$resume" >> $resumeconf
mapdevfs — это утилита с понятным назначением, а интересная нам функция это get_resume_partition, которая читает /proc/swaps и выбирает там самую большую. Swap же у нас приходит от partman'а.
Ответ на наше тестовое задание: файл создаётся инсталлятором в /target'е в момент установки, т.е. мы говорим про well-known, но артефакт. В существующих в системе пакетах нет никого и ничего, чтобы меняло этот файл.
❗️ Подводя итог: dpkg и debconf — основные методы для поиска поставщиков файлов; поиск в /var/lib/dpkg/info позволяет увидеть операции над файлами на этапе установки; установщик может создавать файлы-артефакты, которые потом никем никогда не меняются (кроме пользователя), и это можно увидеть в коде установщика.
#Linux #DevOps #debconf🏆Откройте секреты мастерства в Linux — утилиты диагностики сети ждут вас
Практический открытый урок 18 июля в 19:00 мск
👉Что ждет вас на вебинаре:
- погружение в мир утилит-диагностики сети в Linux: шаг за шагом от простого к сложному;
- подробное рассмотрение основных инструментов, которые помогут вам успешно диагностировать сетевые проблемы;
- познание тонкостей работы Интернета: как узнать больше и делать меньше ошибок.
Спикер Николай Лавлинский — технический директор в Метод Лаб, PhD Economic Science, опытный руководитель разработки и преподаватель.
Встречаемся в преддверии старта курса «Administrator Linux.Basic». Все участники вебинара получат специальную цену на обучение!
⤵️Регистрируйтесь на бесплатный урок: https://otus.pw/lC3N/?erid=LjN8JtteV
🥷 Джонни вещает: откуда этот конфиг? [Debian/Ubuntu]
Цель этого поста: показать технику отладки в debian/ubuntu, связанную с "поиском первоисточника" в системном конфигурационном файле.
🖥 Тестовый пример: после долгих издевательств над tar.gz копией установленной ОС и после её восстановления и установки апдейтов мы получаем сообщение:
update-initramfs: Generating /boot/initrd.img-4.15.0-54-generic
W: initramfs-tools configuration sets RESUME=/dev/mapper/U1563304817I0-swap
W: but no matching swap device is available.
I: The initramfs will attempt to resume from /dev/dm-1
I: (/dev/mapper/foobar-swap)
I: Set the RESUME variable to override this.
🕹 Цель: понять, откуда это значение (U1563304817I0) пришло и как его правильно поменять. Это первый попавшийся пример, не особо интересный сам по себе, но удобный, чтобы показать практические методы работы с Linux.
Шаг номер 1: Откуда пришёл RESUME?
# cd /etc
# grep -r RESUME
initramfs-tools/conf.d/resume:RESUME=/dev/mapper/U1563304817I0-swap
Мы рекурсивно (-r) ищем упоминание этой переменной в каталоге /etc (там, где большинство конфигов). Мы находим conf.d сниппет, который явно используется пакетом initramfs-tools.
Теперь новый вопрос, а откуда этот сниппет? - есть три варианты:
1. Магический артефакт(кто-то положил и забыл ✋)
2. Конфиг из пакета
3. Конфиг, сгенерированный каким-то скриптом из системных пакетов
Теперь проверяем c помощью dpkg -S он позволяет нам поискать по базе установленных файлов и найти к какому пакету файл относится.
dpkg -S initramfs-tools/conf.d/resume
dpkg-query: no path found matching pattern *initramfs-tools/conf.d/resume*
Вот пример удачного поиска:
dpkg -S resolv.conf
manpages: /usr/share/man/man5/resolv.conf.5.gz
systemd: /lib/systemd/resolv.conf
Возвращаемся к нашей задаче: файл initramfs-tools/conf.d/resume не устанавливается в систему из пакета. Может быть он генерируется в postinst/preinst скрипте пакета? Проверяем третью версию 😡
# cd /var/lib/dpkg/info/
# grep -r initramfs-tools/conf.d/resume *
initramfs-tools-core.postrm: rm -f /etc/initramfs-tools/conf.d/resume
В каталоге /var/lib/dpkg/info/ лежат распакованные версии всех "метафайлов" пакетов (скрипты установки/удаления, описания пакетов и т.д.). Удивительно, но этот файл удаляется в postrm (при удалении) пакета initramfs-tools-core. Посмотрим содержимое его postinst… Ничего, касающегося conf.d директории.
Давайте взглянем на файлы из состава пакета initramfs-tools-core.
# dpkg -L initramfs-tools-core
...
/usr/share/initramfs-tools/hooks/resume
...
Команда dpkg -L позволяет посмотреть все файлы, которые есть в системе от указанного пакета. Я выделил интересный для изучения файл. Изучение файла показывает как эта переменная используется, но не отвечает откуда он появляется.
💳 Если пост понравился, жду от вас реакций и выпускаю на ту же тему, но уже о базе ответов debconf
#Debian #Ubuntu #dpkg🥷 Джонни вещает: 12 заблуждений сетевого администратора
1. Комментировать изменения в конфигах — не нужно. На память вы не жалуетесь, amiright?
2. QoS — не нужен. Всегда проще купить канал, заведомо превышающий потребности компании.
3. Бессмысленно проверять возможность удаленного управления оборудованием перед отправкой в удаленный офис.
Вы — профессионал и не могли ошибиться в настройке такой элементарной функции.
4. Устная договоренность с сетевиками ISP является полноценной разновидностью SLA.
5. Сертификация — незначима. Экзамены всегда можно сдать с помощью дампов.
6. Прямой доступ через serial к оборудованию — анахронизм. IP-интерфейс — удобнее.
7. С системой мониторинга должен работать соответствующий отдел. Сотрудники там опытные, разберутся, что к чему.
8. Во внутренних маршрутах никогда не будет более 15 хопов.
9. Остановка работы компании из-за разрыва линка со стороны ISP — не ваша вина.
10. Одного гигабитного линка будет достаточно для всех.
11. Никто никогда не соединит 2 сетевые розетки патчкордом. Зачем это делать?
12. Какой смысл ставить 2 маршрутизатора в ядре, если загрузка одного менее 50%?
现已上线!2025 年 Telegram 研究 — 年度关键洞察 
