Useful Tools | Linux | GitOps | DevOps
5.79K subscribers
152 photos
1 video
7 files
677 links
Полезные бесплатные opensource инструменты на все случаи жизни, а иногда и советы.

Понравился проект из поста - поддержи автора звездой!

Автор: @dmitry_malinin
Web: https://gitgate.d3.ru

Сотрудничество: @maxgrue
Обсуждение: @gittalk
Download Telegram
Jet Pilot - k8s IDE с открытым исходным кодом. Он был создан из-за разочарования, так как все «красивые» k8s IDE стали коммерческими.

Продвинутые пользователи в настоящее время прибегают к таким инструментам, как k9s, которые отлично работают, но в значительной степени полагаются на ввод клавиатуры. Jet Pilot пытается преодолеть эти проблемы использования.

Возможности:
- журналы в реальном времени: мгновенный доступ к журналам для активного мониторинга рабочих нагрузок Kubernetes.
- kubernetes: управление объектами: легко управлять объектами k8s, описывать объекты или редактировать их напрямую.
- pod shell: быстро запускайте шелл внутри ваших контейнеров
- интерфейс: удобный интерфейс с настраиваемыми ярлыками для эффективной навигации и работы.

https://github.com/unxsist/jet-pilot

Подсказал: Max Zotov - @sf1nk5

опубликовано в #gitgate

#k8s #ide
🔥8👍7
kubectl node-shell - простой скрипт обертка для запуска root shell на узлах кластера. (ранее известный как Kubectl Enter).

Удобно если прописать алиасом.

https://github.com/kvaps/kubectl-node-shell

Подсказал: Max Zotov - @sf1nk5

опубликовано в #gitgate

#k8s #shell #kubectl
👍9🔥6
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
👍12🔥7
headlamp - простой в использовании и расширяемое Web IDE интерфейс Kubernetes.

Headlamp был создан для сочетания традиционного набора функций других Web-UIs/Dashboards (то есть для перечисления и просмотра ресурсов) с добавленной функциональностью.

https://github.com/headlamp-k8s/headlamp

Подсказал: Михаил Исаев - @ismvru

опубликовано в #gitgate

#k8s #ide #web #gui
👍7🔥5
markmap - визуализация 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 #vscode
🔥18👍9
Kompose - инструмент, который поможет пользователям, которые знакомы с Docker-Compose переехать в Kubernetes. Kompose умеет из обычного docker-compose.yml вайда конвертировать в манифесты для Kubernetes.

Kompose - это удобный инструмент, чтобы мигрировать из локального docker в приложение Kubernetes. Конвертация в манифест может быть не точной, но это очень помогает при первом развертывании приложения в Kubernetes.

https://github.com/kubernetes/kompose

опубликовано в #gitgate

#docker #docker-compose #manifest #k83 #converter
🔥17👍6
beszel - легковесная платформа мониторинга серверов, которая включает в себя статистику Docker, исторические данные и функции оповещения.

Он имеет дружественный веб -интерфейс, простая конфигурация и готов к использованию из коробки. Он поддерживает автоматическое резервное копирование, многопользовательскую аутентификацию, аутентификацию OAuth и доступ API.

https://github.com/henrygd/beszel

опубликовано в #gitgate

#moni #docker #alert #webui #oauth #api
👍24🔥5
BunkerWeb - следующее поколение брандмауэра 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 #dnsbl
🔥15👍6
bunkerweb-plugins - репозиторий содержит «официальные» плагины для BunkerWeb

Каждый плагин расположен в подкаталоге этого репозитория. Файл Readme, расположенный в каждом подкаталоге, содержит документацию о плагине.

Список плагинов:

- ClamAV
- CrowdSec
- Coraza
- Discord
- Slack
- VirusTotal
- WebHook

https://github.com/bunkerity/bunkerweb-plugins

опубликовано в @gitgate

#nginx #bunkerweb #plugin
🔥8👍5
pg_activity - инструмент командной строки (CLI) для мониторинга активности сервера PostgreSQL похожий на htop

