Pull to refresh
8
0
Markus Kaldwin @Fitrager

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

Send message

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

Reading time3 min
Views6.6K

К 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 их видел. К счастью в голове тогда была мысль, что это как-то неправильно.

Читать далее
Total votes 8: ↑6 and ↓2+11
Comments21

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

Reading time12 min
Views65K

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

Читать далее
Total votes 15: ↑11 and ↓4+7
Comments4

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

Reading time10 min
Views29K

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.

Читать далее
Total votes 7: ↑5 and ↓2+3
Comments11

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

Reading time4 min
Views13K

Этот пост не про какой-то большой и сложный проект, а про очень маленькую, простую утилитку 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 проверка валидности сегодня).

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

Читать далее
Total votes 23: ↑23 and ↓0+23
Comments29

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

Reading time15 min
Views27K

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

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

Читать далее
Total votes 7: ↑6 and ↓1+5
Comments9

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

Reading time7 min
Views10K

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

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

Читать далее
Total votes 22: ↑22 and ↓0+22
Comments5

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

Reading time9 min
Views5.3K

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

Читать далее
Total votes 8: ↑8 and ↓0+8
Comments2

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

Reading time4 min
Views41K

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

Читать далее
Total votes 12: ↑7 and ↓5+3
Comments17

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

Reading time6 min
Views220K

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

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

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

Читать далее
Total votes 23: ↑23 and ↓0+23
Comments12

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

Reading time6 min
Views20K

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

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

Читать про девопс
Total votes 12: ↑10 and ↓2+9
Comments14

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

Reading time8 min
Views14K

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

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

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

Reading time5 min
Views5K

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

Читать далее
Total votes 8: ↑4 and ↓4+3
Comments1

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

Reading time3 min
Views7K

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

Читать далее
Total votes 4: ↑4 and ↓0+4
Comments8

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

Reading time2 min
Views10K

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

Читать далее
Total votes 15: ↑6 and ↓9-3
Comments74

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

Reading time18 min
Views33K

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

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

План:

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

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

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

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

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

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

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

Читать далее
Total votes 11: ↑6 and ↓5+2
Comments7

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

Reading time4 min
Views58K

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

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

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

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

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

Читать далее
Total votes 28: ↑3 and ↓25-20
Comments36

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

Reading time4 min
Views10K
image

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

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

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

Reading time4 min
Views38K

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

Приступим!
Читать дальше →
Total votes 62: ↑42 and ↓20+37
Comments55

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

Level of difficultyMedium
Reading time8 min
Views4.1K

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

Читать далее
Total votes 2: ↑2 and ↓0+2
Comments3

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

Reading time3 min
Views18K

Хочу поделиться опытом использования нового 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, например для одинаковых ноутбуков.

Читать далее
Total votes 9: ↑8 and ↓1+8
Comments8

Information

Rating
Does not participate
Location
Казахстан
Date of birth
Registered
Activity