DevOps
8.47K subscribers
1.46K photos
812 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
Ansible против bash-скрипта 😀

#devops #девопс

Подпишись 👉@i_DevOps
🔥21🤣16👏32💯1
Программа сообщает о том, что не может найти свой конфиг. Каким образом можно узнать, где она пытается его найти?

line-buffered опция которая выведет результат как только найдет

strace -f — отслеживание дочерних процессов

strace -f l ftp sitename | & grep --line-buffered open | grep /home/user

Либо в самой программе, если удастся найти параметры

/usr/sbin/mysqld --verbose --help | grep -A 1 «Default options»

#devops #девопс

Подпишись 👉@i_DevOps
👍52
Харденинг Docker: что это и зачем он нужен?

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

Опытный эксперт разберет, какие проблемы есть с Docker-контейнерами, почему они возникают и как от них защищаться.

Встречаемся 6 августа в 20:00 мск.

Всем участникам дадим скидку на большое обучение.

🔴 Регистрируйся прямо сейчас, чтобы посетить вебинар бесплатно: https://vk.cc/cz0wVw

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Продвинутые сетевые функции Kubernetes

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

Network Policies
Service Mesh
Ingress Controllers
Функции для масштабирования и оптимизации сети
Функции поддержки высокодоступных и отказоустойчивых архитектур
Механизмы оптимизации и балансировки нагрузки
Функции для диагностики сетевых проблем

https://habr.com/ru/companies/amvera/articles/833464/

#devops #девопс

Подпишись 👉@i_DevOps
👍5
Что такое MLSecOps, или Как безопасность искусственного интеллекта стала заботой DevSecOps

Пока все повально занимаются внедрением ML в SecOps, мы пошли дальше и стали внедрять SecOps в ML. Но обо всем по порядку. Я Светлана Газизова, работаю в Positive Technologies директором по построению процессов DevSecOps. Кстати, мы знакомы, если вы читали мою статью о том, кто такие специалисты по безопасной разработке и где на них учиться.

https://habr.com/ru/companies/pt/articles/832190/

#devops #девопс

Подпишись 👉@i_DevOps
👍5😁2
Media is too big
VIEW IN TELEGRAM
Работа с хранилищами в Kubernetes

Kubernetes «из коробки» — отличное средство для запуска и масштабирования stateless (т.е. без сохранения данных) приложений. Сложности начинаются для stateful (т.е. с сохранением данных) приложений, таких как базы данных, например MySQL, PostgreSQL и прочее. На мастер-классе на практических примерах вы разберете решение задач хранения данных для приложений, работающих в Kubernetes, начиная с простого продолжения PersistentVolume/PersistentVolumeClaim — rancher/local-path-provisioner и заканчивая сложными.

Вам будет интересно и полезно, если:
-инженер DevOps;
-системный администратор;
-технический специалист;
-Middle разработчик.

Вы узнаете:
- как развернуть сервис Keycloak с базой данных учетных записей и приложение, использующее его для OpenID аутентификации, в корпоративном On-Premises Kubernetes;
- как убедиться в отказоустойчивости полученного решения, как с точки зрения доступа пользователей, так и хранения данных.

источник

#devops #девопс

Подпишись 👉@i_DevOps
👍3
📌Что такое объекты Docker?

Под объектами понимают образы, сервисы и контейнеры.
Образы — шаблоны с инструкциями только для чтения для создания контейнеров.
Контейнеры — запущенные экземпляры образов.
Сервисы — можно запустить несколько контейнеров поверх нескольких сервисов Docker, работающих совместно как swarm.

Еще объектами можно назвать сети и тома.


📌Можно ли использовать JSON вместо YAML в файле для docker-compose, если да — как?

Да, так можно сделать. Для этого нужно явно указать имя файла, например так:
docker-compose -f docker-compose.json up

#devops #девопс

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

CLI для предотвращения выполнения вредоносных Terraform Providers. Вы можете определить список разрешенных Terraform Providers и их версий, а также проверить, не используются ли запрещенные провайдеры.

https://github.com/suzuki-shunsuke/tfprovidercheck

#devops #девопс

Подпишись 👉@i_DevOps
👍3
Назовите важные команды Docker

