Useful Tools | Linux | GitOps | DevOps
Відкрити в Telegram
Полезные бесплатные opensource инструменты на все случаи жизни, а иногда и советы. Понравился проект из поста - поддержи автора звездой! Web: https://gitgate.d3.ru Сотрудничество: @maxgrue
Показати більше6 669
Підписники
-124 години
-77 днів
+3630 день
Архів дописів
Совет дня:
Ограничение памяти с помощью cgroups
Control Groups (cgroups) позволяют ограничивать объем памяти, доступной для группы процессов.
Для начала необходимо создать группу для ограничения памяти:
sudo cgcreate -g memory:/mygroup
Далее настраиваются ограничение на использование памяти для группы mygroup. Например, ограничение на 512 MB:
echo 512M | sudo tee /sys/fs/cgroup/memory/mygroup/memory.limit_in_bytes
Добавьте процесс в группу cgroups, указав его PID:
sudo cgclassify -g memory:/mygroup <PID>
Либо запустите процесс непосредственно в группе cgroups:
sudo cgexec -g memory:/mygroup <command>
Теперь процесс будет ограничен в использовании памяти, что поможет избежать ситуаций, когда один процесс использует всю доступную память.
Примерно так же задаются ограничения и по CPU
опубликовано в @gitgate
#tips #cgroupscgroup-utils - предоставляет утилиту и библиотеку для контроля cgroups в Linux. Например, топ cgutil - htop подобная утилита , которая показывает деятельность запуска процессов в cgroups
Доступные команды:
- configs
- event
- mkdir
- pgrep
- rmdir
- stats
- top
- tree
Поддерживаемые подсистемы:
- blkio (с возможностью debug)
- cpuset
- cpu and cpuacct
- devices
- freezer
- hugetlb
- memory
- net_cls
- net_prio
- pids
- rdma
Т.е. даже не используя контейнеризацию вы можете не только обернуть любой процесс в cgroups с установленными лимитами например по памяти или CPU и изоляцией, но и удобно им управлять и наблюдать.
Например поднять пару инстансов постгреса, чтобы они не дрались за память. :)
https://github.com/peo3/cgroup-utils
опубликовано в @gitgate
#cgroups #tools #cli #utilsСовет дня:
Как попасть на узел в закрытой сети через
jumphost по ssh.
ssh -J user1@hostname1:port1 user2@hostname2:port2
Где hostname1 - промежуточный jump узел с доступом извне, hostname2 узел изолированный от внешних каналов, но с сетевой связаностью с hostname1
Для удобства можно прописать алиасом в файле ~/.bashrc
alias jump='ssh -J user1@hostname1:port1'
И просто вызывать командой jump user2@hostname2:port2
опубликовано в @gitgate
#tips #ssh #jumphostpg_activity - инструмент командной строки (CLI) для мониторинга активности сервера PostgreSQL похожий на htop
Кстати, включено пакетом в базовые репы многих дистрибутивов линукса.
Запуск:
sudo -u postgres pg_activity -U postgres
https://github.com/dalibo/pg_activity
опубликовано в @gitgate
#moni #postgres #pg #top #sqlbunkerweb-plugins - репозиторий содержит «официальные» плагины для BunkerWeb
Каждый плагин расположен в подкаталоге этого репозитория. Файл Readme, расположенный в каждом подкаталоге, содержит документацию о плагине.
Список плагинов:
- ClamAV
- CrowdSec
- Coraza
- Discord
- Slack
- VirusTotal
- WebHook
https://github.com/bunkerity/bunkerweb-plugins
опубликовано в @gitgate
#nginx #bunkerweb #pluginBunkerWeb - следующее поколение брандмауэра WAF для web-приложений c открытым исходным кодом
Будучи полнофункциональным веб-сервером (на основе Nginx под капотом), он защитит ваши веб-сервисы, чтобы сделать их «безопасными по умолчанию». BunkerWeb плавно интегрируется в ваши существующие среды (Linux, Docker, Swarm, Kubernetes,…) и полностью настраивается (не паникуйте, есть потрясающий веб-интерфейс, если вам не нравится CLI). Другими словами, кибербезопасность больше не является хлопотом.
BunkerWeb содержит первичные функции безопасности как часть ядра, но его можно легко расширить с помощью дополнительных благодаря системы плагинов.
Функции безопасности
- поддержка HTTPS с прозрачной автоматизацией Let's Encrypt
- современная веб-безопасность: заголовки HTTP Security, предотвращение утечек, TLS hardering
- встроенный Modsecurity WAF с набором правил Core OWASP
- автоматический запрет странного поведения на основе кода состояния HTTP
- применение лимитов подключений и запросов для клиентов
- блок ботов для решения проблем (например: cookie, JavaScript, Captcha, Hcaptcha или Recaptcha)
- блокировка известных плохих IP с внешними черными списками и DNSBL
- и многое другое...
https://github.com/bunkerity/bunkerweb
Домукентация: https://docs.bunkerweb.io
Демо: https://demo.bunkerweb.io
Примеры: https://github.com/bunkerity/bunkerweb/raw/v1.5.12/examples
Конфигуратор: https://config.bunkerweb.io
опубликовано в #gitgate
#nginx #waf #linux #docker #swarm #k8s #webui #cli #dnsblbeszel - легковесная платформа мониторинга серверов, которая включает в себя статистику Docker, исторические данные и функции оповещения.
Он имеет дружественный веб -интерфейс, простая конфигурация и готов к использованию из коробки. Он поддерживает автоматическое резервное копирование, многопользовательскую аутентификацию, аутентификацию OAuth и доступ API.
https://github.com/henrygd/beszel
опубликовано в #gitgate
#moni #docker #alert #webui #oauth #apiСтань DevOps Lead, руководи командой
Ищем опытного DevOps-инженера, готового взять на себя роль лидера и сформировать собственную команду. В KTS ты сможешь прокачать навыки проектирования архитектуры, коммуникации с заказчиками и управления людьми, работая над крупными проектами.
Отправляй свое резюме нашему эйчару, чтобы стать лидом!
Kompose - инструмент, который поможет пользователям, которые знакомы с Docker-Compose переехать в Kubernetes. Kompose умеет из обычного docker-compose.yml вайда конвертировать в манифесты для Kubernetes.
Kompose - это удобный инструмент, чтобы мигрировать из локального docker в приложение Kubernetes. Конвертация в манифест может быть не точной, но это очень помогает при первом развертывании приложения в Kubernetes.
https://github.com/kubernetes/kompose
опубликовано в #gitgate
#docker #docker-compose #manifest #k83 #convertermarkmap - визуализация markdown документов в виде mindmap
https://github.com/markmap/markmap
Демо: https://markmap.js.org/repl
Плагин для vscode: https://marketplace.visualstudio.com/items?itemName=gera2ld.markmap-vscode
опубликовано в #gitgate
#markdown #mindmap #visual #vscodeheadlamp - простой в использовании и расширяемое Web IDE интерфейс Kubernetes.
Headlamp был создан для сочетания традиционного набора функций других Web-UIs/Dashboards (то есть для перечисления и просмотра ресурсов) с добавленной функциональностью.
https://github.com/headlamp-k8s/headlamp
Подсказал: Михаил Исаев - @ismvru
опубликовано в #gitgate
#k8s #ide #web #guiВозможность для всех, кто работает с Linux и хочет прокачаться.
K2 Cloud запускает программу обучения: погружение в DevOps + прокачка в Linux. Если пройдешь на программу — трудоустраивают и платят зарплату, пока учишься. Обучение с практикой, лабораторными и под контролем экспертов из K2 Cloud.
Курс проходит онлайн, в Москве можно учиться гибридно с посещением офиса.
Подробности тут.
nginx-tuning - пример настроек nginx / angie под большие нагрузки
Как правило, правильно настроенный NGINX может обрабатывать до 400 тыс. До 500 тыс. запросов в секунду (кластерный). Большинство то, что я видел, составляет от 50 до 80 тыс. (Не кластеризованные) запросов в секунду и 30% нагрузки на CPU, конечно, это было 2 x Intel Xeon с включенным HyperThreading, но это может работать без проблем на более медленных машинах.
Вы должны понимать, что эта конфигурация используется в среде тестирования, а не в производстве, поэтому вам нужно будет вдумчиво и с пониманием пытаться реализовать большинство из этих функций с учетом потребностей ваших сервисов.
Отдельную ценность представляют ссылочки в конце описания репки.
https://github.com/denji/nginx-tuning
опубликовано в #gitgate
#nginx #performance #highload #tuning☁️ Безопасность CI/CD в разработке облака: опыт MWS
Как защитить процессы разработки облачной платформы, когда у тебя сотни разработчиков и огромная кодовая база? Инженеры МТС Web Services рассказывают о базовой гигиене DevSecOps на примере GitLab CI/CD. Подробнее читайте в статье по ссылке в хабе «Разработка облачных платформ» на Хабре.
➡️ Читать статью
Там же найдёте и другие статьи, которые детальнее рассказывают, как мы строим c нуля облако MWS.
📍 Подписаться на хаб
kubectl node-shell - простой скрипт обертка для запуска root shell на узлах кластера. (ранее известный как Kubectl Enter).
Удобно если прописать алиасом.
https://github.com/kvaps/kubectl-node-shell
Подсказал: Max Zotov - @sf1nk5
опубликовано в #gitgate
#k8s #shell #kubectlJet Pilot - k8s IDE с открытым исходным кодом. Он был создан из-за разочарования, так как все «красивые» k8s IDE стали коммерческими.
Продвинутые пользователи в настоящее время прибегают к таким инструментам, как k9s, которые отлично работают, но в значительной степени полагаются на ввод клавиатуры. Jet Pilot пытается преодолеть эти проблемы использования.
Возможности:
- журналы в реальном времени: мгновенный доступ к журналам для активного мониторинга рабочих нагрузок Kubernetes.
- kubernetes: управление объектами: легко управлять объектами k8s, описывать объекты или редактировать их напрямую.
- pod shell: быстро запускайте шелл внутри ваших контейнеров
- интерфейс: удобный интерфейс с настраиваемыми ярлыками для эффективной навигации и работы.
https://github.com/unxsist/jet-pilot
Подсказал: Max Zotov - @sf1nk5
опубликовано в #gitgate
#k8s #ideSeabird - Kubernetes IDE, предназначенный для GNOME desktop.
Наблюдайте и управляйте своими кластерами с помощью простого и интуитивно понятного интерфейса. Оснащен важными функциями, такими как терминал для выполнения команд, мониторинг через журналы и метрики, а также редактор ресурсов, который удобно помещает ссылку API под рукой.
https://github.com/getseabird/seabird
Полсказал: @CyberManiac
опубликовано в #gitgate
#k8s #ide #gnomefreelensapp - еще один форк от Lens, только бинарные сборки. Наверное просто до кучи, ну или если чем то OpenLens не понравится.
https://freelensapp.github.io/
Подсказал: Max Zotov - @sf1nk5
опубликовано в #gitgate
#k8s #ide #lens #alternativeСовет дня:
А вот так и в оригинальном
Lens можно выпилить необходимость регистрации в Mirantis
IЕсли вы хотите удалить проприетарные материалы, чтобы не запрашивать регистрацию в Lens Cloud, вы можете очистить (или удалить) следующий файл: - /usr/share/lens/resources/app.asar.unpacked/node_modules/@lensapp/lenscloud-lens-extension/dist/main.js
Для этого вы можете запустить следующую команду:
$ sudo truncate -s 0 \ /usr/share/lens/resources/app.asar.unpacked/node_modules/@lensapp/lenscloud-lens-extension/dist/main.js
Обратите внимание: если вы сделаете это, то при запуске Lens, на странице приветствия вы получите сообщение об ошибке, сообщающее, что он не может загрузиться, остальная часть приложения будет работать без проблем.
Подсказал: Max Zotov - @sf1nk5
https://aur.archlinux.org/cgit/aur.git/tree/lens.install?h=lens-bin
опубликовано в #gitgate
#tips #lensopenlens-lens-metrics - расширение
OpenLens встроенный мониторинг и метрики
Чтобы установить расширение, просто введите ссылку на репозиторию на странице расширений в меню OpenLens, перезапустите OpenLens и включите его на странице расширения
https://github.com/shilazi/openlens-lens-metrics
опубликовано в #gitgate
#k8s #ide #openlens #moni
Вже доступно! Дослідження Telegram за 2025 — головні інсайти року 
