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
linotp wall

LinOTP - Active/Passive 2fa кластер (Начало)

Возникла задача обновить сервера LinOTP, которые используются в качестве сервиса 2х факторной авторизации. В текущей конфигурации сервиса, в качестве бекенда используется pgpool+postgresql, и новой реализации решил отказаться от этого, так как жизнь с pgpool накладывает дополнительный overhead. (Схема нового кластера) Установка PostgreSQL Настройку на серверах начнем с самого нижнего слоя, установим и подготовим к использованию базу. Включаем модуль с Postgresql версией 13, и ставим пакеты: [All Servers]# yum module enable -y postgresql:13 [All Servers]# yum install postgresql -y postgresql-server Проинициализируем базу данных: ...

March 28, 2023 · 12 min · 2439 words · Tony
Post wall

Zabbix Agent - Установка/Деплой через GPO

Парадокс нашей админской жизни - как бы мы не стремились в Unixway, все равно приходится админить сервера на Windows. Вообщем и эта заметка будет про автоматизацию процесса установки zabbix-агентов на windows сервера. Собственно раскатывать агентов будем через груповые политики AD, ранее я уже писал об этом в прошлых заметках. Остается только придумать как реализовать процесс добавления хоста в заббикс. Этот поинт будем решать, через скриптец, который напишем далее. Подготовка На стороне заббикс-сервера, нужно внести некоторые приготовления. По моему замыслу, все новые хосты должны назначаться в определенную группу, и далее администратор заббикса распределит хосты по нужным группам. Поэтому создаем хост-группу - Unassigned : ...

March 10, 2023 · 5 min · 1029 words · Tony
Wireguard-wall

Wireguard - Настройка vpn-сервера

Wireguard - отличное решение, если нужно быстро организовать доступ к закрытому скоупу. Вот и ко мне прилетела задача, организовать доступ к exsi через vpn. Сам хост стоит в дата центре и имеет прямой доступ. После реализации vpn-сети, вырубим доступ. (Схема vpn-сети) Я поднял небольшую виртуалку, на которой поднимем wireguard-сервер, далее на микроте (который используется как фаервол/роутер) прокинем порт к vpn серверу. Установка WireGuard Подключаемся к серверу и ставим репозитории epel и eprepo: ...

February 16, 2023 · 6 min · 1123 words · Tony

mongoDB - Установка и настройка кластера

Этот пост будет посвящен установке MongoDB, посмотрим на различные варианты в single-instance, replicaset. MongoDB - это документориентированная СУБД, для хранения информации в json-подобных структурах BSON (Binary json). Монга написана на C++, использует mmap и имеет javascript-like язык запросов. Установка mongoDB Процесс установки монги достаточно тривиальный, и не требует продолжительных подготовок. В этом разделе будем ставить сервис на одиночный сервер, под управлением RockyLinux 8.5. Идем на сайт монги, копируем конфиг репозитория. Подключаемся на сервер, создаем новый репозиторий.: ...

January 31, 2023 · 6 min · 1261 words · Tony

Netbox - установка сервера

В этой заметке будет описан гайд по установке netbox сервер, который будет использоваться в качестве некой CMDB для учета адресного пространства или места в серверных стойках. У проекта очень хорошо прописана документация, и этот ман можно позиционировать просто как пошаговую инструкцию. (Схема стека) Как видно из схема, предварительно нам нужно заинсталить и подготовить дополнительные компоненты: Postgresql, 11 версия и выше Redis, 4 версия и выше Python - 3.8 WSGI обработчик и Nginx в качестве обратной прокси Установка Postgresql Как всегда начинаем с самого низкого слоя стека, установки и инициализации базы. В нашем кейсе, будем ставить postgresql версии 14. ...

January 25, 2023 · 7 min · 1431 words · Tony
ad-gpo-wall

Active Directory (GPO) - раскатываем Kaspersky NetAgent

В этом мануале будет продемонстрировано, как мы можем ставить агентов Kaspersky Network Agent на сервара, которые управляются под Active Directory. Итак, сначала нужно разместить .msi файл агента на какой нибудь шаре. С этой шары будет запускаться инстралятор, соотвественно у всех клиентов должен быть доступ к этой шаре. Логичнее будет разместить инсталятор на серваке с касперским, так и поступим. На установочный файл даем права для всех (или для доменных пользователей) на чтение/запуск файлов. ...

January 22, 2023 · 2 min · 418 words · Tony