Как стать автором
Обновить
8
0
Markus Kaldwin @Fitrager

Системный администратор

Отправить сообщение

Kubernetes через грабли или внедрение в университете

Время на прочтение3 мин
Количество просмотров6.5K

К Kubernetes мы присматривались два года. Изучали различные статьи, пытались его разворачивать, но после развертывания не понимали что делать дальше. Пока однажды мы не решили попробовать завернуть одну из систем в контейнер. Для оркестрации контейнера была выбрана система Docker Swarm, так как она проще, и тут возникла первая проблема – в выбранной системе была авторизация, а Docker Swarm проблема с сохранением сессии пользователя если контейнеров больше одного (мы использовали ADFS для авторизации в системе) – т.е. текущая сессия пользователя не сохранялась и при обновлении страницы выходила стартовая. Поиск различных решений сводил к одному – нужен Kubernetes с его Ingress контроллером, где есть «липкие сессии» (sticky session). При выборе дистрибутива было принято решение использовать «ванильный» k8s.

В очередной раз установив Kubernetes начался поиск решения как доставить туда наш контейнер. Контейнеры собирались на отдельной виртуальной машине и загружались в локальный Docker Container Registry, а чтобы развернуть этот контейнер в Kubernetes использовался Gitlab Runner на мастере. Не самое лучшее решение, но компетенций на другое не хватало. И вот когда Deployment был развернут возник вопрос. Как вывести контейнер наружу. Так как мы использовали Bare Metal конфигурацию, то при первом запросе в Google вылез Metal LB. Если бы мы знали тогда, что можно использовать Ingress Nginx с параметром Host Network: True, то это сэкономило бы нам месяц экспериментов с Metal LB и мы знали, что от него можно сразу отказаться. Для Metal LB использовалась L2 конфигурация, где создавался виртуальный пул адресов, который виден только внутри кластера. А как вывести это наружу? Конечно установить Nginx на мастер и прописывать виртуальные адреса в /etc/hosts, чтобы Nginx их видел. К счастью в голове тогда была мысль, что это как-то неправильно.

Читать далее
Всего голосов 15: ↑13 и ↓2+11
Комментарии21

Плейбуки Ansible — советы и примеры

Время на прочтение12 мин
Количество просмотров56K

В этой статье мы рассмотрим плейбуки Ansible — схемы для действий по автоматизации. Плейбуки — это простой, целостный и воспроизводимый способ определить все действия, которые мы хотели бы автоматизировать.

Читать далее
Всего голосов 15: ↑11 и ↓4+7
Комментарии4

Как справиться с устареванием apt-key и add-apt-repository с помощью gpg в Ubuntu 22.04

Время на прочтение10 мин
Количество просмотров25K

apt-key - это утилита, используемая для управления ключами, которые APT использует для аутентификации пакетов. Это тесно связано с утилитой add-apt-repository, которая добавляет внешние репозитории с использованием серверов ключей в список надежных источников установки APT. Однако ключам, добавленным с помощью apt-key и add-apt-repository, apt доверяет глобально. Эти ключи не ограничиваются авторизацией единственного хранилища, для которого они были предназначены. Любой ключ, добавленный таким образом, может быть использован для авторизации добавления любого другого внешнего хранилища, что представляет собой важную проблему безопасности.

Начиная с Ubuntu 20.10, использование apt-key выдает предупреждение о том, что инструмент устареет в ближайшем будущем; аналогичным образом, add-apt-repository также скоро устареет. Хотя эти предупреждения об устаревании строго не запрещают использовать apt-key и add-apt-repository с Ubuntu 22.04, но игнорировать их не рекомендуется.

В настоящее время рекомендуется использовать gpg вместо apt-key и add-apt-repository, и в будущих версиях Ubuntu это будет единственным вариантом. apt-key и add-apt-repository сами по себе всегда действовали как оболочки, вызывая gpg в фоновом режиме. Использование gpg напрямую отсекает посредника. По этой причине метод gpg обратно совместим со старыми версиями Ubuntu и может использоваться в качестве замены apt-key.

В этом руководстве будут описаны две процедуры, использующие альтернативы apt-key и add-apt-repository соответственно. Сначала будет добавлено внешнее хранилище с использованием открытого ключа с помощью gpg вместо использования apt-key. Во-вторых, в качестве дополнения в этом руководстве будет рассмотрено добавление внешнего репозитория с использованием сервера ключей с gpg в качестве альтернативы использованию add-apt-repository.

