ServerAdmin.ru
32.3K subscribers
1.17K photos
72 videos
29 files
3.18K links
Авторская информация о системном администрировании.

Информация о рекламе: @srv_admin_reklama_bot
Автор: @zeroxzed

Второй канал: @srv_admin_live
Сайт: serveradmin.ru

Ресурс включён в перечень Роскомнадзора
Download Telegram
Продолжаю цикл статей по использованию кластера Kubernetes. В этот раз рассмотрел вопрос с хранилищами на примере внешнего NFS сервера и локальных дисков самих нод. Как обычно, своими словами и насколько можно подробно с примерами.
https://serveradmin.ru/hranilishha-dannyh-persistent-volumes-v-kubernetes/

#статья #devops #kuber
Следующая статья из единого цикла, посвещенному современной системе оркестрации контейнеров. Сегодня расскажу, что такое Helm и как с его помощью можно быстро и легко разворачивать приложения в кластере Kubernetes. Статья будет поверхностная, без углубления в сам инструмент. Я просто покажу на примерах, как с ним работать.
https://serveradmin.ru/rabota-s-helm-3-v-kubernetes/

#статья #devops #kuber
Продолжение цикла статей про кластер Kubernetes. Рассказываю как настраивать ingress controller, который нужен для публикации сайта из кластера во вне - интернет или куда-то еще. Параллельно рассказываю о cert-manager для работы с сертификатами, в том числе от Let's Encrypt.
https://serveradmin.ru/kubernetes-ingress/

#статья #devops #kuber
10_Webinar_-_Kubernetes_ru.pdf
2.8 MB
Презентация к сегодняшнему вебинару Zabbix - мониторинг кластера Kubernetes. Утром смотрел его, к вечеру прислали презентацию. Информация общая, без конкретики, но может кому будет полезно.

#zabbix #pdf #kuber
Технический пост, который уже давно нужно было сделать, но всё руки не доходили. На канале много содержательных заметок по различным темам. Иногда сам через поиск ищу то, о чём писал. Ниже набор наиболее популярных тэгов по которым можно найти что-то полезное (и не очень).

#remote - все, что касается удалённого управления компьютерами
#helpdesk - обзор helpdesk систем
#backup - софт для бэкапа и некоторые мои заметки по теме
#zabbix - всё, что касается системы мониторинга Zabbix
#мониторинг - в этот тэг иногда попадает Zabbix, но помимо него перечислено много различных систем мониторинга
#управление #ITSM - инструменты для управления инфраструктурой
#devops - в основном софт, который так или иначе связан с методологией devops
#kuber - небольшой цикл постов про работу с kubernetes
#chat - мои обзоры на популярные чат платформы, которые можно развернуть у себя
#бесплатно - в основном подборка всяких бесплатностей, немного бесплатных курсов
#сервис - сервисы, которые мне показались интересными и полезными
#security - заметки, так или иначе связанные с безопасностью
#webserver - всё, что касается веб серверов
#gateway - заметки на тему шлюзов
#mailserver - всё, что касается почтовых серверов
#elk - заметки по ELK Stack
#mikrotik - очень много заметок про Mikrotik
#proxmox - заметки о популярном гипервизоре Proxmox
#terminal - всё, что связано с работой в терминале
#bash - заметки с примерами полезных и не очень bash скриптов или каких-то команд. По просмотрам, комментариям, сохранениям самая популярная тематика канала.
#windows - всё, что касается системы Windows
#хостинг - немного информации и хостерах, в том числе о тех, кого использую сам
#vpn - заметки на тему VPN
#perfomance - анализ производительности сервера и профилирование нагрузки
#курсы - под этим тэгом заметки на тему курсов, которые я сам проходил, которые могу порекомендовать, а также некоторые бесплатные курсы
#игра - игры исключительно IT тематики, за редким исключением
#совет - мои советы на различные темы, в основном IT
#подборка - посты с компиляцией нескольких продуктов, объединённых одной тематикой
#отечественное - обзор софта из реестра отечественного ПО
#юмор - большое количество каких-то смешных вещей на тему IT, которые я скрупулезно выбирал, чтобы показать вам самое интересное. В самом начале есть шутки, которые придумывал сам, проводил конкурсы.
#мысли - мои рассуждения на различные темы, не только IT
#разное - этим тэгом маркирую то, что не подошло ни под какие другие, но при этом не хочется, чтобы материал терялся, так как я посчитал его полезным
#дети - информация на тему обучения и вовлечения в IT детей
#развитие_канала - серия постов на тему развития данного telegram канала

