netbox-py-wall.png

Netbox - IPAM, автоматизация на коленке

В прошлой заметке подготовили к работе сервер netbox для работы с ним. Сегодня реализуем костыль, который поможет держать в актуальном состоянии ipam. При динамических изменениях в инфре, трудоемкая задача каждый раз обновлять адреса в сетевом пространстве. Особенно когда в команде несколько админов и каждый добавляем по своему. Начинает появляться хаос, тратится больше времени на то что бы все причесать к порядку. Спустя 30 минут ручного труда, ты решаешься сесть за написание скрипта. ...

April 20, 2023 · 6 min · 1200 words · Tony
k8s-pv-wall

K8s - Pv, Pvc

Немного теории Ранее разбирались с деплойментами, запускали наши (stateless) приложения и демонстрировали фишки self-healing в кубернетес. В рамках этого топика разберемся томами (volumes), поймем как мы может запускать приложения с сохранением состояния. В кубернетес есть несколько разновидностей типов томов. Некоторые из типов являются универсальными и подходят для локального хранения данных, какие-то могут быть приспособлены для специфичных задач. Один pod может использовать одновременно несколько типов томов. Тип volume может быть: emptyDir - пустой каталог, который может использоваться для хранения временных файлов. Время жизни этого тома тесно связанно с жизнью пода. Все данные теряются после сметри пода. hostPath - этот тип используется для монтирование каталогов из файловой системы самого хоста. Данные остаются, после завершения цикла жизни пода и могут быть переиспользованы другим подом. gitRepo - том, который инициализируется при проверке содержимого git-репозитория. nfs - общий nfs ресурс, монтируемый в под. local - локальные смонтированные устройства на узлах. cephfs, glusterfs, rdb, vsphereVolume - тип используемый, для монтирования сетевых файловых хранилищ. confingMap, secret - специальны тип, используемый для предоставления поду определенных ресурсов kubernetes. persistentVolume, persistentVolumeClaim - способ использования заранее и динамически резервируемые постоянные хранилища. В рамках этой записи упор будет на постоянных томах и дополнительных абстракциях вокруг постоянных томов. Название типа - PV (PersistentVolume) постоянные тома, обусловлено способу хранение данных, то есть хранилище не привязывается сроку жизни пода. Данные не теряются, если pod умрет, перезапустится или запуститься на другой ноде. Существует многожество реализации постоянных томов, например: nfs, glusterfs, cephfs, fc, iscsi, googleDisk. ...

April 12, 2023 · 9 min · 1757 words · Tony

MariaDB, Репликация master-to-master (Active/Passive)

Как я упоминал ранее, для реализации высокой доступности MFA сервиса буду поднимать несколько экземпляров PrivacyIdea серверов. PrivacyIdea все свое состояние хранит в субд. И для решение всей задачи, мне достаточно обеспечить высокую доступность на уровне баз. В документации к сервису предлагается два решения: Использование централизированной менеджмент системы СУБД (Например: Mariadb Galera, Pgpool); Использование два инстанса MySQL в режиме master-master. Разумеется в моем случаи целесобразнее будет использование второго варианта. Вообщем я взялся за изучения вопроса эсплуатации master-to-master субд. И мнения у большинства - нигативные, из основных притензий к такому подходу, это нарватся на рассихронизацию данных в обоих бд. Также при вставке уникального значения столбца в обе базы, приведет к вылету инстансов или к прерыванию репликации. Выход из подобных ситуаций это создание active/passive кластера. Мы добавляем выше какой либо балансировщик (keepalived, например) и пишем данные в одну мастер ноду вторая же нода используется как горячий бекап. В случаи падения первого мастера, мы продолжаем писать уже во второй мастер. ...

April 10, 2023 · 6 min · 1176 words · Tony
privacyidea-guide-wall.jpg

PrivacyIdea + Radius - MFA для удаленного доступа

В прошлых итерациях настраивали сервис двухфакторной авторизации, для интеграции его с Cisco ISE. На этот раз решил попробовать проинтегрировать аналогичную LinOTP прилу - PrivacyIdea. На самом деле PrivacyIdea это форк LinOTP, который активно развивается разрабами и имеет более симпотичный WebUI. Да и стоит отметить, что некоторые фичи уже добавленые в приложение из коробки. И не нужно реализовывать костели, которые я делал ранее. Стоит отметить, что стабильная версия LinOTP работает на втором python2, что на сегодня уже считаеться немного легаси =). Я пробовал собирать приложение на python3, но из-за различных проблем в процессе использования сервиса, у меня просто опустились руки. ...

April 7, 2023 · 8 min · 1652 words · Tony

i3wm - Floating apps

Если вы используйте оконное окружение i3, то вероятно у вас возникала идея подстроить поведение определенных программ под себя. Например, я хочу что бы программа Lxappearance, которую использую для кастомизации, запускалась в режиме плавающего окна, а не на весь экран. И согласно документации, реализовать эту фичу можно путем добавление директивы в файл конфигурации: $ vim $HOME/.config/i3/config --- ################ Floating apps ################### for_window [class="Lxappearance"] floating enable Отлично, но есть нюанс с которым я столкнулся в процессе. ...

March 31, 2023 · 1 min · 157 words · Tony