docker -version: узнать установленную версию Docker;
docker ps: перечислить все запущенные контейнеры вместе с дополнительной информацией о них;
docker ps -a: перечислить все контейнеры, включая остановленные, вместе с дополнительной информацией о них;
docker exec: войти в контейнер и выполнить в нем команду;
docker build: собрать образ из Dockerfile;
docker rm: удалить контейнер с указанным идентификатором;
docker rmi: удалить образ с указанным идентификатором;
docker info: получить расширенную информацию об установленном Docker, например, сколько запущено контейнеров, образов, версию ядра, доступную оперативную память и т.п.;
docker cp: сохранить файл из контейнера в локальную систему;
docker history: показать историю образа с указанным именем.

#devops #девопс

Подпишись 👉@i_DevOps
👍6
Шпаргалка по Docker для инженеров DevOps🐳

#devops #девопс

Подпишись 👉@i_DevOps
👍14
Расскажите о командах 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
👍84
The DevOps Journey: Navigating the Path to Seamless Software Delivery
Автор: Frahaan Hussain (2024)

Среди ключевых тем — настройка конвейера CI/CD, автоматизация тестирования и развертывания, использование облачных сервисов для масштабируемости и гибкости, а также внедрение механизмов мониторинга и обратной связи для постоянного повышения производительности и улучшения пользовательского опыта.

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

#devops #девопс

Подпишись 👉@i_DevOps
👍52
Шпаргалка по Kubernetes

#devops #девопс

Подпишись 👉@i_DevOps
👍4
Terraform-local

Оболочка Terraform CLI для развертывания ваших приложений Terraform непосредственно в LocalStack.

Как это работает
Скрипт использует механизм переопределения Terraform и создает временный файл `localstack_providers_override.tf` для настройки конечных точек в разделе провайдера AWS. Конечные точки всех сервисов настроены так, чтобы указывать на API LocalStack (по умолчанию `http://localhost:4566`).

https://github.com/localstack/terraform-local

#devops #девопс

Подпишись 👉@i_DevOps
👍1
Каким образом мы можем управлять вычислительными ресурсами в k8s?

Для эффективного управления ресурсами в кластере k8s используются resources requests / limits. Они могут быть настроены для CPU, памяти и, в последних версиях k8s, для GPU.