Остальные тэги публикую общим списком без комментариев, так как они про конкретный софт, понятный из названия тэга:
#docker #nginx #mysql #postgresql #gitlab #asterisk #openvpn #lxc #postfix #bitrix #икс #debian #hyperv #rsync #wordpress #zfs #grafana #iptables #prometheus #1с #waf #logs #netflow
👍284👎6
​​Вчера была заметка про эксплуатацию современной ИТ системы без Kubernetes, после которой я вспомнил свой опыт изучения этого инструмента. Решил поделиться своей историей. Думаю, она будет многим интересна и в каком-то роде полезна.

Несколько лет назад, когда сфера Devops очень активно развивалась и была на слуху, у меня появились мысли углубиться в эту тему, потому что в ней были одни из самых высоких зарплат для эксплуатации и поддержки. Стал популярен Kubernetes, был дефицит специалистов, им предлагали очень приличные деньги.

Я прошёл хорошее обучение и в целом освоил инструмент. Понял его структуру, идеологию, научился поднимать кластер и запускать в нём программные продукты, мониторить. Погонял всё это в тестах. Спустя несколько месяцев для закрепления материала смог записать, как мне кажется, неплохой цикл статей по нему. Для новичков рекомендую.

Параллельно я продолжал изучение и погружение в тему. В итоге понял, что не хочу работать с Kubernetes по нескольким причинам:

1️⃣ Это сложный продукт, в который нужно погружаться и желательно заниматься только им. Мне показалось, что он переусложнён. Я больше вижу себя специалистом широкого профиля, а не специализирующимся на чём-то одном. Это как сетевой инженер сложных и масштабных сетей. Лучше иметь специализацию по ним и заниматься только сетями.

2️⃣ Кубер активно развивается и часто обновляется. Обновление кластера —зачастую нетривиальная задача, особенно если он большой, если пропущено много релизов, если нет второго такого же кластера. Регулярный стресс гарантирован.

3️⃣ Кубернетис очень живой и динамичный. За ним постоянно нужно присматривать. Часто случаются те или иные инциденты. С удивлением и ужасом слышал в выступлениях специалистов, что случаются ночные оповещения мониторинга, когда надо проснуться и что-то чинить. У меня вообще сложилось впечатление, что в этой отрасли это норма. Люди спокойно обсуждают ночные побудки в тематических конфах на тему мониторинга всего этого куберского и девопсерского хозяйства.

4️⃣ Kubernetes — удел больших корпораций или крупных аутсорсеров. У меня есть какое-то предвзятое отношение к крупному бизнесу, как к бездушной машине. Хоть там и не работал никогда, но почему-то и не хочется. Возможно здесь я ошибаюсь. Как говорится, не читал, но осуждаю.

В общем, взвесил я всё плюсы и минусы и решил, что для меня это не подходит. С кубером для себя вопрос закрыл.

❗️Отдельно подчеркну, что описал свои субъективные впечатления и отношение к продукту и рабочему процессу, связанному с ним. Мне показалось, что это не для меня. Возможно вам понравится и вы найдёте себя. Попробуйте. Как минимум, с деньгами проблем не будет.

#мысли #devops #kuber
👍112👎4
​​Подписчик поделился информацией об одном любопытном проекте по созданию инфраструктуры рабочих мест на базе Kubernetes, где рабочие места поднимаются в подах. По сути это получается open source аналог Citrix Workspace. Разумеется, с большой натяжкой, так как это всего лишь небольшой бесплатный проект с открытым исходным кодом.

Речь идёт об webmesh-vdi. Основные возможности этой системы:

Запуск операционных систем в подах Kubernetes. Соответственно, поддерживается только то, что работает в контейнерах на Linux хосте.
Доступ к системам через браузер с поддержкой микрофонов и звуков, передачей файлов.
Поддержка MFA через zitadel.
Локальная аутентификация пользователей, через LDAP или OpenID.
Helm чарт, чтобы всё это быстро развернуть.

Запустить всё это хозяйство можно в существующем кластере Kubernetes через готовый helm chart. Если у вас его нет, а попробовать хочется, то можно запустить на k3s, развёрнутым локально как standalone kubernetes на базе одной ноды. Для этого нужна любая система с установленным docker и пакетом dialog:

# curl https://get.docker.com | bash -
# apt install dialog
# curl -JLO https://raw.githubusercontent.com/kvdi/kvdi/main/deploy/architect/kvdi-architect.sh
# bash kvdi-architect.sh

Можно ничего не настраивать, а оставить по умолчанию. После установки можно сразу скачать шаблоны ОС:

# k3s kubectl apply -f https://raw.githubusercontent.com/kvdi/kvdi/main/deploy/examples/example-desktop-templates.yaml

Установятся 3 шаблона:

▪️ ubuntu-xfce
▪️ ubuntu-kde
▪️ dosbox

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

После запуска рабочего места, можно посмотреть, где и как оно запущено. Смотрим список подов кубера:

# kubectl get pod

NAME                   READY  STATUS
prometheus-operator-8545786465-zdt97 1/1   Running
kvdi-manager-57d84fcd49-pbc6l      2/2   Running
kvdi-app-df5c78cc7-kdfrt         2/2   Running
prometheus-kvdi-prometheus-0       3/3   Running
ubuntu-kde-qqjmc             2/2   Running

Все компоненты webmesh-vdi запущены в подах, в том числе и рабочее место на базе ubuntu-kde, которое я создал из шаблона.

Интересный проект. Мне понравился своей относительной простотой и реализацией. Ниже список других упоминаемых мной проектов, на базе которых можно построить инфраструктуру vdi:

- Ravada VDI
- OpenUDS
- PVE-VDIClient
- Termidesk

Если кому любопытно, моё отношение к Kubernetes. А если вы никогда не работали с Кубером, но хотите погонять этот проект, то вот моя статья с базовым описанием команд и в целом по работе с кластером Kubernetes. Этой информации хватит, чтобы хоть немного ориентироваться в том, что там происходит.

#vdi #kuber
👍79👎3
На прошлой неделе был на конференции Deckhouse Conf. Это не рекламная публикация, у меня её никто не заказывал. Моё посещение было самостоятельным. Публиковал рекламу о событии на канале и сам записался. Ничего о себе особо не указывал, оставил обычную заявку. Мне её подтвердили, так что съездил. Событие было интересное, поэтому решил поделиться с вами некоторыми новыми для себя вещами.

🟢 Конференция в первую очередь была посвящена программному продукту Deckhouse. А точнее экосистеме, которая состоит из множества компонентов. Основные - Kubernetes Platform и Virtualization Platform. Конференция в основном была посвящена Kubernetes и всему, что с ним связано.

Deckhouse Platform представлена в том числе в бесплатной редакции Community Edition с открытым исходным кодом. Развернуть и использовать можно без ограничений в рамках возможностей этой версии. Не знаю, насколько эта версия в реальности функциональна. Не нашёл табличку со сравнением Enterprise и Community. По картинкам и техническому описанию всё выглядит очень красиво. Много своих разработок, о которых технический директор продукта больше часа рассказывал.

🔥 В рамках построения своей платформы Флант полностью переписали мониторинг Prometheus на C++, чтобы снизить нагрузку, которую он создаёт. По словами разработчиков он потребляет до 10 раз меньше памяти, чем обычный Prometheus и до 3 раз эффективней, чем VictoriaMetrics. Что значит эффективней, не знаю. Проект назвали Prom++, он open source, попробовать может каждый. У него полная совместимость с оригинальным Prometheus, так что можно просто заменить один на другой и попробовать. Очень интересный продукт. Если он реально полностью совместим и в 10 раз легче, то не вижу причин его не использовать.