Кстати, включено пакетом в базовые репы многих дистрибутивов линукса.

Запуск:

sudo -u postgres pg_activity -U postgres


https://github.com/dalibo/pg_activity

опубликовано в @gitgate

#moni #postgres #pg #top #sql
🔥26👍11
Совет дня:

Как попасть на узел в закрытой сети через 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 #jumphost
👍33🔥10
Channel name was changed to «Useful Tools | Linux | GitOps | DevOps»
cgroup-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
👍11🔥6
Совет дня:

Ограничение памяти с помощью 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 #cgroups
👍27🔥12
Совет дня:

Как быстро и корректно системными средствами увеличить диск в виртуалке?

1. Добавить свободное место в блочное устройство в гипервизоре

2. Внутри VM перечитать размер диска

echo 1>/sys/class/block/sdb/device/rescan

3. Установить пакет cloud-guest-utils в составе которого находится нужная нам утилита growpart

apt-get install cloud-guest-utils

4. раздвинуть в таблице разделов необходимую партицию

growpart /dev/sda 1

5. Раздвинуть на увеличенную партицию файловую систему

resize2fs /dev/sda1

Примечание: в таблице разделов после увеличиваемой партиции должно быть свободное место. Возможно вам еще понадобятся утилиты lsblkk, gpart

В обсуждениях под постом можно предложить и свои способы, их немало.

опубликовано в @gitgate

#tips #disk
🔥21👍14
Совет дня:

Как избавиться от swap в виде партиции и перенести его его в файл

1. Отключите текущий swap и закоментируйте строку для swap в /etc/fstab

sudo swapoff -a

2. Подотовьте файл для будущего свапа необходимого размера

sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile

3. Подключите swapfile и проверьте его размер

sudo swapon /swapfile
free

4. Сделайте изменения доступными после загрузки, добавив строку в /etc/fstab

echo "/swapfile none swap sw 0 0" | sudo tee -a /etc/fstab


Есть и не очевидная выгода. В дальнейшем, если вам потребуется изменить размер swap, не придется двигать партиции, достаточно в пп..1 указать новый размер и пропустить пп.4

опубликовано в @gitgate

Как всегда обсуждение и советы в комментариях.

#tips #swap
👍30🔥14
Kanidm - простое и безопасное управление идентификацией

Постая и безопасная платформа управления идентификацией, позволяющая другим приложениям и услугам разгружать проблему аутентификации и хранения идентификаторов в KANIDM.

Цель этого проекта - быть полным поставщиком идентификаций, охватывающий самый широкий набор требований и интеграций. Вам не нужно никаких других компонентов (например, KeyCloak), когда вы используете Kanidm - у нас уже есть все, что вам нужно!

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

https://github.com/kanidm/kanidm

опубликовано в @gitgate

#security #keykloack #auth #rust
👍9🔥6
speedtest-exporter - простой экспортер Speedtest для Prometheus, написанный на Python, используя официальный CLI из Ookla

Метрики:
- скорость upload
- скорость download
- пинг
- джиттер

Отлично приживется в домашнем мониторинге или для небольшой компании / проекта

https://github.com/MiguelNdeCarvalho/speedtest-exporter

опубликовано в @gitgate

#moni #net #speedtest #exporter #prometheus
👍7🔥4
exporter_exporter - прокси лоя Prometheus exporter-рв

Он обеспечивает простой реверс прокси для экспортеров Prometheus. Предназначен как альтернатива Nginx/Apache для использования в средах, где открытие нескольких портов TCP на все серверы может быть нежелательным или невозможным в силу причин

Преимущества:

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

https://github.com/QubitProducts/exporter_exporter

опубликовано в @gitgate

#moni #exporter #prometheus
👍11🔥6
Lume - легковесная CLI утилита и локальный API сервер для создания, запуска и управления виртуальными машинами MacOS и Linux с почти нулевым оверкостом на виртуализацию на Apple Silicon, используя виртуализацию Apple.FrameWork

https://github.com/trycua/lume

опубликовано в @gitgate

#vm #cli #api #virtualisation
🔥10👍7