Читать далее
Всего голосов 7: ↑5 и ↓2+3
Комментарии11

showcert: проверяем сертификаты (без боли)

Время на прочтение4 мин
Количество просмотров10K

Этот пост не про какой-то большой и сложный проект, а про очень маленькую, простую утилитку showcert, мой маленький самодельный велосипед, который экономит время и нервы. Она не для тех, кто не знает, про утилиту openssl, а для тех, кто все знает, но когда хочет проверить дату истечения почтового сертификата яндекса, немного гуглит, потом сноровисто пишет:

$echo | openssl s_client -connect mx.yandex.ru:25 -starttls smtp 2>&1 | openssl x509 -noout -dates
notBefore=Jul 25 11:16:45 2022 GMT
notAfter=Jan 22 20:59:59 2023 GMT

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

А теперь сравните с:

$ showcert mx.yandex.ru:25
Names: mx.yandex.ru mx.yandex.net
notBefore: 2022-07-25 11:16:45 (15 days old)
notAfter: 2023-01-22 20:59:59 (165 days left)
Issuer: C=BE O=GlobalSign nv-sa CN=GlobalSign RSA OV SSL CA 2018

Ну разве не проще? showcertсам, по номеру порта догадывается, как начать STARTTLS (но конечно же, это можно переопределить через опцию -t / --starttls, например -t no или -t imap)

Предупредить о том, что сертификат скоро протухнет? Окей!

$ showcert mx.yandex.ru:25 -qw 200 || echo PROBLEM
mx.yandex.ru:25 expires in 165 days
PROBLEM

-q - тихий режим, не печатать лишнего, только предупреждения, -w 200 - завершаться с кодом 1, если до протухания меньше 200 дней. (-w без значения, проверка на 20 дней, без -w проверка валидности сегодня).

Проверки файлов:

Читать далее
Всего голосов 23: ↑23 и ↓0+23
Комментарии29

Мониторинг контроллера MegaRAID и подключенных к нему дисков с помощью Zabbix

Время на прочтение15 мин
Количество просмотров23K

Когда нужно обеспечить быстродействие и надежность дисковой системы, а также возможность горячей замены дисков без выключения сервера, большую помощь окажут дисковые контроллеры с кэш памятью и защитным аккумулятором, такие как MegaRAID. Новые версии этих контроллеров есть на сайте https://www.broadcom.com/products/storage/raid-controllers.

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

Читать далее
Всего голосов 7: ↑6 и ↓1+5
Комментарии9

Не обновлениями едиными: как получить привилегии администратора домена без эксплуатации уязвимостей

Время на прочтение7 мин
Количество просмотров9.8K

Всем привет. Я чуть больше полутора лет занимаюсь внутренним пентестом. И вроде бы уже многое знаю, но всегда кажется, что этого недостаточно и хочется знать больше. Когда часто делаешь похожую работу, привыкаешь к одним и тем же действиям, инструментам, и нет идей, что бы еще попробовать. Иногда я черпаю вдохновение в отчетах своих коллег, но всегда интересно почитать о том, как работают и что используют другие команды. А раз это интересно мне, может, это интересно кому-то еще. Мы c командой решили тоже поделиться несколькими интересными киллчейнами. В этой статье я расскажу о последовательности шагов, которая привела к получению привилегий администратора домена в компании, в которой «почти все безопасно».

Подробнее — под катом.

Читать далее
Всего голосов 22: ↑22 и ↓0+22
Комментарии5

Что, если… забыть про безопасность кластера k8s?

Время на прочтение9 мин
Количество просмотров5.1K

Я думаю, многие слышали про громкий инцидент произошедший с Tesla в 2018 году, когда группа хакеров через консоль Kubernetes смогли получить доступ к аккаунту. После чего изрядно повеселились и настроили майнер в облачном сервисе Amazon Web Services. У многих людей сразу же возникает вопрос в голове “Как они это сделали?” и “Почему многоуважаемые ИБ данной компании не подумали о потенциальной дыре в безопасности?”. Как правило при разработке любого продукта бывают лишь две причины возникновения уязвимостей. Первая причина - человеческий фактор. Кто из нас не забывал что-либо в ходе кропотливой работы над проектом и кто не откладывал в бэклог решение “не самых срочных вопросов..?”. И, наконец, вторая причина - отсутствие необходимых компетенций в той или иной области.

