DevOps
8.32K subscribers
1.36K photos
718 videos
28 files
1.59K links
Docker, Kubernetes, облачные сервисы (AWS, GCP, Azure), Infrastructure as a Code (Terraform, CloudFormation), администрирование Windows и Linux, сети TCP, IP, скрипты (Bash, PowerShell), Ansible, Jenkins, DevSecOps, логирование. По вопросам @evgenycarter
Download Telegram
Winbox in docker

Запуск Mikrotik Winbox в контейнере Docker для упрощенного и портативного управления маршрутизатором

Используя KasmVNC, этот докер запускает Winbox с помощью Wine и делает его доступным в любом браузере.

Docker
docker run -d --shm-size=512m -p 6901:6901 -e VNC_PW=password -v winbox_wine:/home/kasm-user/.wine ghcr.io/obeone/winbox:latest


https://github.com/obeone/winbox-docker

#devops #девопс

Подпишись 👉@i_DevOps
👍5
GitButler

GitButler - это git-клиент, позволяющий работать с несколькими ветками одновременно. Он позволяет быстро организовать изменения файлов в отдельные ветки, сохраняя их в рабочей директории. Затем вы можете отправлять ветки по отдельности на ваше удалённое хранилище или напрямую создавать запросы на получение.

В двух словах, это более гибкая версия git add -p и git rebase -i, позволяющая эффективно работать в нескольких ветках.

https://github.com/gitbutlerapp/gitbutler

#devops #девопс

Подпишись 👉@i_DevOps
👍4
В Ansible роли есть директории file и templates. Что они содержат и чем отличаются?

files — содержит файлы, которые будут скопированы на настраиваемые хосты; так же — может содержать скрипты, которые позже будут запускаться на хостах.

templates — содержит шаблоны файлов с переменными.

#devops #девопс

Подпишись 👉@i_DevOps
👍5
Как работает докер🐳

#devops #девопс

Подпишись 👉@i_DevOps
👍51👎1
🚀 GitHub Actions + Terraform: автоматизация деплоя с ревью плана изменений

Terraform стал стандартом для управления инфраструктурой как кодом (IaC). Но просто запускать terraform apply в CI/CD — не лучший вариант. Важно видеть план изменений до деплоя, чтобы избежать неожиданных последствий.

В статье показано, как интегрировать Terraform с GitHub Actions так, чтобы каждый pull request автоматически запускал terraform plan. Результаты работы добавляются прямо в PR, где команда может просмотреть и обсудить изменения до их применения.

Таким образом:

- при открытии PR → генерируется план, прикрепляется к обсуждению;
- после ревью и мержа → автоматически выполняется terraform apply.

Это позволяет:
повысить прозрачность изменений в инфраструктуре
избежать ошибок при деплое
упростить командную работу с IaC

Отличный пример того, как CI/CD можно использовать не только для приложений, но и для инфраструктуры.

https://itnext.io/github-actions-terraform-deployments-with-a-review-of-planned-changes-30143358bb5c

#devops #девопс

Подпишись 👉@i_DevOps
👍5😱1
SSO через Keycloak для инфраструктурных сервисов: часть 1, теория

Если вы хоть раз настраивали доступ к Grafana, Argo CD, Vault или Prometheus и сталкивались с аутентификацией «на костылях», значит, тоже задавались вопросом: почему бы не сделать это один раз и правильно — через SSO?

Эта первая часть разбора мастер-класса с DevOpsConf 2025 от Алексея Цыкунова, CTO Hilbert Team.

https://habr.com/ru/companies/oleg-bunin/articles/936338/

#devops #девопс

Подпишись 👉@i_DevOps
👍114
SSO через Keycloak для инфраструктурных сервисов: часть 2, практика

В первой части мы разобрали, как устроен Keycloak, какие у него сущности и зачем вообще нужен SSO в DevOps-инфраструктуре. Теперь — к делу. Во второй части переходим от теории к практике. Разворачиваем Keycloak в Kubernetes, настраиваем Terraform-провайдер, подключаем к нему Grafana, Argo CD и другие сервисы. Разбираемся, как выглядят реальные конфигурации клиентов, scopes и mappings, чтобы SSO действительно работал — с нужными токенами, ролями и группами.

https://habr.com/ru/companies/oleg-bunin/articles/936866/

#devops #девопс