Requests используются для определения типичного потребления ресурсов нашим приложением. На основе этих данных Kubernetes scheduler выбирает ноды для запуска PODов (сумма всех request'ов контейнеров во всех PODах не должна превышать доступные ресурсы на ноде).

Limits служат как механизм предотвращения, ограничивая потребление ресурсов контейнером в PODе. При превышении лимита процессорного времени применяется thermal throttling, а при превышении лимита памяти — механизм OOM.

Модель, при которой requests меньше limits, называется burstable QoS, а когда requests равны limits — guaranteed QoS.

Кроме того, можно установить квоты ресурсов на namespace (CPU, память, количество запущенных PODов, размер диска persistent volume) и указать требования к resources requests на PODах в namespace с помощью limit ranges.

Для управления ресурсами приложений также можно использовать автоскейлеры. В k8s доступны HPA (horizontal pod autoscaler), который регулирует количество PODов в зависимости от потребления CPU и/или памяти, и VPA (vertical pod autoscaler), который управляет resources requests / limits.

Существуют также реализации автоскейлеров, которые могут использовать внешние метрики (например, длину очереди), такие как carpenter или KEDA. В облачном окружении можно использовать cluster autoscaler для добавления или удаления нод в зависимости от общей загрузки кластера.

#devops #девопс

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

Это платформа управления секретами с открытым исходным кодом: Синхронизируйте секреты в вашей команде/инфраструктуре и предотвратите утечку секретов.

Особенности
Удобная панель управления секретами в разных проектах и средах (например, разработка, продакшен и т. д.).
Клиентские SDK для получения секретов для ваших приложений и инфраструктуры по требованию.
Infisical CLI для получения и внедрения секретов в любой фреймворк в локальной разработке и CI/CD.
Infisical API для выполнения CRUD-операций над секретами, пользователями, проектами и любыми другими ресурсами в Infisical.
Встроенные интеграции с такими платформами, как GitHub, Vercel, AWS, и такими инструментами, как Terraform, Ansible и др.
Оператор Infisical Kubernetes для управления секретами в k8s, автоматической перезагрузки развертываний и т. д.
Infisical Agent для внедрения секретов в ваши приложения без изменения логики кода.
Самостоятельный хостинг и размещение на локальной площадке для полного контроля над вашими данными.
Версионирование секретов и Point-in-Time Recovery для версионирования каждого секрета и состояния проекта.
Журналы аудита для записи каждого действия, выполняемого в проекте.
Контроль доступа на основе ролей позволяет создавать наборы разрешений для любого ресурса в Infisica и назначать их пользователям или машинам.
Простое развертывание на месте, в AWS, Digital Ocean и т. д.
Сканирование секретов и предотвращение утечек для предотвращения утечки секретов в git.

https://github.com/Infisical/infisical

#devops #девопс

Подпишись 👉@i_DevOps
Стать DevOps-инженером в 2023 году: [Практическая дорожная карта]

В этом подробном руководстве я расскажу о практической дорожной карте становления DevOps-инженера, основанной на моем 10-летнем опыте работы в качестве DevOps-инженера в различных организациях.

На современном ИТ-рынке сфера DevOps является одним из лучших вариантов для повышения заработной платы и карьерного роста ИТ-специалистов. Один из часто задаваемых мне вопросов: "Как стать инженером DevOps?".

Многие утверждают (в том числе и я), что нет ничего похожего на "DevOps-инженера" или "DevOps-команду", потому что этого понятия не существует. Однако все в отрасли уже привыкли к термину "инженер DevOps", и если вы понимаете философию DevOps, то эти названия не имеют большого значения.

Ближе к концу статьи я добавил различные команды, в которые может входить инженер DevOps.


https://devopscube.com/become-devops-engineer#devops-engineer-roadmap

#devops #девопс

Подпишись 👉 @i_DevOps
👍82
💪 Рекомендую качественный контент знакомого ИТ-сообщества с 14-летним стажем:

⌨️ ITKB_channel — бесплатное обучение по Windows, Linux, DevOps, Security, Network, программирование

📚 ITKB_Archive — библиотека (книги, курсы, ИТ литература)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Media is too big
VIEW IN TELEGRAM
Что такое GitOps. Улучшенный DevOps?

00:00 Что такое GitOps
00:18 Нетология - DevOps инженер
01:20 Кратко о DevOps
02:00 IoC инфраструктура как код
03:45 Важность системы контроля версий
05:28 Где кончается DevOps
06:57 Код приложения и инфраструктуры вместе
07:55 Автоматизация
09:20 Важность обозреваемости системы
09:49 Зачем GitOps?

источник

#devops #девопс

Подпишись 👉@i_DevOps
👍2
База данных на Kubernetes

Введение в развертывание базы данных на Kubernetes

С ростом внедрения DevOps все больше приложений контейнеризируется, а инструменты для управления этими контейнерами, такие как Kubernetes, становятся все более популярными. Этот рост миграции приложений на Kubernetes (K8s) также отражается на приложениях с поддержкой состояния (например, системах баз данных).

Для начала давайте разберемся в основах:

Для развертывания любого приложения на K8s наиболее предпочтительным является декларативный способ, при котором мы объявляем желаемое состояние приложения (например, образ, который должен использоваться для запуска подов, масштабирование подов для управления нагрузкой и т.д.) в YAML-файле, который известен как файл развертывания.

https://chetak.hashnode.dev/database-on-kubernetes

#devops #девопс

Подпишись 👉@i_DevOps
👍4
Продвинутая работа с логами в Linux

journalctl - Работа со структурированными логами

Журнал событий, это компонент systemd, который захватывает сообщения Syslog, логи ядра, все события при инициализации системы (RAM, диск, boot, STDOUT/STDERR для всех сервисов), индексирует их и затем предоставляет удобной пользовательский интерфейс для поиска и фильтрации логов. Журнал (systemd journal) можно использовать вместе или вместо syslog или syslog-ng.

Утилита командной строки journalctl, если сравнивать ее с традиционным инструментами для работы с логами в UNIX (tail, grep, sed, awk) более широкие возможности.

Давайте рассмотрим основные возможности которые предоставляет журнал systemd и способы их применения.

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

#devops #девопс

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