Читать далее
Всего голосов 8: ↑8 и ↓0+8
Комментарии2

Как использовать Docker в приложениях Node.js и React

Время на прочтение4 мин
Количество просмотров36K

В этой статье поговорим о том, как разработать и запустить бэкэнд на Node.js-Express и фронтенд на React в контейнере Docker.

Читать далее
Всего голосов 13: ↑8 и ↓5+3
Комментарии17

Лучшие книги по Python 2021-2022 года: для новичков и профи

Время на прочтение6 мин
Количество просмотров208K

Привет, Хабр! Поговорим о книгах?

Есть мнение, что люди начали читать меньше и всё чаще многие потребляют уже готовый контент в виде роликов на YouTube или сокращённых вариантов различных произведений. Но это вряд ли, ведь если бы люди не читали книги, могли бы тогда развиваться отечественные и зарубежные сервисы для любителей чтения? К примеру, LitRes, Bookmate и другие. 

И да, в IT-команде Сбера много книголюбов с самыми разными предпочтениями. А поскольку мы на Хабре, то поговорим сегодня о технической литературе. Точнее, о Python и лучших книгах по этому языку для профи, программистов среднего уровня и начинающих. Подборка  ― уже под катом.

Читать далее
Всего голосов 23: ↑23 и ↓0+23
Комментарии11

Как перейти в девопс из администрирования или разработки и чем там придётся заниматься

Время на прочтение6 мин
Количество просмотров19K

Привет, Хабр! В Слёрме есть карьерный канал, и нас регулярно просят разместить там вакансии с названием DevOps Engineer. При этом описания вакансий могут быть самыми разнообразными. Кому-то требуется решать платформенные задачи и проводить миграцию между площадками, кому-то — взаимодействовать с командой разработки и организовывать мониторинг приложений, а кому-то нужны навыки программирования на Python или Go. 

Мы решили разобраться, в чём всё-таки заключается работа девопс-инженера, и спросили об этом Виктора Попова, девопса в НЛМК IT. Виктор рассказал, какими путями приходят в девопс и чем там занимаются, почему всем нужны мидлы и что делать, если ты джун. Слово Виктору.

Читать про девопс
Всего голосов 13: ↑11 и ↓2+9
Комментарии14

Сетевое резервирование в дата-центрах: решаем задачку про двух велосипедистов

Время на прочтение8 мин
Количество просмотров13K

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

На вебинаре Selectel Network Academy эксперты компании рассказали о практиках L2- и L3-резервирования в дата-центрах Selectel. Подробнее о них — под катом.
Читать дальше →
Всего голосов 46: ↑46 и ↓0+46
Комментарии13

Как управлять программным обеспечением в корпоративной ИТ-инфраструктуре?

Время на прочтение5 мин
Количество просмотров4.9K

Многим компаниям приходится решать вопросы управления жизненным циклом собственных или сторонних продуктов. Расскажем, как это реализовано у нас в HOSTKEY, а также изучим альтернативные системы.

Читать далее
Всего голосов 11: ↑7 и ↓4+3
Комментарии1

Gitlab CI — использование label для управления пайплайнами в небольших командах

Время на прочтение3 мин
Количество просмотров6.5K

Итак, вы - лид , скажем, 5-6 разработчиков и 2-3 тестировщика, встает вопрос - как тестировать задачи, запускать тесты по веткам, желательно не толкаясь локтями на одном стенде и не потратив недели на настройку и поддержку инфраструктуры. Сегодня расскажу о подходе, к которому сам пришел, оказавшись в такой ситуации.
Первым делом рассмотрим опции:

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии8

Большой провал маленькой функции 1С

Время на прочтение2 мин
Количество просмотров9.7K

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

Читать далее
Всего голосов 15: ↑6 и ↓9-3
Комментарии74

Про Ansible для новичков: Практика (часть I)

Время на прочтение18 мин
Количество просмотров29K

Мы продолжаем цикл обучающих статей для начинающих системных администраторов. В этом материале мы будем писать Ansible role для поднятия полноценного готового сервера. Отметим, что если вы являетесь опытным администратором, можете смело пропускать данный материал.