Подпишись 👉@i_DevOps
👍6
Что такое пейджинг по требованию?

Пейджинг по требованию — это метод управления памятью, при котором страницы загружаются в физическую память только при доступе к ним процесса. Он оптимизирует использование памяти, загружая страницы по требованию, что снижает задержку запуска и накладные расходы на пространство. Однако он вносит некоторую задержку при первом доступе к страницам. В целом, это экономически эффективный подход к управлению ресурсами памяти в операционных системах.

#devops #девопс

Подпишись 👉@i_DevOps
👍2
#devops #девопс

Подпишись 👉@i_DevOps
😁12👍1
Шпаргалка по командам GitHub

#devops #девопс

Подпишись 👉@i_DevOps
👍8🤡1
This media is not supported in your browser
VIEW IN TELEGRAM
ContainerSSH

SSH-сервер, который запускает контейнеры в Kubernetes и Docker

https://github.com/ContainerSSH/ContainerSSH

#devops #девопс

Подпишись 👉@i_DevOps
👍2
Основы компьютерной безопасности

Лекция 1. Основы криптографии
Практика 1. Криптография и её прикладные инструменты
Лекция 2. Основы сетей
Лекция 3. Основы веба
Практика 2. Основы веба
Лекция 4. Атаки на веб
Лекция 5. Безопасность беспроводных сетей Wi-Fi + воркшоп / Wireless security
Лекция 6. Прикладная криптография для самых маленьких. Менеджеры паролей, HTTPS, SSH

источник

#devops #девопс

Подпишись 👉@i_DevOps
👍3
Kubernetes Full Course In 10 Hours | Kubernetes Tutorial For Beginners

Это видео Edureka Kubernetes Full Course поможет вам понять и изучить основы Kubernetes. Этот курс по Kubernetes идеально подходит как для новичков, так и для профессионалов, которые хотят освоить основы Kubernetes.В этом видео рассматриваются следующие темы:

Introduction
Introduction to Containers
Need for Kubernetes
What is Kubernetes and What it's not
Kubernetes vs Docker Swarm
Use-Case: Kubernetes
Introduction to Namespaces
Types of Namespaces
Container Design Patterns
Introduction to Docker
Kubernetes Installation Steps
Kubernetes Architecture
Kubernetes Dashboard
Types of View in Kubernetes Dashboard
Kubernetes Cluster
Pods, Services & Ingress Networks
Case Study
Hands-On
Replication Controller & ReplicaSet
Deployment Controllers
Deployment Use-Cases
Kubernetes Multiple Schedulers
Set up a Multi-Master cluster using kubeadm
Network Failures
Cluster Troubleshooting

https://www.youtube.com/watch?v=y3WTwzx5ABk

#devops #Kubernetes

Подпишись 👉@i_DevOps
👍4
Buildg - Интерактивный отладчик для Dockerfile, с поддержкой IDE (VS Code, Emacs, Neovim и т.д.).

Source-level inspection
Breakpoints and step execution
Interactive shell on a step with your own debugigng tools
Based on BuildKit (with unmerged patches)
Supports rootless

https://github.com/ktock/buildg

#devops #девопс

Подпишись 👉@i_DevOps
2👍2
Работа с правами доступа файлов и директорий в Linux

# chown vasya /file
Назначить пользователя vasya владельцем файла file
# chown -R vasya directory
Рекурсивно обойти директорию directory и назначить пользователя vasya владельцем всех вложенных файлов и директорий
# chown vasya:group /file
Назначить владельца и группу для файла /file
# chmod ugo+rwx /directory
Установить полные права доступа rwx ( Read Write eXecute ) для всех ugo ( User Group Other ) на директорию /directory. То-же самое можно сделать, используя числовой представление chmod 777 directory
# chmod go-rwx /directory
Удалить все права на директорию /directory для группы и остальных
# chgrp new_group file
Изменить группу-владельца для file на new_group
# chmod o+t /home/public
Установить так называемый STIKY-бит на директорию /home/public. Удалить файл в такой директории может только владелец данного файла
# chmod o-t /home/public
Удалить STIKY-бит с директории /home/public
# chmod u+s /bin/binary_file
Установить SUID-бит на файл /bin/binary_file. Это позволяет любому пользователю системы, запускать данный файл с правами владельца файла
# chmod u-s /bin/binary_file
Удалить SUID-бит с файла /bin/binary_file
# chmod g+s /home/public
Установить SGID-бит на директории /home/public
# chmod g-s /home/public
Удалить SGID-бит с директории /home/public
# find / -perm -u+s
Поиск всех файлов с установленным SUID битом, начиная с корня файловой системы
# ls -lh
Листинг текущего каталога с правами доступа

