DevOps – Telegram
DevOps
8.46K subscribers
1.47K photos
809 videos
28 files
1.74K links
Docker, Kubernetes, облачные сервисы (AWS, GCP, Azure), Infrastructure as a Code (Terraform, CloudFormation), администрирование Windows и Linux, сети TCP, IP, скрипты (Bash, PowerShell), Ansible, Jenkins, DevSecOps, логирование. По вопросам @evgenycarter
Download Telegram
Разрабы «Штурвала» говорят: «Ванильный Кубер больше не нужен!» Верим?

На YouTube вышла долгожданная прожарка community-версии контейнерной платформы «Штурвал». В эфире — live-demo, острые вопросы и экспертное заключение, на что годится платформа.

Если еще не видели стрим — самое время наверстать. Ну и чтобы самим убедиться, что к чему, получить Штурвал CE можно по ссылке.

#реклама
О рекламодателе
👍62🔥2
🚀Awesome-limits

Репозиторий содержит полезную подборку ресурсов, связанных с различными ограничениями в вычислениях: лимиты файловых дескрипторов, памяти, процессов, сети и других аспектов операционных систем и облачных сервисов.

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

Некоторые полезные материалы из репозитория:
- Ограничения в Linux (например, ulimit, sysctl).
- Лимиты облачных сервисов (AWS, Google Cloud, Azure).
- Ограничения баз данных (PostgreSQL, MySQL).
- Сетевые лимиты (максимальное количество подключений, ограничение портов).

https://github.com/lorin/awesome-limits

#devops #девопс

Подпишись 👉@i_DevOps
👍4
📌45 лучших практик Terraform

Terraform — мощный инструмент для управления инфраструктурой как кодом (IaC). Однако, как и любой инструмент, его правильное использование требует соблюдения определенных лучших практик. Вот список из 45 рекомендаций, которые помогут вам писать более надежный, безопасный и управляемый код Terraform.

📌 1-10: Организация кода
1. Используйте модули – повторно используемые модули делают код более структурированным.
2. Разделяйте код на логические части – держите код читаемым.
3. Используйте удобные имена ресурсов – облегчает понимание.
4. Придерживайтесь единообразных стилей кодирования – например, форматирование через terraform fmt.
5. Организуйте переменные – отделяйте variables.tf, outputs.tf и main.tf.
6. Используйте terraform.tfvars для переопределения значений.
7. Избегайте жестко закодированных значений – используйте переменные.
8. Применяйте версии Terraform и провайдеров – required_version и required_providers.
9. Группируйте зависимости – держите их в versions.tf.
10. Следите за файлами состояния (terraform.tfstate) – не коммитьте их в репозиторий.

🔐 11-20: Безопасность
11. Храните состояние в удаленном бэкенде – например, AWS S3 с блокировкой через DynamoDB.
12. Используйте шифрование для чувствительных данных.
13. Минимизируйте использование admin -доступов – используйте least privilege.
14. Не храните секреты в коде – используйте HashiCorp Vault, AWS Secrets Manager.
15. Ограничьте доступ к terraform apply – только для CI/CD.
16. Не используйте terraform state для хранения конфиденциальных данных.
17. Используйте .gitignore для terraform.tfstate.
18. Ограничьте изменения в инфраструктуре без terraform plan.
19. Разграничивайте окружения (dev, staging, prod).
20. Всегда проверяйте код на уязвимости – например, с помощью tfsec.

⚙️ 21-30: Управление состоянием
21. Используйте terraform state list для аудита ресурсов.
22. Не редактируйте terraform.tfstate вручную.
23. Создавайте резервные копии состояния.
24. Используйте terraform state mv для реорганизации ресурсов.
25. Очищайте terraform state от удаленных ресурсов (terraform state rm).
26. Всегда обновляйте локальное состояние перед изменениями.
27. Используйте terraform import для существующих ресурсов.
28. Избегайте гонок состояний при совместной работе.
29. Используйте lock-механизмы для работы в команде.
30. Автоматизируйте управление состоянием через CI/CD.

🚀 31-40: Оптимизация
31. Минимизируйте количество зависимостей между ресурсами.
32. Используйте terraform plan перед terraform apply.
33. Оптимизируйте порядок создания ресурсов – сначала базы данных, потом приложения.
34. Следите за обновлениями Terraform и провайдеров.
35. Используйте terraform validate перед коммитом.
36. Настройте terraform fmt как pre-commit hook.
37. Используйте теги и метаданные для организации ресурсов.
38. Применяйте terraform destroy только в безопасной среде.
39. Логируйте изменения инфраструктуры.
40. Используйте count и for_each для динамического создания ресурсов.

🔄 41-45: CI/CD и автоматизация
41. Внедряйте Terraform в CI/CD процессы.
42. Автоматизируйте тестирование инфраструктуры с terratest.
43. Используйте terraform output для передачи данных в другие системы.
44. Интегрируйте Terraform с Ansible для более детальной настройки серверов.
45. Делайте регулярные ревизии кода Terraform.

https://dev.to/prakhyatkarri/terraform-45-best-practices-62l

#devops #девопс

Подпишись 👉@i_DevOps
👍4
Почему Nix и NixOS становятся популярнее? Золото в мире конфигурационного менеджмента

