Каким образом мы можем запустить в Kubernetes приложение (варианты: рабочую нагрузку, workload)?
Запускать PODы поодиночке можно, но обычно для этого используются более функциональные сущности в Kubernetes, такие как:
— Deployment, который используется для развертывания необходимого количества PODов на основе общего шаблона.
— StatefulSet, похожий на Deployment, но оптимизированный для работы с stateful-приложениями.
— DaemonSet, позволяющий развернуть один экземпляр приложения на каждом доступном узле и обычно используется для обслуживания узлов.
— Job, для запуска конечного процесса в контейнере и ожидания его успешного завершения с заданием политик запуска, таких как длительность и количество рестартов в случае сбоя.
— CronJob, аналогичный Job, но с возможностью запуска по расписанию и ведением логов успешных запусков.
ReplicationController считается устаревшим и практически не используется, на его место пришел Deployment.
#devops #девопс
Подпишись 👉@i_DevOps
Запускать PODы поодиночке можно, но обычно для этого используются более функциональные сущности в Kubernetes, такие как:
— Deployment, который используется для развертывания необходимого количества PODов на основе общего шаблона.
— StatefulSet, похожий на Deployment, но оптимизированный для работы с stateful-приложениями.
— DaemonSet, позволяющий развернуть один экземпляр приложения на каждом доступном узле и обычно используется для обслуживания узлов.
— Job, для запуска конечного процесса в контейнере и ожидания его успешного завершения с заданием политик запуска, таких как длительность и количество рестартов в случае сбоя.
— CronJob, аналогичный Job, но с возможностью запуска по расписанию и ведением логов успешных запусков.
ReplicationController считается устаревшим и практически не используется, на его место пришел Deployment.
#devops #девопс
Подпишись 👉@i_DevOps
👍7
JupyterHub на стероидах: реализация KubeFlow фич без масштабных интеграций
JupyterHub — централизованный инструмент для создания Jupyter ноутбуков для разных пользователей по заранее заданным параметрам, который используется более чем 200 специалистами у нас на проекте в Альфа-Банке.
Сейчас множество сервисов могут запускаться в Kubernetes, который уже стал стандартом. И JupyterHub не исключение. Есть много статей по его запуску, и в большинстве из них описано, как просто поднять данный сервис и запустить рабочий ноутбук на базе профилей. Каждый профиль представляет собой заранее настроенные параметры для Pod ноутбука.
Однако с ростом числа пользователей возникают различные проблемы, о которых мы поговорим в этой статье.
https://habr.com/ru/companies/kts/articles/832084/
#devops #девопс
Подпишись 👉@i_DevOps
JupyterHub — централизованный инструмент для создания Jupyter ноутбуков для разных пользователей по заранее заданным параметрам, который используется более чем 200 специалистами у нас на проекте в Альфа-Банке.
Сейчас множество сервисов могут запускаться в Kubernetes, который уже стал стандартом. И JupyterHub не исключение. Есть много статей по его запуску, и в большинстве из них описано, как просто поднять данный сервис и запустить рабочий ноутбук на базе профилей. Каждый профиль представляет собой заранее настроенные параметры для Pod ноутбука.
Однако с ростом числа пользователей возникают различные проблемы, о которых мы поговорим в этой статье.
https://habr.com/ru/companies/kts/articles/832084/
#devops #девопс
Подпишись 👉@i_DevOps
👍3
Kubernetes 1.31: новый VolumeSource, эмуляция старых версий и настройка анонимного доступа к эндпоинтам
Сегодня официально выпустили новую версию Kubernetes — 1.31. Среди главных нововведений — VolumeSource, поддерживающий OCI-образы и/или OCI-артефакты и поле SupplementalGroupsPolicy для контроля дополнительных групп, которые присоединяются к первому процессу в контейнере, а также флаг --emulation-version для эмулирования возможностей предыдущих версий Kubernetes и механизм, который позволяет пользователям настраивать, к каким эндпоинтам возможен анонимный доступ.
https://habr.com/ru/companies/flant/articles/835626/
#devops #девопс
Подпишись 👉@i_DevOps
Сегодня официально выпустили новую версию Kubernetes — 1.31. Среди главных нововведений — VolumeSource, поддерживающий OCI-образы и/или OCI-артефакты и поле SupplementalGroupsPolicy для контроля дополнительных групп, которые присоединяются к первому процессу в контейнере, а также флаг --emulation-version для эмулирования возможностей предыдущих версий Kubernetes и механизм, который позволяет пользователям настраивать, к каким эндпоинтам возможен анонимный доступ.
https://habr.com/ru/companies/flant/articles/835626/
#devops #девопс
Подпишись 👉@i_DevOps
👍2
Liqo
Включите динамические и бесшовные мультикластерные топологии Kubernetes.
Что это обеспечивает?
- Peering (Пиринговое взаимодействие): автоматическое установление одноранговых отношений потребления ресурсов и сервисов между независимыми и разнородными кластерами. Нет необходимости беспокоиться о сложных конфигурациях VPN и сертификационных центрах: все автоматически согласовывается для вас.
- Offloading (Разгрузка): бесшовная разгрузка рабочих нагрузок на удаленные кластеры без необходимости вносить какие-либо изменения в Kubernetes или сами приложения. Мультикластерность становится нативной и прозрачной: объедините весь удаленный кластер в виртуальный узел, совместимый со стандартными подходами и инструментами Kubernetes.
- Network fabric (Сетевая инфраструктура): прозрачное подключение pod-to-pod и pod-to-service в мультикластерной среде, независимо от базовых конфигураций и плагинов CNI. Нативный доступ к сервисам, экспортируемым удаленными кластерами, и распределение взаимосвязанных компонентов приложения по различным инфраструктурам, при этом весь трафик между кластерами проходит через защищенные сетевые туннели.
- Storage fabric (Инфраструктура хранения): поддержка удаленного выполнения состояния нагрузок в соответствии с подходом гравитации данных. Бесшовное расширение стандартных (например, баз данных) методов развертывания высокой доступности на мультикластерные сценарии для повышения надежности. Всё это без сложности управления несколькими независимыми кластерами и репликами приложений.
https://github.com/liqotech/liqo
#devops #девопс
Подпишись 👉@i_DevOps
Включите динамические и бесшовные мультикластерные топологии Kubernetes.
Что это обеспечивает?
- Peering (Пиринговое взаимодействие): автоматическое установление одноранговых отношений потребления ресурсов и сервисов между независимыми и разнородными кластерами. Нет необходимости беспокоиться о сложных конфигурациях VPN и сертификационных центрах: все автоматически согласовывается для вас.
- Offloading (Разгрузка): бесшовная разгрузка рабочих нагрузок на удаленные кластеры без необходимости вносить какие-либо изменения в Kubernetes или сами приложения. Мультикластерность становится нативной и прозрачной: объедините весь удаленный кластер в виртуальный узел, совместимый со стандартными подходами и инструментами Kubernetes.
- Network fabric (Сетевая инфраструктура): прозрачное подключение pod-to-pod и pod-to-service в мультикластерной среде, независимо от базовых конфигураций и плагинов CNI. Нативный доступ к сервисам, экспортируемым удаленными кластерами, и распределение взаимосвязанных компонентов приложения по различным инфраструктурам, при этом весь трафик между кластерами проходит через защищенные сетевые туннели.
- Storage fabric (Инфраструктура хранения): поддержка удаленного выполнения состояния нагрузок в соответствии с подходом гравитации данных. Бесшовное расширение стандартных (например, баз данных) методов развертывания высокой доступности на мультикластерные сценарии для повышения надежности. Всё это без сложности управления несколькими независимыми кластерами и репликами приложений.
https://github.com/liqotech/liqo
#devops #девопс
Подпишись 👉@i_DevOps
👍2
🐳 Команды Docker: от новичка до продвинутого уровня для инженеров DevOps
Это руководство охватывает основные команды Docker, от начального до продвинутого уровня, помогая инженерам DevOps эффективно управлять своими контейнеризированными приложениями.
https://dev.to/prodevopsguytech/docker-commands-from-beginner-to-advanced-for-devops-engineers-bb3
#devops #девопс
Подпишись 👉@i_DevOps
Это руководство охватывает основные команды Docker, от начального до продвинутого уровня, помогая инженерам DevOps эффективно управлять своими контейнеризированными приложениями.
https://dev.to/prodevopsguytech/docker-commands-from-beginner-to-advanced-for-devops-engineers-bb3
#devops #девопс
Подпишись 👉@i_DevOps
👍5
Наш опыт эксплуатации Airflow в Kubernetes
Apache Airflow — это один из самых популярных ETL-шедулеров. ETL-процессы — это когда мы выбираем интересующие нас данные, приводим их к агрегированному виду и сохраняем для дальнейшего использования. И это присутствует везде, где есть необходимость анализа данных. Соответственно, Airflow предназначен для того, чтобы запускать пайплайны обработки данных.
https://habr.com/ru/companies/vk/articles/836256/
#devops #девопс
Подпишись 👉@i_DevOps
Apache Airflow — это один из самых популярных ETL-шедулеров. ETL-процессы — это когда мы выбираем интересующие нас данные, приводим их к агрегированному виду и сохраняем для дальнейшего использования. И это присутствует везде, где есть необходимость анализа данных. Соответственно, Airflow предназначен для того, чтобы запускать пайплайны обработки данных.
https://habr.com/ru/companies/vk/articles/836256/
#devops #девопс
Подпишись 👉@i_DevOps
👍5❤2👎1
📌Что такое service mesh и для чего он нужен?
Service mesh - это шаблон, который обеспечивает более гибкое управление трафиком в Kubernetes. Service mesh включает в себя control plane, который собирает информацию о кластере Kubernetes, запущенных в нем приложениях, а также дополнительных объектах (custom resources), которые могут быть описаны для настройки, и sidecar-контейнеры, которые обычно инжектируются в PODы автоматически с помощью mutation webhook. Sidecar-контейнеры являются прокси-серверами, перехватывающими входящий и исходящий трафик приложений в контейнерах и управляющими ими в соответствии с конфигурацией, полученной из control plane.
📌Каким образом организована сеть в k8s?
В Kubernetes существуют три типа сетей:
1. Сеть узлов (node network) — это сеть, в которую объединены узлы кластера. В зависимости от используемого CNI-плагина, узлы могут работать либо в одной подсети, либо в нескольких.
2. Сеть POD-ов (pod network) — это сеть, в которой получают IP-адреса запускаемые POD-ы.
3. Сеть сервисов (service network) — это сеть, в которой получают адреса сервисы Kubernetes. Сети POD-ов и сервисов организуются с помощью CNI-плагинов.
📌Что такое bearer token?
Bearer token, также известный как токен учетной записи службы, представляет собой JWT-токен, который генерируется автоматически при создании новой учетной записи службы. Он содержит информацию о конкретной учетной записи службы и подписывается корневым сертификатом кластера. Этот токен сохраняется в объекте типа secret, который затем монтируется в POD по стандартному пути и периодически обновляется. При использовании данного токена процесс, запущенный в контейнере, получает доступ к API Kubernetes и может выполнять только разрешенные действия.
#devops #девопс
Подпишись 👉@i_DevOps
Service mesh - это шаблон, который обеспечивает более гибкое управление трафиком в Kubernetes. Service mesh включает в себя control plane, который собирает информацию о кластере Kubernetes, запущенных в нем приложениях, а также дополнительных объектах (custom resources), которые могут быть описаны для настройки, и sidecar-контейнеры, которые обычно инжектируются в PODы автоматически с помощью mutation webhook. Sidecar-контейнеры являются прокси-серверами, перехватывающими входящий и исходящий трафик приложений в контейнерах и управляющими ими в соответствии с конфигурацией, полученной из control plane.
📌Каким образом организована сеть в k8s?
В Kubernetes существуют три типа сетей:
1. Сеть узлов (node network) — это сеть, в которую объединены узлы кластера. В зависимости от используемого CNI-плагина, узлы могут работать либо в одной подсети, либо в нескольких.
2. Сеть POD-ов (pod network) — это сеть, в которой получают IP-адреса запускаемые POD-ы.
3. Сеть сервисов (service network) — это сеть, в которой получают адреса сервисы Kubernetes. Сети POD-ов и сервисов организуются с помощью CNI-плагинов.
📌Что такое bearer token?
Bearer token, также известный как токен учетной записи службы, представляет собой JWT-токен, который генерируется автоматически при создании новой учетной записи службы. Он содержит информацию о конкретной учетной записи службы и подписывается корневым сертификатом кластера. Этот токен сохраняется в объекте типа secret, который затем монтируется в POD по стандартному пути и периодически обновляется. При использовании данного токена процесс, запущенный в контейнере, получает доступ к API Kubernetes и может выполнять только разрешенные действия.
#devops #девопс
Подпишись 👉@i_DevOps
👍6
Flagd
Демон управления фичами, основанный на философии Unix.
https://github.com/open-feature/flagd
#devops #девопс
Подпишись 👉@i_DevOps
Демон управления фичами, основанный на философии Unix.
https://github.com/open-feature/flagd
#devops #девопс
Подпишись 👉@i_DevOps
👍2
Git, Gitflow и ветка release: как разместить общий код команды в прод
Привет, меня зовут Николай Пискунов — я ведущий разработчик в подразделении Big Data. И сегодня в блоге beeline cloud мы продолжим серию статей про Git и Gitflow — рассмотрим релизный цикл: то есть то, как общий код команды должен попасть в прод. Для этого в GitFlow существует процесс и ветка под названием release.
https://habr.com/ru/companies/beeline_cloud/articles/836922/
#devops #девопс
Подпишись 👉@i_DevOps
Привет, меня зовут Николай Пискунов — я ведущий разработчик в подразделении Big Data. И сегодня в блоге beeline cloud мы продолжим серию статей про Git и Gitflow — рассмотрим релизный цикл: то есть то, как общий код команды должен попасть в прод. Для этого в GitFlow существует процесс и ветка под названием release.
https://habr.com/ru/companies/beeline_cloud/articles/836922/
#devops #девопс
Подпишись 👉@i_DevOps
👍3
Плюсы и минусы профессии DevOps: мысли для слушателей ИТ-курсов и не только
На дворе конец лета и слушатели ИТ-курсов в раздумьях о выборе обучения на осень 2024 и профессии как таковой. А мы продолжим цикл статей о плюсах и минусах разных профессий в ИТ. Давайте поговорим о DevOps-инженере. Как говорят рекрутеры, на фоне переизбытка выпускников курсов по разработке на Python и Java, профессия DevOps-инженера смотрится одной из топов по востребованности и оплате. Однако, DevOps требует на только очень разнообразных знаний и навыков, но и специфических черт характера, чтобы не выгореть при первом же погружении в профессию.
P.S. Иллюстрация ИИ к статье — “я художник, так вижу DevOps и девушки их любят”.
https://habr.com/ru/companies/ssp-soft/articles/837746/
#devops #девопс
Подпишись 👉@i_DevOps
На дворе конец лета и слушатели ИТ-курсов в раздумьях о выборе обучения на осень 2024 и профессии как таковой. А мы продолжим цикл статей о плюсах и минусах разных профессий в ИТ. Давайте поговорим о DevOps-инженере. Как говорят рекрутеры, на фоне переизбытка выпускников курсов по разработке на Python и Java, профессия DevOps-инженера смотрится одной из топов по востребованности и оплате. Однако, DevOps требует на только очень разнообразных знаний и навыков, но и специфических черт характера, чтобы не выгореть при первом же погружении в профессию.
P.S. Иллюстрация ИИ к статье — “я художник, так вижу DevOps и девушки их любят”.
https://habr.com/ru/companies/ssp-soft/articles/837746/
#devops #девопс
Подпишись 👉@i_DevOps
😁3💩1
Что такое DevSecOps?
DevSecOps возник как естественная эволюция практик DevOps с акцентом на интеграцию безопасности в процессы разработки и развертывания программного обеспечения. Термин "DevSecOps" объединяет практики разработки (Dev), безопасности (Sec) и операций (Ops), подчеркивая важность безопасности на протяжении всего жизненного цикла разработки программного обеспечения.
Диаграмма выше показывает важные концепции в DevSecOps:
1. Автоматизированные проверки безопасности
2. Непрерывный мониторинг
3. Автоматизация CI/CD
4. Инфраструктура как код (IaC)
5. Безопасность контейнеров
6. Управление секретами
7. Моделирование угроз
8. Интеграция с обеспечением качества (QA)
9. Сотрудничество и коммуникация
10. Управление уязвимостями
#devops #девопс
Подпишись 👉@i_DevOps
DevSecOps возник как естественная эволюция практик DevOps с акцентом на интеграцию безопасности в процессы разработки и развертывания программного обеспечения. Термин "DevSecOps" объединяет практики разработки (Dev), безопасности (Sec) и операций (Ops), подчеркивая важность безопасности на протяжении всего жизненного цикла разработки программного обеспечения.
Диаграмма выше показывает важные концепции в DevSecOps:
1. Автоматизированные проверки безопасности
2. Непрерывный мониторинг
3. Автоматизация CI/CD
4. Инфраструктура как код (IaC)
5. Безопасность контейнеров
6. Управление секретами
7. Моделирование угроз
8. Интеграция с обеспечением качества (QA)
9. Сотрудничество и коммуникация
10. Управление уязвимостями
#devops #девопс
Подпишись 👉@i_DevOps
👍8
📌Каким образом мы можем разделять права в k8s?
Для управления правами в Kubernetes используется механизм RBAC (Role Based Access Control). В этой системе выделяются три группы объектов: пользователь (user) или учетная запись сервиса (service account), которая определяет субъект доступа; роль (role) или кластерная роль (clusterRole), определяющая разрешения; и привязка роли (roleBinding) или кластерной роли (clusterRoleBinding) к конкретному субъекту.
📌Что такое CSI-плагин?
Это концепция, которая обеспечивает единообразное использование сетевых файловых систем, построенных на различных технологических основах.
Мы определяем storageClass, который соответствует дискам определенного типа, и разворачиваем provisioner в кластере — специальное программное обеспечение, способное заказывать сетевые диски в системе, способной их предоставлять (например, NAS или СХД).
Затем мы создаем объект persistentVolumeClaim, указывая нужный storageClass.
При появлении запроса на persistentVolumeClaim, provisioner заказывает диск необходимого размера в системе, которая их предоставляет, создает объект persistentVolume и связывает его с persistentVolumeClaim. При запуске POD на узле, соответствующий диск монтируется на этот узел по определенному пути, который затем монтируется на файловую систему POD.
#devops #девопс
Подпишись 👉@i_DevOps
Для управления правами в Kubernetes используется механизм RBAC (Role Based Access Control). В этой системе выделяются три группы объектов: пользователь (user) или учетная запись сервиса (service account), которая определяет субъект доступа; роль (role) или кластерная роль (clusterRole), определяющая разрешения; и привязка роли (roleBinding) или кластерной роли (clusterRoleBinding) к конкретному субъекту.
📌Что такое CSI-плагин?
Это концепция, которая обеспечивает единообразное использование сетевых файловых систем, построенных на различных технологических основах.
Мы определяем storageClass, который соответствует дискам определенного типа, и разворачиваем provisioner в кластере — специальное программное обеспечение, способное заказывать сетевые диски в системе, способной их предоставлять (например, NAS или СХД).
Затем мы создаем объект persistentVolumeClaim, указывая нужный storageClass.
При появлении запроса на persistentVolumeClaim, provisioner заказывает диск необходимого размера в системе, которая их предоставляет, создает объект persistentVolume и связывает его с persistentVolumeClaim. При запуске POD на узле, соответствующий диск монтируется на этот узел по определенному пути, который затем монтируется на файловую систему POD.
#devops #девопс
Подпишись 👉@i_DevOps
👍3
Безопасность контейнерных сред: как отбить атаки киберпиратов
В современном мире практически ни одна разработка программного обеспечения не обходится без использования средств контейнеризации, что связано с удобством хранения артефактов и зависимостей. Киберпираты следуют трендам DevSecOps, чтобы повышать энтропию атак на контейнерные среды. Кроме того, растет количество APT группировок, что является сегодня довольно значимой проблемой. В данной статье мы подробно рассматриваем техники злоумышленников, а также рассказываем о существующих тактиках защиты для того, чтобы разработчики или DevOps-инженеры смогли применять их в своей повседневной работе.
https://habr.com/ru/companies/neoflex/articles/837946/
#devops #девопс
Подпишись 👉@i_DevOps
В современном мире практически ни одна разработка программного обеспечения не обходится без использования средств контейнеризации, что связано с удобством хранения артефактов и зависимостей. Киберпираты следуют трендам DevSecOps, чтобы повышать энтропию атак на контейнерные среды. Кроме того, растет количество APT группировок, что является сегодня довольно значимой проблемой. В данной статье мы подробно рассматриваем техники злоумышленников, а также рассказываем о существующих тактиках защиты для того, чтобы разработчики или DevOps-инженеры смогли применять их в своей повседневной работе.
https://habr.com/ru/companies/neoflex/articles/837946/
#devops #девопс
Подпишись 👉@i_DevOps
👍5
Это база: нюансы работы с Redis
Что такое Redis?
Redis — это база данных, которая размещается в памяти и хорошо подходит для следующих целей:
🔵 Кэширование данных: этот сценарий подходит когда есть ключ, по которому вы можете прочитать или записать кэш. Частый случай: использование Redis как кэша перед другой базой-крепышом, вроде MySQL.
🔵 Хранение сессий: этот сценарий подходит при росте проекта, когда мы получаем несколько инстансов приложения на разных машинах за балансировщиком и возникает потребность в хранении пользовательских сессий в хранилище, которое доступно для каждого сервера приложения.
🔵 Pub/Sub: помимо хранилища данных Redis можно использовать как брокер сообщений. В этом случае издатель может опубликовать сообщения в именованном канале для любого числа подписчиков. Когда клиент публикует сообщение в канале, Redis доставляет это сообщение всем клиентам, подписанным на этот канал, что обеспечивает обмен информацией между отдельными компонентами приложения в реальном времени. Однако, стоит помнить, что это сообщение опубликовывается по паттерну Fire & Forget — отправитель отправляет сообщение, не ожидая явного подтверждения от получателя о получении сообщения. То есть, отсутствует гарантия доставки и если часть подписчиков потеряет соединение, то после возвращения они не получат пропущенных сообщений. А если получателей не существует вовсе, то сообщение пропадает без возможности восстановления.
Мы не будем останавливаться на остальных возможных применениях Redis, а также на базовых моментах и перейдем к особенностям его работы, которые непосредственно влияют на конфигурирование и эффективность:
Часть 1 https://habr.com/ru/companies/nixys/articles/765694/
Часть 2 https://habr.com/ru/companies/nixys/articles/805463/
#devops #девопс
Подпишись 👉@i_DevOps
Что такое Redis?
Redis — это база данных, которая размещается в памяти и хорошо подходит для следующих целей:
Мы не будем останавливаться на остальных возможных применениях Redis, а также на базовых моментах и перейдем к особенностям его работы, которые непосредственно влияют на конфигурирование и эффективность:
Часть 1 https://habr.com/ru/companies/nixys/articles/765694/
Часть 2 https://habr.com/ru/companies/nixys/articles/805463/
#devops #девопс
Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
This media is not supported in your browser
VIEW IN TELEGRAM
Kubectx + Kubens: Power tools for kubectl
kubectx - инструмент для более быстрого переключения между контекстами (кластерами) на kubectl
kubens - инструмент, позволяющий легко переключаться между пространствами имен Kubernetes (и настраивать их для kubectl)
https://github.com/ahmetb/kubectx
Пример
Подпишись 👉@i_DevOps
kubectx - инструмент для более быстрого переключения между контекстами (кластерами) на kubectl
kubens - инструмент, позволяющий легко переключаться между пространствами имен Kubernetes (и настраивать их для kubectl)
https://github.com/ahmetb/kubectx
Пример
# switch to another cluster that's in kubeconfig
$ kubectx minikube
Switched to context "minikube".
# switch back to previous cluster
$ kubectx -
Switched to context "oregon".
# rename context
$ kubectx dublin=gke_ahmetb_europe-west1-b_dublin
Context "gke_ahmetb_europe-west1-b_dublin" renamed to "dublin".
# change the active namespace on kubectl
$ kubens kube-system
Context "test" set.
Active namespace is "kube-system".
# go back to the previous namespace
$ kubens -
Context "test" set.
Active namespace is "default".
#devops #девопсПодпишись 👉@i_DevOps
👍6
📌Какие типы volum’ов можно использовать в k8s?
Для подключения папки на ноде можно воспользоваться hostpath, однако необходимо учитывать, что POD должен быть привязан к конкретной ноде. В случае перемещения POD на другую ноду, он будет использовать ту же папку, но содержимое в ней может отсутствовать.
Другой вариант использования — local-storage, который также использует папку на диске, но привязан к конкретной ноде и автоматически привязывает POD к нужной ноде.
Также есть возможность использовать сетевые диски с помощью CSI-плагинов.
📌Можно ли запускать базы данных в k8s?
При определенных условиях, стоит учитывать, что контейнеры не оказывают значительного влияния на производительность приложений, однако сетевой компонент в k8s может вызывать определенные задержки, в зависимости от его реализации. В контейнерах сложнее проводить тонкую настройку приложений, так как изменение настроек ядра ОС и других низкоуровневых параметров для повышения производительности требует определенных навыков. Однако такая настройка не требуется часто.
Если мы сможем обеспечить необходимое дисковое пространство для хранения файлов баз данных и возможность переноса их между узлами, то в k8s можно успешно запускать stateful-приложения. Существуют также базы данных и очереди, оптимизированные для работы в k8s, что делает их готовыми к облачным средам. Для управления приложениями в k8s существуют операторы (Kubernetes operators), которые облегчают эксплуатацию stateful-приложений, например, postgresql stolon для управления кластерами postgresql и strimzi для управления kafka.
#devops #девопс
Подпишись 👉@i_DevOps
Для подключения папки на ноде можно воспользоваться hostpath, однако необходимо учитывать, что POD должен быть привязан к конкретной ноде. В случае перемещения POD на другую ноду, он будет использовать ту же папку, но содержимое в ней может отсутствовать.
Другой вариант использования — local-storage, который также использует папку на диске, но привязан к конкретной ноде и автоматически привязывает POD к нужной ноде.
Также есть возможность использовать сетевые диски с помощью CSI-плагинов.
📌Можно ли запускать базы данных в k8s?
При определенных условиях, стоит учитывать, что контейнеры не оказывают значительного влияния на производительность приложений, однако сетевой компонент в k8s может вызывать определенные задержки, в зависимости от его реализации. В контейнерах сложнее проводить тонкую настройку приложений, так как изменение настроек ядра ОС и других низкоуровневых параметров для повышения производительности требует определенных навыков. Однако такая настройка не требуется часто.
Если мы сможем обеспечить необходимое дисковое пространство для хранения файлов баз данных и возможность переноса их между узлами, то в k8s можно успешно запускать stateful-приложения. Существуют также базы данных и очереди, оптимизированные для работы в k8s, что делает их готовыми к облачным средам. Для управления приложениями в k8s существуют операторы (Kubernetes operators), которые облегчают эксплуатацию stateful-приложений, например, postgresql stolon для управления кластерами postgresql и strimzi для управления kafka.
#devops #девопс
Подпишись 👉@i_DevOps
👍9🔥1
DevSecOps гайд: от новичка до эксперта
DevOps подразумевает автоматизацию процессов сборки, настройки и развертывания ПО. Плюс — помогает наладить работу айтишников с другими подразделениями в компании: сократить time-to-market при запуске новых продуктов, снизить время разрешения инцидентов и упростить выпуск релизов.
Но у положительных качеств есть и обратная сторона — с ускорением цикла разработки возрастает риск увеличения воспроизводимых уязвимостей. Чтобы минимизировать его, компании обращаются к практике DevSecOps.
https://habr.com/ru/companies/cloud_mts/articles/723862/
#devops #девопс
Подпишись 👉@i_DevOps
DevOps подразумевает автоматизацию процессов сборки, настройки и развертывания ПО. Плюс — помогает наладить работу айтишников с другими подразделениями в компании: сократить time-to-market при запуске новых продуктов, снизить время разрешения инцидентов и упростить выпуск релизов.
Но у положительных качеств есть и обратная сторона — с ускорением цикла разработки возрастает риск увеличения воспроизводимых уязвимостей. Чтобы минимизировать его, компании обращаются к практике DevSecOps.
https://habr.com/ru/companies/cloud_mts/articles/723862/
#devops #девопс
Подпишись 👉@i_DevOps
👍3👏2
Полезные ресурсы для системных администраторов и специалистов по информационной безопасности:
🔐 infosec — редкая литература, курсы и уникальные мануалы для системных администраторов и ИБ специалистов любого уровня и направления. Читайте, развивайтесь, практикуйте.
🧠 Social Engineering — авторский Telegram канал, посвященный информационной безопасности, OSINT и социальной инженерии.
💬 Вакансии в ИБ — актуальные предложения от самых крупных работодателей и лидеров рынка в сфере информационной безопасности.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
📌Можно ли запускать базы данных в k8s?
При определенных условиях, стоит учитывать, что контейнеры не оказывают значительного влияния на производительность приложений, однако сетевой компонент в k8s может вызывать определенные задержки, в зависимости от его реализации. В контейнерах сложнее проводить тонкую настройку приложений, так как изменение настроек ядра ОС и других низкоуровневых параметров для повышения производительности требует определенных навыков. Однако такая настройка не требуется часто.
Если мы сможем обеспечить необходимое дисковое пространство для хранения файлов баз данных и возможность переноса их между узлами, то в k8s можно успешно запускать stateful-приложения. Существуют также базы данных и очереди, оптимизированные для работы в k8s, что делает их готовыми к облачным средам. Для управления приложениями в k8s существуют операторы (Kubernetes operators), которые облегчают эксплуатацию stateful-приложений, например, postgresql stolon для управления кластерами postgresql и strimzi для управления kafka.
📌Из каких компонентов состоит k8s и каково их назначение?
Kubernetes (K8s) включает в себя плоскость управления и плоскость данных.
Плоскость управления — это уровень управления, который работает на узлах, называемых главными узлами, и может работать в конфигурации с одним главным узлом или несколькими главными узлами.
Плоскость управления включает в себя:
— ETCD: хранилище конфигурации кластера
— Kubernetes API: предоставляет API для взаимодействия между компонентами K8s и клиентами внутри и вне кластера
— Kubernetes controller manager: реализует контроллеры, управляющие основными сущностями кластера, такими как контроллер узлов, контроллер задач и контроллер срезов конечных точек
— Kubernetes scheduler: выбирает узлы, на которых будут запускаться POD
— cloud controller manager: используется для реализации функций, специфичных для работы с облаком (если кластер K8s работает в облачной среде)
Плоскость данных состоит из компонентов, работающих на каждом узле:
— kubelet: отслеживает изменения конфигурации узла, применяет изменения конфигурации, выполняет проверки контейнера, сообщает о статусе контейнера, работает с плагином CRI и обеспечивает функции запуска и остановки контейнера
— kube-proxy: отвечает за сетевой компонент, работает с плагином CNI и обеспечивает работу сущности «сервис» на своем узле.
#devops #девопс
Подпишись 👉@i_DevOps
При определенных условиях, стоит учитывать, что контейнеры не оказывают значительного влияния на производительность приложений, однако сетевой компонент в k8s может вызывать определенные задержки, в зависимости от его реализации. В контейнерах сложнее проводить тонкую настройку приложений, так как изменение настроек ядра ОС и других низкоуровневых параметров для повышения производительности требует определенных навыков. Однако такая настройка не требуется часто.
Если мы сможем обеспечить необходимое дисковое пространство для хранения файлов баз данных и возможность переноса их между узлами, то в k8s можно успешно запускать stateful-приложения. Существуют также базы данных и очереди, оптимизированные для работы в k8s, что делает их готовыми к облачным средам. Для управления приложениями в k8s существуют операторы (Kubernetes operators), которые облегчают эксплуатацию stateful-приложений, например, postgresql stolon для управления кластерами postgresql и strimzi для управления kafka.
📌Из каких компонентов состоит k8s и каково их назначение?
Kubernetes (K8s) включает в себя плоскость управления и плоскость данных.
Плоскость управления — это уровень управления, который работает на узлах, называемых главными узлами, и может работать в конфигурации с одним главным узлом или несколькими главными узлами.
Плоскость управления включает в себя:
— ETCD: хранилище конфигурации кластера
— Kubernetes API: предоставляет API для взаимодействия между компонентами K8s и клиентами внутри и вне кластера
— Kubernetes controller manager: реализует контроллеры, управляющие основными сущностями кластера, такими как контроллер узлов, контроллер задач и контроллер срезов конечных точек
— Kubernetes scheduler: выбирает узлы, на которых будут запускаться POD
— cloud controller manager: используется для реализации функций, специфичных для работы с облаком (если кластер K8s работает в облачной среде)
Плоскость данных состоит из компонентов, работающих на каждом узле:
— kubelet: отслеживает изменения конфигурации узла, применяет изменения конфигурации, выполняет проверки контейнера, сообщает о статусе контейнера, работает с плагином CRI и обеспечивает функции запуска и остановки контейнера
— kube-proxy: отвечает за сетевой компонент, работает с плагином CNI и обеспечивает работу сущности «сервис» на своем узле.
#devops #девопс
Подпишись 👉@i_DevOps
👍7
Лучшие практики безопасности Terraform
Terraform — это фактически основной инструмент, если вы работаете с инфраструктурой как кодом (IaC). Независимо от поставщика ресурсов, он позволяет вашей организации работать со всеми ими одновременно. Неоспоримым аспектом является безопасность Terraform, поскольку любая ошибка в конфигурации может повлиять на всю инфраструктуру.
В этой статье мы хотим объяснить преимущества использования Terraform и дать рекомендации по безопасному использованию Terraform, ссылаясь на лучшие практики в области безопасности.
- Аудит конфигураций Terraform на наличие уязвимостей безопасности и внедрение средств контроля безопасности.
- Управление учетными данными доступа в безопасности Terraform.
- Лучшие практики безопасности при использовании модулей Terraform.
- Самостоятельное создание модулей Terraform.
Давайте начнем!
https://sysdig.com/blog/terraform-security-best-practices/
#devops #девопс
Подпишись 👉@i_DevOps
Terraform — это фактически основной инструмент, если вы работаете с инфраструктурой как кодом (IaC). Независимо от поставщика ресурсов, он позволяет вашей организации работать со всеми ими одновременно. Неоспоримым аспектом является безопасность Terraform, поскольку любая ошибка в конфигурации может повлиять на всю инфраструктуру.
В этой статье мы хотим объяснить преимущества использования Terraform и дать рекомендации по безопасному использованию Terraform, ссылаясь на лучшие практики в области безопасности.
- Аудит конфигураций Terraform на наличие уязвимостей безопасности и внедрение средств контроля безопасности.
- Управление учетными данными доступа в безопасности Terraform.
- Лучшие практики безопасности при использовании модулей Terraform.
- Самостоятельное создание модулей Terraform.
Давайте начнем!
https://sysdig.com/blog/terraform-security-best-practices/
#devops #девопс
Подпишись 👉@i_DevOps
👍3