DevOps Star (Звезда Девопса)
2.15K subscribers
240 photos
196 videos
19 files
294 links
Devops, Linux, SRE, Kubernetes, Сисадмин, Девопс, Python, JS, Java, Git, IT канал, программирование, безопасность, ИТ, Sysadmin

По всем вопросам @evgenycarter
Download Telegram
🔥 Открытый урок «Принцип DRY в GitLab CI: как избавиться от дублирования и навести порядок в пайплайнах».

🗓 18 декабря в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «CI/CD на основе GitLab».

На вебинаре разберем:
✔️Что такое DRY в контексте CI/CD и зачем его применять.
✔️Организация пайплайнов: как структурировать .gitlab-ci.yml, чтобы не утонуть в дублировании.
✔️Include и extends — мощные механизмы переиспользования кода.
✔️ Как создать единые шаблоны пайплайнов для нескольких проектов.
✔️Антипаттерны: что ломает читаемость и поддерживаемость CI-конфигураций.

После вебинара вы сможете:
- Навести порядок в .gitlab-ci.yml и убрать дублирование шагов.
- Создавать гибкие, масштабируемые пайплайны для разных проектов.
- Стандартизировать CI/CD-процессы в команде без потери гибкости.

🔗 Ссылка на регистрацию: https://vk.cc/cSsoef

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
📌Что такое userspace, kernelspace? Чем они отличаются?

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

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

Все пользовательские приложения (и контейнеризированные, и нет) при работе используют различные данные, но где эти данные хранятся?

Ядро обеспечивает абстракцию для безопасности, оборудования и внутренних структур данных. Например, системный вызов open() используется для получения дескриптора файла в Python, C, Ruby и других языках программирования. Вряд ли бы вы хотели, чтобы ваша программа работала с XFS на уровне битов, поэтому ядро предоставляет системные вызовы и работает с драйверами. Фактически этот системный вызов настолько распространен, что является частью библиотеки POSIX .

Краткое определение:

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

И чтобы работать, приложения взаимодействуют через интерфейс, которое называется системным вызовом.


📌В чем разница между docker stop и docker pause?

В том, что они посылают разные сигналы.
docker pause — SIGSTOP(19), что приостанавливает процессы в контейнере.
docker stop — sigterm и sigkill использует к главному процессу контейнера.

📌В чем разница между SQL и NoSQL?

Основное отличие состоит в том, что базы данных SQL структурированы (данные хранятся в виде таблиц со строками и столбцами — как таблица электронной таблицы Excel), тогда как базы данных NoSQL неструктурированы, и хранение данных может варьироваться в зависимости от того, как настроена база данных NoSQL. Например, пары ключ-значение, документо-ориентированная и т. д.


👉 @devops_star
👍1
📌Что такое диспетчер контроллеров Kubernetes?

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


📌Что такое VLAN?

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

📌Знаете ли вы, что такое мониторинг ресурсов контейнера?

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


📌Что такое автоматизация? Чем это связано или отличается от оркестровки?

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

👉 @devops_star
👍1
Автоматическая генерация CI/CD пайплайна для развёртывания инфраструктуры

Подход «Инфраструктура как код» означает, что инфраструктура создаётся, развёртывается и управляется при помощи кода. Это позволяет автоматизировать процессы, делать их более гибкими и масштабируемыми. Код для инфраструктуры фиксирует конфигурацию, обеспечивает воспроизводимость и упрощает управление настройками. Также благодаря этому подходу возрастает эффективность работы команды, поскольку он позволяет вести совместное развитие инфраструктуры и обеспечивает удобство отслеживания изменений.

Именно этот подход мы используем при нашей работе. Однако в процессе его использования мы столкнулись с проблемой написания пайплайнов для инфраструктуры.

Мы были вынуждены сделать процесс выкатки инфраструктуры максимально точечным из-за использования terragrunt. Каждый его модуль должен выкатываться отдельно, иначе будут получены десятки планов, и понять, что делает каждый из них, будет невозможно. Это означает, что каждому модулю terragrunt нужна отдельная джоба в пайплайне на plan и apply, но для каждого модуля они во многом повторяют друг друга. Подобное постоянное написание одинаковых частей CI/CD пайплайна при добавлении новых баз и бакетов навевало тоску.

Меня зовут Татьяна Мигулаева, я DevOps-инженер в «Магните». Поделюсь тем, как мы создали генератор джоб в GitLab CI/CD и навсегда забыли о ручном написании пайплайнов для развёртывания элементов инфраструктуры.

https://habr.com/ru/companies/magnit/articles/776214/