Бросьте в меня тапком те, кто не сталкивался с ситуацией из разряда «А локально оно нормально работает» или «На проде ошибка, но на стейдже такого не было». Эти фразы стали мемами, но от этого не перестали быть болью для разработчиков и админов. И вот здесь на сцену выходит Nix — инструмент, который обещает революционизировать конфигурационный менеджмент. Полная воспроизводимость окружений, устранение дрейфа конфигураций и предсказуемость на всех этапах — звучит хорошо, не так ли? Давайте разберемся, почему Nix и NixOS набирают популярность в DevOps.

https://habr.com/ru/companies/selectel/articles/877438/

#devops #девопс

Подпишись 👉@i_DevOps
❤‍🔥4🔥21👍1
Ansible На Русском Языке

1 - Автоконфигурирование для DevOps - Полный Курс на Простом Языке
2 - Установка на Ubuntu и CentOS
3 - Установка на Amazon Linux через PIP
4 - Подключение к серверам LINUX
5 - Подключение к серверам WINDOWS
6 - Правила создания файла Inventory
7 - Запуск Ad-Hoc Комманд
8 - Правила Формата YAML
9 - Перенос переменных в group_vars
10 - Первые Playbook

#devops #Ansible #девопс

Подпишись 👉@i_DevOps
👍9🔥2
Самостоятельное управление Kubernetes

Вы когда-нибудь хотели запустить свою собственную IaaS? Возможно, вы хотите размещать свои проекты в Kubernetes, но не платить за управляемый сервис. Или, может быть, ваш проект — это самостоятельное управление Kubernetes! Для меня это были оба случая, поэтому я решил разобраться, как запустить собственный кластер на виртуальных частных серверах.

Изначально я думал, что установка Kubernetes будет самой сложной частью, но оказалось, что благодаря таким проектам, как k0s, всё довольно просто. Вместо этого мне пришлось разбираться с Cloud-Init, QEMU, виртуальными сетевыми интерфейсами Linux и HAProxy.

Перед тем как мы перейдём к настройке кластера, предупреждение: не делайте этого для системы, приносящей доход! Развернуть Kubernetes — одно дело, но поддерживать кластер в рабочем состоянии и обновлять его со временем — значительно сложнее. Мой совет тем, кто рассматривает Kubernetes для продакшена: либо будьте готовы стать экспертом в Kubernetes, либо наймите специалиста, либо заплатите за управляемый сервис. Используйте Docker Compose, пока ваша нагрузка помещается на одном сервере (а в большинстве случаев так и будет!).

https://nateb.xyz/a/self-managed-kubernetes

#devops #девопс

Подпишись 👉@i_DevOps
👍2
Как мы устанавливали community-чарт Sentry в Kubernetes

В статье делимся опытом внедрения community-чарта Sentry в Kubernetes-кластере. Мы рассказываем о том, почему было принято решение использовать именно этот чарт и какие сложности возникли в процессе установки. Вы узнаете об изменениях, которые пришлось внести для повышения отказоустойчивости и производительности Sentry. А ещё мы делимся опытом использования инструмента werf для деплоя чартов и хранения секретных значений.

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

#devops #девопс

Подпишись 👉@i_DevOps
👍3
Pingora — это фреймворк для прокси-серверов и серверов, разработанный Cloudflare. Он создан для высокой производительности, безопасности и масштабируемости, заменяя традиционные решения вроде Nginx и Envoy в инфраструктуре Cloudflare.

Особенности Pingora:
Написан на Rust — повышенная безопасность и отсутствие проблем с утечками памяти.
Поддержка асинхронных операций для высокой пропускной способности.
Гибкость в настройке и расширяемость.
Эффективное управление соединениями и сниженное потребление ресурсов.

https://github.com/cloudflare/pingora

#devops #девопс

Подпишись 👉@i_DevOps
👍2
Расскажите о командах systemd для управления Docker

Для запуска Docker многие дистрибутивы Linux используют systemd. Для запуска сервисов используется команда systemctl. Если ее нет, следует использовать команду service.

$ sudo systemctl start docker
$ sudo service docker start


Чтобы добавить сервис в автозагрузку, либо убрать его:

$ sudo systemctl enable docker
$ sudo systemctl disable docker


Для проверки параметров запуска сервиса и их изменения:

$ sudo systemctl edit docker

Просмотра связанных с сервисом журналов:

$ journalctl -u docker

#devops #девопс

Подпишись 👉@i_DevOps
👍6👎1😁1
Как вообще этот ваш CI CD настроить

Я простой разработчик, что пытается разобраться с процессами и не претендую на истину и уж тем более не учу кого-то как правильно. Данную статью хочу написать для себя в прошлом, человека - что совсем не разбирается и пытается найти хоть какую-то информацию в рамках требований, хочется рассказать о своем опыте и к чему мы пришли. Ну и все шутки про лучшие скрипты и подходы - это все шутки, в комментариях уже 1000 Best Practices из 10 написали, так что жду и вас там.

https://habr.com/ru/articles/798551/

#devops #девопс

Подпишись 👉@i_DevOps
👍6
Контейнеризация

От Docker до Kubernetes: историческая ретроспектива
Введение в Docker
Введение в Kubernetes. Часть 1. Установка кластера
Введение в Kubernetes. Часть 2. Поды и сервисы
Введение в Kubernetes. Часть 3. Горизонтальное маштабирование.
Введение в Kubernetes. Часть 4. Отказоустойчивость для клиентов
Введение в Kubernetes. Часть 5. Интеграция с NFS
Что такое операторы в Kubernetes?

источник

#devops #девопс

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