🔴 На замену Ingress в Kubernetes разработали новый инструмент Gateway API. Самый популярный бесплатный Ingress Controller, или один из самых популярных, Ingress Nginx не будет его поддерживать. Планов по развитию бесплатной версии нет. Вроде как там что-то новое появилось, но я не уточнял. Так что сейчас использовать бесплатный Ingress Nginx большого смысла нет.

🟡 Несмотря на наличие развитых отказоустойчивых сетевых хранилищ для данных и протоколов их доставки, локальные диски остаются вне конкуренции по производительности и отклику. Особенно при использовании современных NVMe дисков. Для Deckhouse написан свой оператор для управления локальными хранилищами с использованием технологии LVM. Для отказоустойчивости можно добавить DRBD.

Вроде всё, что можно в формате короткой заметки написать. Было интересно. Я с Kubernetes вообще не работаю, хотя и знаю его. Могу развернуть и использовать. Знаю основные сущности и принцип работы. Тут за один день получил все обновлённые знания по разным темам: какой CNI-плагин что умеет и что лучше выбрать, как cilium доставляет пакеты в обход стандартной маршрутизации linux с использованием iptables (они всё ещё актуальны в кубере), как решаются вопросы с размещением statefull приложений, из чего состоит типовой кластер Kubernetes, какие актуальны ingress контроллеры и что они умеют, и т.д.

#devops #kuber
2👍61👎3
Вчера был на конференции Deckhouseconf компании Флант. Пишу от себя, меня специально туда никто не звал. Сам просто увидел где-то анонс мероприятия и отправил заявку. Меня иногда спрашивают, как я попадаю на разные конференции. На некоторые приглашают, но чаще всего - нет. Сам отправляю заявку да и всё. Пишу, что я DevOps инженер. Ни разу отказ не получал. Может как-то идентифицируют меня, может так совпадает. Приезжаю как обычный участник и не отсвечиваю. Я и пишу о поездках редко, только если что-то полезное увижу.

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

Я впервые узнал про эту платформу на прошлой конференции. Выглядит всё круто и интересно, но в основном для большого и очень большого бизнеса. Я даже примерно не знаю, сколько всё это стоит, не интересовался. В прошлом году было упомянуто, что есть бесплатная community версия. Я мельком глянул на неё - там всё управление только через CLI, вообще никакого интерфейса нет. Практического применения в таком виде не увидел, даже пробовать не стал.

А в этом году рассказали и показали простой и удобный установщик и панель управления платформой, которая частично поддерживает community версию в режиме только просмотра, не управления. Установщик позволяет развернуть бесплатную версию на железо, виртуалки или в Yandex Cloud. Можно поставить как на одну ноду, так и на 2-3. То есть это нормальное решение для небольшого отказоустойчивого кластера.

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

Полное сравнение редакций и обзор функциональных возможностей каждой из них можно посмотреть в табличке. Конечно, в бесплатной версии много всего урезано. Хотелось хотя бы на 3 ноды полнофункциональный кластерок 🙄 Может быть с ограничением по виртуалкам, чтобы вкусить все прелести на небольшой масштабе, но увы. Придётся довольствоваться тем, что есть. В принципе, и так немало. Можно попробовать. Думаю, разверну у себя и напишу, что получилось. Интересно самому посмотреть.

Также напомню тем, кто не знает, что команда Deckhouse полностью переписала Prometheus на C++ 😎, назвав его Prom++. Он тратит на работу в разы меньше ресурсов, чем оригинальный Prom, и меньше, чем VictoriaMetrics, которая тоже отличается легковесностью. Prom++ полностью совместим с оригинальным Prometheus и внедряется простой заменой оригинала. Вообще ничего больше делать не надо. Если вы используете Prometheus или VictoriaMetrics, можете без каких-либо усилий снизить потребляемые мониторингом ресурсы. Не вижу никаких причин не делать это прямо сейчас.