👉 @devops_star
👍1
Введение в Istio для Kubernetes: основы и начальная настройка

Работая DevOps‑инженером в Т1 Иннотех, я часто сталкиваюсь с необходимостью глубоко погружаться в механизмы работы контейнерных оркестраторов. Важность хорошего знания архитектуры и оптимизации управления контейнерами трудно переоценить, особенно когда речь идёт о Kubernetes. Эта технология стала неотъемлемой частью моего инструментария благодаря её возможностям в автоматизации развёртывания, масштабирования и управления контейнерными приложениями.

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

https://habr.com/ru/companies/T1Holding/articles/837896/

👉 @devops_star
👍1
📌Какие типы сетевых драйверов используются в docker?
Основные драйвера сетей docker: bridge, host, overlay, ipvlan, macvlan, none.

📌Что вы можете найти в разделе «Discover» Kibana?
Необработанные данные в том виде, в каком они хранятся в индексе. Вы можете искать и фильтровать их.

📌Как данные хранятся в Elasticsearch?
Данные хранятся в индексе, он распределяется по кластеру с помощью шардов.

📌Что такое плагины Logstash? Какие типы плагинов существуют?
Плагины ввода — как собирать данные из разных источников;
Плагины фильтров — обработка данных;
Плагины вывода — передача данных на различные выходы/сервисы/платформы.

👉 @devops_star
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
ContainerSSH

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

https://github.com/ContainerSSH/ContainerSSH

👉 @devops_star
👍1
Media is too big
VIEW IN TELEGRAM
Что такое CI/CD? // Зачем и как работает

Что такое CI/CD: простое объяснение для новичков про Continuous Integration, Continuous Delivery/Deployment. Они же - непрерывная интеграция и непрерывная доставка или развертывание. Что там за магия происходит под капотом, зачем это вообще придумали и какие цели преследуются?

Расскажу про то, какие есть процессы внутри, как и где это запускается без привязки к конкретным инструментам вроде Gitlab и Jenkins. Про артефакты, Nexus, тест-гейты, агенты и раннеры.

источник

👉 @devops_star
👍2
Код для облака: Освоение DevOps с помощью Python, Terraform и Kubernetes на AWS

Как инженер DevOps, я обычно связан с конвейерами, автоматизацией и облачными сервисами. Однако мне всегда было интересно узнать о другой стороне технологического мира - разработке приложений. Поэтому я подумал, почему бы не разнообразить мир? Так я пришел к созданию финансового приложения на Python, дополненного REST API.

В этом блоге я рассказываю о разработке и развертывании моего финансового приложения с нуля, от кода начального приложения до его развертывания на AWS с помощью Docker, Kubernetes (EKS), Terraform и Ansible. И знаете что? Я автоматизировал весь процесс - каждый его кусочек!

https://towardsaws.com/coding-to-cloud-mastering-devops-with-python-terraform-and-kubernetes-on-aws-6251a910511f

👉 @devops_star
👍1
Media is too big
VIEW IN TELEGRAM
Современный GitOps - противостояние манифестов

Вначале мы деплоили код на физические серверы через FTP и SSH. Потом научились использовать контейнеры, но окружение для управления ими все равно приходилось разворачивать админам. Сейчас на фронтире DevOps мы учимся разворачивать не только код, но и всю инфраструктуру с помощью yaml файлов.

В докладе я расскажу про современный подход GitOps, который объединяет развертывание как инфраструктуры, так и приложений. Расскажу про существующие решения, и как мы в Evrone их используем.

И да, мы разворачиваем Kubernets с помощью Kubernetes :)

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

источник

👉 @devops_star
👍21
Фильтры Ansible: превращаем сложное в простое

Используя Ansible в качестве инструмента автоматизации, часто приходится сталкиваться с задачей обработки и фильтрации структурированных данных. Как правило, это набор фактов, полученных с управляемых серверов, или ответ на запрос к внешним API, которые возвращают данные в виде стандартного json. Многие неопытные инженеры, используя Ansible в таких случаях, начинают прибегать к помощи привычных консольных команд и начинают городить то, что среди специалистов получило название bashsible. В общем, вспоминается известный мем:

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

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

👉 @devops_star
👍1
Media is too big
VIEW IN TELEGRAM
Как анализировать двоичные файлы в Linux: Введение в Binsider

😼🕵️‍♂️ Binsider может выполнять статический и динамический анализ, проверять строки, исследовать связанные библиотеки и выполнять hexdumps, и все это в удобном интерфейсе терминала!

https://github.com/orhun/binsider

https://binsider.dev/installation/binary-releases/

👉 @devops_star
👍1