Любое написание ansible роли сопровождается планом. В данный план необходимо будет включить все, что необходимо будет установить и настроить.

План:

Пункт 1. Первоначальная настройка сервера.

Пункт 2. Установка LEMP.

Пункт 3. Права и пользователь.

Пункт 4. Настройка LEMP.

Пункт 5. Перенос кода площадки и БД.

Пункт 6. Тестирование.

Пункт 7. Итог.

Читать далее
Всего голосов 12: ↑7 и ↓5+2
Комментарии7

Какой способ лучше всего подходит, чтобы начать изучать программирование?

Время на прочтение4 мин
Количество просмотров57K

Профессия программиста не нуждается в рекламе. Никто даже не задумывается, что один терминал самообслуживания может сократить количество сотрудников банка. Выдать наличку и принять оплату вполне может и «робот». А чем больше таких терминалов, тем больше работы у программистов.

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

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

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

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

Читать далее
Всего голосов 30: ↑5 и ↓25-20
Комментарии36

SRE или DevOps — чувствуем разницу

Время на прочтение4 мин
Количество просмотров9.6K
image

Разработка программного обеспечения прошла долгий путь развития — от непересекающейся модели разработки (водопадной модели) до модели итеративной разработки, такой как Agile и DevOps. Интересно отметить, что SRE появилась в Google для обеспечения надёжности и отказоустойчивости всей инфраструктуры в 2003 г., то есть раньше появления DevOps (примерно 2007–2008 гг.). Google в своей книге об SRE описали, насколько совместные усилия инженеров DevOps, SRE и других инженеров, таких как инженеры по безопасности приложений, жизненно важны для поддержки такого продукта, как, например, Gmail.

Глядя на приведённый выше пример, можно с уверенностью сказать, что наша растущая зависимость от приложений активно способствовала широкому внедрению DevOps и SRE. Нам постоянно нужны надёжные и масштабируемые системы, будь то оптимизация бизнес-функций или запуск приложения, упрощающего нам жизнь.
Читать дальше →
Всего голосов 14: ↑10 и ↓4+6
Комментарии0

18 отборных однострочных команд Linux

Время на прочтение4 мин
Количество просмотров37K

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

Приступим!
Читать дальше →
Всего голосов 77: ↑57 и ↓20+37
Комментарии55

Выбор лучшего пути по версии BGP в L3VPN: скрытый нюанс

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров3.7K

Если вы хоть раз настраивали MPLS L3VPN, то у вас не возникнет сомнения в том, что весь подход вертится вокруг BGP. Будучи протоколом маршрутизации с развитым чувством собственного достоинства (в конце концов, он является основой для интернета), BGP использует внушительный список атрибутов префикса, которые лежат в основе алгоритма выбора лучшего маршрута. Несмотря на неприличную длину этого списка, большинство параметров предназначены для обеспечения детерминированности результата алгоритма, а не для управления трафиком руками инженера. Впрочем, иногда даже самые популярные параметры не подходят для решения определённой задачи. Если вы видите EIGRP в связке с L3VPN, возможно, это наш сегодняшний пациент.

Читать далее
Всего голосов 2: ↑2 и ↓0+2
Комментарии3

Как подружить Wi-Fi Mikrotik и TP-Link с помощью RADIUS

Время на прочтение3 мин
Количество просмотров17K

Хочу поделиться опытом использования нового User Manager в Mikrotik ROS 7 для Wi-Fi. Многое в статье типично, но есть моменты, найденные опытным путем.

Задача - покрыть Wi-Fi трехэтажное здание, подключить около 100 пользователей поэтапно с небольшими вложениями.

Все начиналось хорошо - для небольшого объекта купили Mikrotik - маршрутизатор RB750Gr3 и несколько точек доступа RB952, которые заодно управляемые коммутаторы. Настроил CAPsMAN, с несколькими SSID и VLAN, авторизация WPA2 PSK с проверкой MAC через Access List, ограничение скорости через Quenes. Работало просто и стабильно. Недостаток - сложность узнать MAC у пользователя, с учетом опции "случайный MAC" в устройствах. Зато удобно давать доступ по маске MAC, например для одинаковых ноутбуков.

Читать далее
Всего голосов 10: ↑9 и ↓1+8
Комментарии8

Информация

В рейтинге
Не участвует
Откуда
Казахстан
Дата рождения
Зарегистрирован
Активность