#devops #девопс

Подпишись 👉@i_DevOps
3👍1
ArgoCD — мощный инструмент для GitOps-подхода, но его использование в мультикластерной среде накладывает дополнительные требования к безопасности.

🔑 Основные идеи из статьи:

- Распределённая архитектура: при работе с несколькими кластерами важно правильно выстраивать доверительные отношения между ними, чтобы избежать компрометации всей инфраструктуры.
- Аутентификация и авторизация: рекомендуется использовать внешние провайдеры идентификации (OIDC), что упрощает управление доступом и позволяет централизовать контроль.
- RBAC и политики безопасности: ограничение прав до минимально необходимых снижает риск злоупотреблений и атак через скомпрометированные учётные данные.
- Секреты и их хранение: лучше всего использовать внешние менеджеры секретов (например, HashiCorp Vault, AWS Secrets Manager), а не хранить их напрямую в кластере.
- Zero Trust подход: предполагается минимизация доверия даже внутри инфраструктуры — каждый запрос должен быть аутентифицирован и авторизован.

В итоге, защищённый мультикластерный ArgoCD — это комбинация централизованного управления доступом, минимальных прав, надёжного хранения секретов и постоянного мониторинга. Такой подход снижает поверхность атаки и повышает устойчивость CI/CD-процессов.

https://www.tremolo.io/post/securing-multi-cluster-argocd

#devops #девопс

Подпишись 👉@i_DevOps
👍3
📈Picosnitch - мониторинг сетевого трафика на каждый исполняемый файл с помощью BPF

Получение уведомлений при подключении к сети новой программы или при ее изменении

Контролирует пропускную способность сети, разбивая трафик по исполняемым файлам, хэшам, родителям, доменам, портам или пользователям с течением времени

При желании можно проверить хэши или исполняемые файлы с помощью VirusTotal

Хеши исполняемых файлов кэшируются на основе устройства + inode для повышения производительности и работают с приложениями, запущенными в контейнерах

Используется BPF для точного мониторинга пропускной способности с низкими накладными расходами и fanotify для контроля исполняемых файлов на предмет модификации

Поскольку приложения могут вызывать других пользователей для отправки/получения данных для них, родительский исполняемый файл и хэш также регистрируются для каждого соединения

Прагматичный и минималистичный дизайн, сфокусированный на точном обнаружении с четким сообщением об ошибке, когда это невозможно

https://github.com/elesiuta/picosnitch

https://elesiuta.github.io/picosnitch/

#devops #девопс

Подпишись 👉@i_DevOps
👍2
#devops #девопс

Подпишись 👉@i_DevOps
😁14😨2🤣1
Перестаньте переживать об allowPrivilegeEscalation

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

https://habr.com/ru/companies/flant/articles/923432/

original https://blog.christophetd.fr/stop-worrying-about-allowprivilegeescalation/

#devops #девопс

Подпишись 👉@i_DevOps
👍3
Armadа — это open-source система для управления заданиями (job scheduling) в Kubernetes кластерах. Она ориентирована на высокопроизводительные вычисления (HPC) и работу с большими кластерами.

🔹 Основные идеи:

- Очереди: задания распределяются через очереди с гибкими правилами приоритизации.
- Масштабируемость: поддержка тысяч узлов и миллионов заданий.
- Интеграция с Kubernetes: Armada выступает как надстройка над существующими кластерами.
- Справедливое распределение ресурсов: балансировка между пользователями и проектами.
- gRPC API: для отправки и управления заданиями.

Архитектура включает Armada server (центральный сервис с API и логикой очередей) и executor (компонент, работающий в Kubernetes-кластере и запускающий задания). Таким образом, можно подключать несколько кластеров к одному серверу Armada.

Использование Armada позволяет запускать распределённые вычисления, ML-задачи и batch-ворклоады в больших инфраструктурах, где стандартных возможностей Kubernetes недостаточно.

https://github.com/armadaproject/armada

#devops #девопс

Подпишись 👉@i_DevOps
👍3