Остальные выступления послушал, но поделиться в формате заметки больше нечем. Там в основном про внутреннее устройство Deckhouse было. Из приятного - выиграл на стенде Selectel очередного Тирекса - мягкую игрушку. У меня дети любят их. Дома несколько штук есть, некоторые совсем поистрепались.

#devops #kuber #prometheus
1👍89👎4
Некоторое время назад ходил на конференцию Deckhouseconf, где рассказывали про Deckhouse. Не буду повторяться и подробно рассказывать, что это такое, можно прочитать в прошлой заметке. Кратко поясню, что это платформа на базе Kubernetes, где в том числе можно запускать виртуальные машины.

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

Сравнение редакций Deckhouse по функциональности и по конкретным модулям. Сходу трудно во всём этом разобраться, поэтому привожу сразу ссылки. Система большая и сложная. В формате заметки не знаю, как всё умещу.

Для установки минимальной конфигурации Deckhouse понадобится управляющий компьютер и хотя бы две ноды - master и worker. Я взял 3 виртуальные машины с Debian 13. Управляющая может быть минимальной конфигурации. У меня заработало с 2CPU, 4GB RAM. А вот рабочие ноды - минимум 4CPU и 8GB RAM. На меньшем установка не пойдёт.

На управляющий компьютер установил Docker и открыл руководство установщика. Достаточно просто запустить контейнер и пройти в браузер:

# docker run --rm --pull always -v $HOME/.d8installer:$HOME/.d8installer -v /var/run/docker.sock:/var/run/docker.sock -p 8080:8080 registry.deckhouse.ru/deckhouse/installer:latest -r $HOME/.d8installer

В руководстве контейнер биндится на 127.0.0.1. Я убрал это, чтобы получить к установщику доступ по сети. Дальше всё сделал по инструкции. Там ничего сложного:

- выбрал редакцию community;
- сгенерировал ssh ключи;
- добавил 2 ноды, указал ip адреса;
- настройки сети и доменного имени не менял, использовал по умолчанию.

Запустил установщик и сразу получил неведомую ошибку ssh - execute on remote: exit status 127. По смыслу понял, что по ssh какая-то команда не запускалась. Так как это было самое начало, то сразу сообразил, что на узлах не хватает sudo. Может это и было где-то указано в руководстве, но я пропустил, сразу не установил. После того, как сделал это, установка пошла.

На master ноду всё установилось без проблем. А вот с worker опять затык. Установка стоит на 50%, в логах ошибок нет. Просто ничего не идёт. Пошёл на ноду разбираться. Установка организована в привычном мне стиле - куча костылей на bash скриптах, залиты по ssh с мастера. Их там около сотни 😁.

Заметил, что висит в вечном цикле скрипт /var/lib/bashible/bashible-new.sh. Посмотрел его содержимое, запустил сам вручную. Увидел, что он ругается на скрипт 000_discover_node_ip.sh. Посмотрел, что он делает - определяет ip ноды и записывает в текстовый файл. Сам не отрабатывает, ругается на несуществующие команды. Не стал разбираться с ним, просто вручную записал ip адрес ноды в текстовый файл, куда он должен записываться.

После этого установка пошла и успешно завершилась. Я получил настроенную работающую платформу. Сразу сходил в раздел Модули и запустил модуль virtualization. Он позволяет управлять виртуальными машинами.

Кластер после запуска минут 10-15 подтупливал и сыпал ошибками. Потом вроде прочихался и неспешно заработал. К сожалению, ничего толком на нём проверить я не смог. Во-первых, там надо разбираться и всё настраивать, что требует какое-то время. А во-вторых, кластеру надо гораздо больше ресурсов. Того, что дал ему я, едва хватает, чтобы самому шевелиться. Он запускает очень много своих сервисов - запущено 95 своих подов.

В целом, у меня всё получилось. Поднял кластер без посторонней помощи, но помогла чуйка. Посоздавал там поды, replicasets. Посмотрел, как всё работает, управляется. На первый взгляд удобно. Установка как-то костыльно сделана с плохой обратной связью и без моих пинков не завелась.

———
ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX 😩

#kuber #devops
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍56👎6