Инструментарий инженера DevOps🧰🎒
Операционная система → Linux (recommended), Windows
Программирование → Go, Python, Groovy, Bash
Container orchestration → Kubernetes, Docker Swarm
Containers → Docker, Podman, Containerd
Source Code Management → Git, Subversion
Cloud → AWS, GCP, Azure, CivoCloud
CI/CD → Jenkins, CircleCI, Bamboo
Хостинг IT-проектов → GitHub, BitBucket, GitLab
IaC (Infrastructure as Code) and IP (Infrastructure Provisioning) → Ansible, Puppet, Chef, Terraform, Pulumi, Stack, Crossplane
Непрерывная обратная связь → GetFeedback, Jira, Slack, Pendo
Обсервация (мониторинг, протоколирование и анализ поведения системы) → Nagios, Grafana , Prometheus, New Relic, ELK Stack Datadog
Планирование → Jira Software, Confluence, Slack
Автоматизированное тестирование → xray, snyk, JUnit, Selenium, Appium
Вы можете выбрать любой из этих инструментов для каждого этапа/категории. Ваш выбор может быть основан на вашем проекте или организации, а может быть полностью личным.
👉 @devops_star
Операционная система → Linux (recommended), Windows
Программирование → Go, Python, Groovy, Bash
Container orchestration → Kubernetes, Docker Swarm
Containers → Docker, Podman, Containerd
Source Code Management → Git, Subversion
Cloud → AWS, GCP, Azure, CivoCloud
CI/CD → Jenkins, CircleCI, Bamboo
Хостинг IT-проектов → GitHub, BitBucket, GitLab
IaC (Infrastructure as Code) and IP (Infrastructure Provisioning) → Ansible, Puppet, Chef, Terraform, Pulumi, Stack, Crossplane
Непрерывная обратная связь → GetFeedback, Jira, Slack, Pendo
Обсервация (мониторинг, протоколирование и анализ поведения системы) → Nagios, Grafana , Prometheus, New Relic, ELK Stack Datadog
Планирование → Jira Software, Confluence, Slack
Автоматизированное тестирование → xray, snyk, JUnit, Selenium, Appium
Вы можете выбрать любой из этих инструментов для каждого этапа/категории. Ваш выбор может быть основан на вашем проекте или организации, а может быть полностью личным.
👉 @devops_star
👍4
Kube-Proxy: Что это такое и как это работает
Сетевое взаимодействие - важнейшая часть Kubernetes. Понимание того, как работают различные сетевые компоненты, поможет вам правильно спроектировать и настроить их для вашего приложения.
За сетью Kubernetes скрывается компонент, который работает под капотом. Он преобразует ваши службы в удобные сетевые правила. Этот компонент называется Kube-Proxy.
В этой статье мы покажем, как работает Kube-Proxy. Мы объясним, как происходит процесс создания служб. И покажем несколько примеров правил, которые создает Kube-Proxy.
https://medium.com/@amroessameldin/kube-proxy-what-is-it-and-how-it-works-6def85d9bc8f
👉 @devops_star
Сетевое взаимодействие - важнейшая часть Kubernetes. Понимание того, как работают различные сетевые компоненты, поможет вам правильно спроектировать и настроить их для вашего приложения.
За сетью Kubernetes скрывается компонент, который работает под капотом. Он преобразует ваши службы в удобные сетевые правила. Этот компонент называется Kube-Proxy.
В этой статье мы покажем, как работает Kube-Proxy. Мы объясним, как происходит процесс создания служб. И покажем несколько примеров правил, которые создает Kube-Proxy.
https://medium.com/@amroessameldin/kube-proxy-what-is-it-and-how-it-works-6def85d9bc8f
👉 @devops_star
👍1
Prometheus и его хранилище: Архитектура, проблемы и решения
Эта серия из двух статей посвящена мониторингу. В первой части рассказывается о накоплении множества различных показателей в одном месте, обработке разрешений для различных аспектов этих показателей и хранении больших объемов данных. Во второй части мы сосредоточимся на выборе систем мониторинга, основываясь на кратком примере «путешествия» вымышленной компании в борьбе с постоянным расширением системы мониторинга и ростом инфраструктуры.
https://blog.palark.com/prometheus-architecture-tsdb/
👉 @devops_star
Эта серия из двух статей посвящена мониторингу. В первой части рассказывается о накоплении множества различных показателей в одном месте, обработке разрешений для различных аспектов этих показателей и хранении больших объемов данных. Во второй части мы сосредоточимся на выборе систем мониторинга, основываясь на кратком примере «путешествия» вымышленной компании в борьбе с постоянным расширением системы мониторинга и ростом инфраструктуры.
https://blog.palark.com/prometheus-architecture-tsdb/
👉 @devops_star
❤3👍1
Работа с хранилищами в Kubernetes: руководство для инженеров
Как DevOps-инженер я часто сталкиваюсь с необходимостью глубокого понимания тонких аспектов Kubernetes. Одним из таких ключевых элементов является управление хранилищем данных. Хотя этот элемент иногда остаётся в тени других задач, его важность для успешного развёртывания и поддержки приложений велика.
Накопленный мною опыт в этой области стал основой для этой статьи.
Я сфокусируюсь на трёх ключевых элементах управления хранилищем в Kubernetes:
PersistentVolumes (PV).
PersistentVolumeClaims (PVC).
Storage Classes.
https://habr.com/ru/companies/T1Holding/articles/781368/
👉 @devops_star
Как DevOps-инженер я часто сталкиваюсь с необходимостью глубокого понимания тонких аспектов Kubernetes. Одним из таких ключевых элементов является управление хранилищем данных. Хотя этот элемент иногда остаётся в тени других задач, его важность для успешного развёртывания и поддержки приложений велика.
Накопленный мною опыт в этой области стал основой для этой статьи.
Я сфокусируюсь на трёх ключевых элементах управления хранилищем в Kubernetes:
PersistentVolumes (PV).
PersistentVolumeClaims (PVC).
Storage Classes.
https://habr.com/ru/companies/T1Holding/articles/781368/
👉 @devops_star
👍1
Как хранить переменные в terraform?
👉 @devops_star
main.tf
— основной конфигурационный файл, описывающий, какие инстансы необходимо создать. variables.tf
— конфигурация с описанием переменных и значениями по умолчанию. Если значения по умолчанию не задано, то они являются обязательными. terraform.tfvars
— конфигурация со значениями переменных. Часто является секретным файлом, поэтому нужно с осторожностью пушить в публичные репозитарии. outputs.tf
— описание выходных переменных. Необязательный файл, но очень удобно выделять нужные параметры из созданного инстанса, например IP созданного в облаке инстанса.👉 @devops_star
❤2👍1
Использование Open ID Connect (OIDC) в Terraform для безопасного мультиаккаунтного CI/CD в AWS
В этом посте мы рассмотрим, как можно повысить уровень безопасности, используя Open ID Connect (OIDC) в качестве механизма аутентификации в CI/CD конвейерах для развертывания инфраструктуры на базе Terraform в Amazon Web Services (AWS).
https://hedrange.com/2023/10/07/adopt-open-id-connect-oidc-in-terraform-for-secure-multi-account-ci-cd-to-aws
👉 @devops_star
В этом посте мы рассмотрим, как можно повысить уровень безопасности, используя Open ID Connect (OIDC) в качестве механизма аутентификации в CI/CD конвейерах для развертывания инфраструктуры на базе Terraform в Amazon Web Services (AWS).
https://hedrange.com/2023/10/07/adopt-open-id-connect-oidc-in-terraform-for-secure-multi-account-ci-cd-to-aws
👉 @devops_star
👍1
Что такое экспортер? Для чего он используется?
Экспортер служит мостом между сторонней системой или приложением и Prometheus, позволяя Prometheus отслеживать и собирать данные из этой системы или приложения. Экспортер действует как сервер, прослушивая определенный сетевой порт на предмет запросов от Prometheus для сбора метрик. Он собирает метрики из сторонней системы или приложения и преобразует их в формат, понятный Prometheus. Затем экспортер предоставляет эти метрики Prometheus через конечную точку HTTP, делая их доступными для сбора и анализа.
Экспортеры обычно используются для мониторинга различных типов компонентов инфраструктуры, таких как базы данных, веб-серверы и системы хранения данных. Например, существуют экспортеры для мониторинга популярных баз данных, таких как MySQL и PostgreSQL, а также веб-серверов, таких как Apache и Nginx. В целом экспортеры являются критически важным компонентом экосистемы Prometheus, позволяя отслеживать широкий спектр систем и приложений и обеспечивая высокую степень гибкости и расширяемости платформы.
👉 @devops_star
Экспортер служит мостом между сторонней системой или приложением и Prometheus, позволяя Prometheus отслеживать и собирать данные из этой системы или приложения. Экспортер действует как сервер, прослушивая определенный сетевой порт на предмет запросов от Prometheus для сбора метрик. Он собирает метрики из сторонней системы или приложения и преобразует их в формат, понятный Prometheus. Затем экспортер предоставляет эти метрики Prometheus через конечную точку HTTP, делая их доступными для сбора и анализа.
Экспортеры обычно используются для мониторинга различных типов компонентов инфраструктуры, таких как базы данных, веб-серверы и системы хранения данных. Например, существуют экспортеры для мониторинга популярных баз данных, таких как MySQL и PostgreSQL, а также веб-серверов, таких как Apache и Nginx. В целом экспортеры являются критически важным компонентом экосистемы Prometheus, позволяя отслеживать широкий спектр систем и приложений и обеспечивая высокую степень гибкости и расширяемости платформы.
👉 @devops_star
👍2
Главные по контейнеризации в России приглашают на второй митап Deckhouse User Community.
21 августа | Москва
Приходите, если работаете с Kubernetes или планируете начать. Разберём три практических кейса:
→ как DKP управляет узлами кластера — от создания до вывода из кластера;
→ как построить платформу обучения на Community Edition быстрее ванильного Kubernetes;
→ как автоматизировать контроль архитектуры с помощью фитнес-функций.
Будет полезно инженерам эксплуатации, платформенным разработчикам и всем, кто хочет прокачать навыки работы с современными подходами в DevOps.
Только офлайн. Пицца и нетворкинг в программе. Регистрируйтесь!
21 августа | Москва
Приходите, если работаете с Kubernetes или планируете начать. Разберём три практических кейса:
→ как DKP управляет узлами кластера — от создания до вывода из кластера;
→ как построить платформу обучения на Community Edition быстрее ванильного Kubernetes;
→ как автоматизировать контроль архитектуры с помощью фитнес-функций.
Будет полезно инженерам эксплуатации, платформенным разработчикам и всем, кто хочет прокачать навыки работы с современными подходами в DevOps.
Только офлайн. Пицца и нетворкинг в программе. Регистрируйтесь!
❤🔥1👍1🔥1🤣1
Какой код сигнала будет выполнен при исполнении команды kill <PID>?
Сигнал SIGTERM (код 15) — это сигнал по-умолчанию отправляемый при вызове команды kill. Это указывает процессу на завершение работы и обычно считается сигналом для использования при чистом завершении работы.
👉 @devops_star
Сигнал SIGTERM (код 15) — это сигнал по-умолчанию отправляемый при вызове команды kill. Это указывает процессу на завершение работы и обычно считается сигналом для использования при чистом завершении работы.
👉 @devops_star
👍3
Что такое LA? В каких единицах измеряется?
LA (load average) — параметр, определяющий среднюю нагрузку на систему за период времени (1 мин, 5 минут, 15 минут). Изменяется в количестве задач на одно ядро процессора. На нагрузку системы также влияет количество задач ввода-вывода и задержка сети. Также влияние на расчета LA оказывает: 1. Технология Hyper-Threading, которая делит одно физическое ядро на 2 логических, 2. Технология Turbo Bust, которая позволяет разгонять тактовую частоту процессора и работать на частоте выше заявленной, т.е. выше номинальной частоты (время на обработку одной задачи уменьшается).
👉 @devops_star
LA (load average) — параметр, определяющий среднюю нагрузку на систему за период времени (1 мин, 5 минут, 15 минут). Изменяется в количестве задач на одно ядро процессора. На нагрузку системы также влияет количество задач ввода-вывода и задержка сети. Также влияние на расчета LA оказывает: 1. Технология Hyper-Threading, которая делит одно физическое ядро на 2 логических, 2. Технология Turbo Bust, которая позволяет разгонять тактовую частоту процессора и работать на частоте выше заявленной, т.е. выше номинальной частоты (время на обработку одной задачи уменьшается).
👉 @devops_star
👍2
Terrareg
Реестр модулей Terraform с открытым исходным кодом, пользовательским интерфейсом, дополнительной интеграцией с Git и глубоким анализом
Предоставляет функции для упрощения использования и поиска модулей, включая:
- Полностью реализованный API модулей Terraform
- Полностью управляемый через API для автоматизации всех функций
- Хранение модулей Terraform локально или из внешнего Git-источника
- Аналитика использования модулей
- Вся информация о модуле — README, входные и выходные параметры, требования к провайдерам и управляемые ресурсы
- Уведомления о безопасности для каждого модуля, подмодуля и примеров
- Оценка стоимости для каждого примера модуля
- Исходный код примеров модулей прямо в интерфейсе с автоматической перепиской аргументов
- Интерактивный «Конструктор использования» для помощи в создании Terraform-кода, использующего модули
- Хуки для приложений Git SCM для автоматической индексации модулей
- Аутентификация через SSO (OpenID Connect/SAML2) и GitHub
- Поддержка провайдеров Terraform (на очень ранней альфа-версии)
https://github.com/MatthewJohn/terrareg
👉 @devops_star
Реестр модулей Terraform с открытым исходным кодом, пользовательским интерфейсом, дополнительной интеграцией с Git и глубоким анализом
Предоставляет функции для упрощения использования и поиска модулей, включая:
- Полностью реализованный API модулей Terraform
- Полностью управляемый через API для автоматизации всех функций
- Хранение модулей Terraform локально или из внешнего Git-источника
- Аналитика использования модулей
- Вся информация о модуле — README, входные и выходные параметры, требования к провайдерам и управляемые ресурсы
- Уведомления о безопасности для каждого модуля, подмодуля и примеров
- Оценка стоимости для каждого примера модуля
- Исходный код примеров модулей прямо в интерфейсе с автоматической перепиской аргументов
source
- Интерактивный «Конструктор использования» для помощи в создании Terraform-кода, использующего модули
- Хуки для приложений Git SCM для автоматической индексации модулей
- Аутентификация через SSO (OpenID Connect/SAML2) и GitHub
- Поддержка провайдеров Terraform (на очень ранней альфа-версии)
https://github.com/MatthewJohn/terrareg
👉 @devops_star
🔥2👍1
Если на каждой ноде Kubernetes кластера нужно запустить контейнер, то какой ресурс Kubernetes вам подойдет?
DaemonSet является контроллером, основным назначением которого является запуск подов на всех нодах кластера. Если нода добавляется/удаляется — DaemonSet автоматически добавит/удалит под на этой ноде.
DaemonSet подходят для запуска приложений, которые должны работать на всех нодах, например — екпортёры мониторинга, сбор логов и так далее.
👉 @devops_star
DaemonSet является контроллером, основным назначением которого является запуск подов на всех нодах кластера. Если нода добавляется/удаляется — DaemonSet автоматически добавит/удалит под на этой ноде.
DaemonSet подходят для запуска приложений, которые должны работать на всех нодах, например — екпортёры мониторинга, сбор логов и так далее.
👉 @devops_star
👍3