Стать DevOps-инженером в 2025 году: [Практическая дорожная карта]
В этом подробном руководстве я расскажу о практической дорожной карте становления DevOps-инженера, основанной на моем 10-летнем опыте работы в качестве DevOps-инженера в различных организациях.
На современном ИТ-рынке сфера DevOps является одним из лучших вариантов для повышения заработной платы и карьерного роста ИТ-специалистов. Один из часто задаваемых мне вопросов: "Как стать инженером DevOps?".
Многие утверждают (в том числе и я), что нет ничего похожего на "DevOps-инженера" или "DevOps-команду", потому что этого понятия не существует. Однако все в отрасли уже привыкли к термину "инженер DevOps", и если вы понимаете философию DevOps, то эти названия не имеют большого значения.
Ближе к концу статьи я добавил различные команды, в которые может входить инженер DevOps.
https://devopscube.com/become-devops-engineer#devops-engineer-roadmap
👉 @devops_star
В этом подробном руководстве я расскажу о практической дорожной карте становления DevOps-инженера, основанной на моем 10-летнем опыте работы в качестве DevOps-инженера в различных организациях.
На современном ИТ-рынке сфера DevOps является одним из лучших вариантов для повышения заработной платы и карьерного роста ИТ-специалистов. Один из часто задаваемых мне вопросов: "Как стать инженером DevOps?".
Многие утверждают (в том числе и я), что нет ничего похожего на "DevOps-инженера" или "DevOps-команду", потому что этого понятия не существует. Однако все в отрасли уже привыкли к термину "инженер DevOps", и если вы понимаете философию DevOps, то эти названия не имеют большого значения.
Ближе к концу статьи я добавил различные команды, в которые может входить инженер DevOps.
https://devopscube.com/become-devops-engineer#devops-engineer-roadmap
👉 @devops_star
👍2
🚀 Хотите ускорить разработку и автоматизировать рутинные процессы?
🦾 CI/CD — это то, что превращает долгие релизы в один клик. А GitLab — инструмент, который позволит выстроить этот процесс без лишней боли.
💡 На курсе «CI/CD на основе GitLab» вы научитесь развертывать GitLab и GitLab Runner, настраивать пайплайны любой сложности, интегрировать Ansible, Docker и Kubernetes, а также внедрять лучшие практики безопасности. Всё это на актуальной версии и в формате живых лекций с практикой.
🎯 Вы будете понимать, как построить эффективный workflow, настроить автоматическую доставку кода, тестирование и деплой. После курса вы сможете уверенно работать с CI/CD в реальных проектах и говорить на одном языке с DevOps-инженерами.
➡️ Пройдите вступительное тестирование и присоединяйтесь к группе: https://vk.cc/cRpmPg
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
🦾 CI/CD — это то, что превращает долгие релизы в один клик. А GitLab — инструмент, который позволит выстроить этот процесс без лишней боли.
🎯 Вы будете понимать, как построить эффективный workflow, настроить автоматическую доставку кода, тестирование и деплой. После курса вы сможете уверенно работать с CI/CD в реальных проектах и говорить на одном языке с DevOps-инженерами.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
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_star
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_star
👍2
Выиграйте грант на курс по Apache Kafka
Скидки до 100% на новый поток «Apache Kafka База» от Слёрма.
Научитесь строить отказоустойчивый кластер без тонны документации и разберётесь, как Kafka работает изнутри, чтобы предотвращать инциденты и держать систему стабильной под нагрузкой.
При выполнении условий гранта вы сможете получить 1 из 3 вариантов:
⭐️ скидка 100% (1 место);
⭐️ скидка 50% (2 места);
⭐️ скидка 30% (2 места).
Что сделать, чтобы принять участие:
1️⃣ Быть подписанным на канал Слёрма
2️⃣ Заполнить заявку
Срок выполнения условий — до 20 ноября включительно. У вас будет всего одна попытка!
Каждый этап будет оцениваться командой Слёрма. Будьте честны и открыты!
Итоги опубликуем в канале 21 ноября в 19:00 мск.
Скидки до 100% на новый поток «Apache Kafka База» от Слёрма.
Научитесь строить отказоустойчивый кластер без тонны документации и разберётесь, как Kafka работает изнутри, чтобы предотвращать инциденты и держать систему стабильной под нагрузкой.
При выполнении условий гранта вы сможете получить 1 из 3 вариантов:
⭐️ скидка 100% (1 место);
⭐️ скидка 50% (2 места);
⭐️ скидка 30% (2 места).
Что сделать, чтобы принять участие:
1️⃣ Быть подписанным на канал Слёрма
2️⃣ Заполнить заявку
Срок выполнения условий — до 20 ноября включительно. У вас будет всего одна попытка!
Каждый этап будет оцениваться командой Слёрма. Будьте честны и открыты!
Итоги опубликуем в канале 21 ноября в 19:00 мск.
База данных на Kubernetes
Введение в развертывание базы данных на Kubernetes
С ростом внедрения DevOps все больше приложений контейнеризируется, а инструменты для управления этими контейнерами, такие как Kubernetes, становятся все более популярными. Этот рост миграции приложений на Kubernetes (K8s) также отражается на приложениях с поддержкой состояния (например, системах баз данных).
Для начала давайте разберемся в основах:
Для развертывания любого приложения на K8s наиболее предпочтительным является декларативный способ, при котором мы объявляем желаемое состояние приложения (например, образ, который должен использоваться для запуска подов, масштабирование подов для управления нагрузкой и т.д.) в YAML-файле, который известен как файл развертывания.
https://chetak.hashnode.dev/database-on-kubernetes
👉 @devops_star
Введение в развертывание базы данных на Kubernetes
С ростом внедрения DevOps все больше приложений контейнеризируется, а инструменты для управления этими контейнерами, такие как Kubernetes, становятся все более популярными. Этот рост миграции приложений на Kubernetes (K8s) также отражается на приложениях с поддержкой состояния (например, системах баз данных).
Для начала давайте разберемся в основах:
Для развертывания любого приложения на K8s наиболее предпочтительным является декларативный способ, при котором мы объявляем желаемое состояние приложения (например, образ, который должен использоваться для запуска подов, масштабирование подов для управления нагрузкой и т.д.) в YAML-файле, который известен как файл развертывания.
https://chetak.hashnode.dev/database-on-kubernetes
👉 @devops_star
👍1
Каким образом мы можем запустить в Kubernetes приложение (варианты: рабочую нагрузку, workload)?
Запускать PODы поодиночке можно, но обычно для этого используются более функциональные сущности в Kubernetes, такие как:
— Deployment, который используется для развертывания необходимого количества PODов на основе общего шаблона.
— StatefulSet, похожий на Deployment, но оптимизированный для работы с stateful-приложениями.
— DaemonSet, позволяющий развернуть один экземпляр приложения на каждом доступном узле и обычно используется для обслуживания узлов.
— Job, для запуска конечного процесса в контейнере и ожидания его успешного завершения с заданием политик запуска, таких как длительность и количество рестартов в случае сбоя.
— CronJob, аналогичный Job, но с возможностью запуска по расписанию и ведением логов успешных запусков.
ReplicationController считается устаревшим и практически не используется, на его место пришел Deployment.
👉 @devops_star
Запускать PODы поодиночке можно, но обычно для этого используются более функциональные сущности в Kubernetes, такие как:
— Deployment, который используется для развертывания необходимого количества PODов на основе общего шаблона.
— StatefulSet, похожий на Deployment, но оптимизированный для работы с stateful-приложениями.
— DaemonSet, позволяющий развернуть один экземпляр приложения на каждом доступном узле и обычно используется для обслуживания узлов.
— Job, для запуска конечного процесса в контейнере и ожидания его успешного завершения с заданием политик запуска, таких как длительность и количество рестартов в случае сбоя.
— CronJob, аналогичный Job, но с возможностью запуска по расписанию и ведением логов успешных запусков.
ReplicationController считается устаревшим и практически не используется, на его место пришел Deployment.
👉 @devops_star
👍2
🎥 Вебинар по Linux: Введение в Docker: контейнеры, изоляция и первые шаги.
На вебинаре вы узнаете:
- Чем контейнеризация отличается от виртуализации и почему Docker стал стандартом.
- Как устроены контейнер, образ и Docker Engine.
- Как запустить и управлять контейнерами с помощью базовых команд docker run, ps, exec, stop).
- Как использовать Docker Hub и скачивать готовые образы.
В результате вебинара вы:
- Разберётесь в ключевых понятиях Docker.
- Научитесь запускать и управлять контейнерами.
- Сможете использовать готовые образы для своих тестовых окружений.
- Поймёте, куда двигаться дальше в изучении контейнерных технологий.
🎁 Все участники вебинара получат специальные условия на полное обучение курса "Administrator Linux. Professional"
👉 Для участия зарегистрируйтесь: https://vk.cc/cRv3fs
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
На вебинаре вы узнаете:
- Чем контейнеризация отличается от виртуализации и почему Docker стал стандартом.
- Как устроены контейнер, образ и Docker Engine.
- Как запустить и управлять контейнерами с помощью базовых команд docker run, ps, exec, stop).
- Как использовать Docker Hub и скачивать готовые образы.
В результате вебинара вы:
- Разберётесь в ключевых понятиях Docker.
- Научитесь запускать и управлять контейнерами.
- Сможете использовать готовые образы для своих тестовых окружений.
- Поймёте, куда двигаться дальше в изучении контейнерных технологий.
🎁 Все участники вебинара получат специальные условия на полное обучение курса "Administrator Linux. Professional"
👉 Для участия зарегистрируйтесь: https://vk.cc/cRv3fs
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
🐳 Команды Docker: от новичка до продвинутого уровня для инженеров DevOps
Это руководство охватывает основные команды Docker, от начального до продвинутого уровня, помогая инженерам DevOps эффективно управлять своими контейнеризированными приложениями.
https://dev.to/prodevopsguytech/docker-commands-from-beginner-to-advanced-for-devops-engineers-bb3
👉 @devops_star
Это руководство охватывает основные команды Docker, от начального до продвинутого уровня, помогая инженерам DevOps эффективно управлять своими контейнеризированными приложениями.
https://dev.to/prodevopsguytech/docker-commands-from-beginner-to-advanced-for-devops-engineers-bb3
👉 @devops_star
👍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_star
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_star
👍2
Flagd
Демон управления фичами, основанный на философии Unix.
https://github.com/open-feature/flagd
👉 @devops_star
Демон управления фичами, основанный на философии Unix.
https://github.com/open-feature/flagd
👉 @devops_star
👍1
Что такое DevSecOps?
DevSecOps возник как естественная эволюция практик DevOps с акцентом на интеграцию безопасности в процессы разработки и развертывания программного обеспечения. Термин "DevSecOps" объединяет практики разработки (Dev), безопасности (Sec) и операций (Ops), подчеркивая важность безопасности на протяжении всего жизненного цикла разработки программного обеспечения.
Диаграмма выше показывает важные концепции в DevSecOps:
1. Автоматизированные проверки безопасности
2. Непрерывный мониторинг
3. Автоматизация CI/CD
4. Инфраструктура как код (IaC)
5. Безопасность контейнеров
6. Управление секретами
7. Моделирование угроз
8. Интеграция с обеспечением качества (QA)
9. Сотрудничество и коммуникация
10. Управление уязвимостями
👉 @devops_star
DevSecOps возник как естественная эволюция практик DevOps с акцентом на интеграцию безопасности в процессы разработки и развертывания программного обеспечения. Термин "DevSecOps" объединяет практики разработки (Dev), безопасности (Sec) и операций (Ops), подчеркивая важность безопасности на протяжении всего жизненного цикла разработки программного обеспечения.
Диаграмма выше показывает важные концепции в DevSecOps:
1. Автоматизированные проверки безопасности
2. Непрерывный мониторинг
3. Автоматизация CI/CD
4. Инфраструктура как код (IaC)
5. Безопасность контейнеров
6. Управление секретами
7. Моделирование угроз
8. Интеграция с обеспечением качества (QA)
9. Сотрудничество и коммуникация
10. Управление уязвимостями
👉 @devops_star
👍2❤1
ROI в DevOps ↗️
Эффективны ли ваши инвестиции в DevOps? Как посчитать возврат от вложений?
Команда юнита «Экспресс 42» (Флант) приглашает вас на вебинар, где:
– Поделится инструментами оценки ROI сверху вниз (верхнеуровневая оценка трансформации) и снизу вверх (детальная оценка отдельных изменений).
– Проанализирует выгоды и ROI на примере компании среднего размера.
– Объяснит, как DevOps помогает сократить трудозатраты и получить дополнительную доходность.
Вебинар пройдёт 5 декабря (пт) в 12:00
Зарегистрироваться
Если ищете способы увеличить прибыль или сократить издержки, а также усовершенствовать качество поставки цифровых продуктов, ждём вас на эфире 🧑🏼💻
Эффективны ли ваши инвестиции в DevOps? Как посчитать возврат от вложений?
Команда юнита «Экспресс 42» (Флант) приглашает вас на вебинар, где:
– Поделится инструментами оценки ROI сверху вниз (верхнеуровневая оценка трансформации) и снизу вверх (детальная оценка отдельных изменений).
– Проанализирует выгоды и ROI на примере компании среднего размера.
– Объяснит, как DevOps помогает сократить трудозатраты и получить дополнительную доходность.
Вебинар пройдёт 5 декабря (пт) в 12:00
Зарегистрироваться
Если ищете способы увеличить прибыль или сократить издержки, а также усовершенствовать качество поставки цифровых продуктов, ждём вас на эфире 🧑🏼💻
📌Каким образом мы можем разделять права в 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_star
Для управления правами в 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_star
👍1
Это база: нюансы работы с 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_star
Что такое Redis?
Redis — это база данных, которая размещается в памяти и хорошо подходит для следующих целей:
Мы не будем останавливаться на остальных возможных применениях Redis, а также на базовых моментах и перейдем к особенностям его работы, которые непосредственно влияют на конфигурирование и эффективность:
Часть 1 https://habr.com/ru/companies/nixys/articles/765694/
Часть 2 https://habr.com/ru/companies/nixys/articles/805463/
👉 @devops_star
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🗓 11 декабря в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «CI/CD на основе GitLab».
На вебинаре разберем:
Кому будет полезно:
- DevOps-лидам, управляющим инфраструктурой и CI/CD.
- Архитекторам, разрабатывающим стратегии инфраструктурной автоматизации.
- Инженерам, внедряющим Terraform в рабочие процессы.
Что вы получите:
- Понимание, Terraform-модули для работы через GitLab.
- Понимание, настройка и оптимизация пайплайнов CI/CD .
- Практические советы по безопасному и эффективному управлению инфраструктурой .
🔗 Ссылка на регистрацию: https://vk.cc/cRY3RK
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Как управлять Kubernetes-кластерами и AI-нагрузками внутри компании
На Kuber Conf by AOT показали Stackland — решение для корпоративных сред, которое объединяет оркестрацию, мониторинг и CI/CD для микросервисов и AI-нагрузок.
Основные возможности:
— Поддерживает работу в изолированных корпоративных контурах
— Контроль отказоустойчивости и восстановление после сбоев
— Интеграция с Managed Service for Kubernetes® для упрощённого управления кластерами
👉 @devops_star
На Kuber Conf by AOT показали Stackland — решение для корпоративных сред, которое объединяет оркестрацию, мониторинг и CI/CD для микросервисов и AI-нагрузок.
Основные возможности:
— Поддерживает работу в изолированных корпоративных контурах
— Контроль отказоустойчивости и восстановление после сбоев
— Интеграция с Managed Service for Kubernetes® для упрощённого управления кластерами
👉 @devops_star
❤3❤🔥1🐳1
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
Пример
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_star👍2
📌Какие типы volum’ов можно использовать в k8s?
Для подключения папки на ноде можно воспользоваться hostpath, однако необходимо учитывать, что POD должен быть привязан к конкретной ноде. В случае перемещения POD на другую ноду, он будет использовать ту же папку, но содержимое в ней может отсутствовать.
Другой вариант использования — local-storage, который также использует папку на диске, но привязан к конкретной ноде и автоматически привязывает POD к нужной ноде.
Также есть возможность использовать сетевые диски с помощью CSI-плагинов.
📌Можно ли запускать базы данных в k8s?
При определенных условиях, стоит учитывать, что контейнеры не оказывают значительного влияния на производительность приложений, однако сетевой компонент в k8s может вызывать определенные задержки, в зависимости от его реализации. В контейнерах сложнее проводить тонкую настройку приложений, так как изменение настроек ядра ОС и других низкоуровневых параметров для повышения производительности требует определенных навыков. Однако такая настройка не требуется часто.
Если мы сможем обеспечить необходимое дисковое пространство для хранения файлов баз данных и возможность переноса их между узлами, то в k8s можно успешно запускать stateful-приложения. Существуют также базы данных и очереди, оптимизированные для работы в k8s, что делает их готовыми к облачным средам. Для управления приложениями в k8s существуют операторы (Kubernetes operators), которые облегчают эксплуатацию stateful-приложений, например, postgresql stolon для управления кластерами postgresql и strimzi для управления kafka.
👉 @devops_star
Для подключения папки на ноде можно воспользоваться hostpath, однако необходимо учитывать, что POD должен быть привязан к конкретной ноде. В случае перемещения POD на другую ноду, он будет использовать ту же папку, но содержимое в ней может отсутствовать.
Другой вариант использования — local-storage, который также использует папку на диске, но привязан к конкретной ноде и автоматически привязывает POD к нужной ноде.
Также есть возможность использовать сетевые диски с помощью CSI-плагинов.
📌Можно ли запускать базы данных в k8s?
При определенных условиях, стоит учитывать, что контейнеры не оказывают значительного влияния на производительность приложений, однако сетевой компонент в k8s может вызывать определенные задержки, в зависимости от его реализации. В контейнерах сложнее проводить тонкую настройку приложений, так как изменение настроек ядра ОС и других низкоуровневых параметров для повышения производительности требует определенных навыков. Однако такая настройка не требуется часто.
Если мы сможем обеспечить необходимое дисковое пространство для хранения файлов баз данных и возможность переноса их между узлами, то в k8s можно успешно запускать stateful-приложения. Существуют также базы данных и очереди, оптимизированные для работы в k8s, что делает их готовыми к облачным средам. Для управления приложениями в k8s существуют операторы (Kubernetes operators), которые облегчают эксплуатацию stateful-приложений, например, postgresql stolon для управления кластерами postgresql и strimzi для управления kafka.
👉 @devops_star
❤1👍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_star
При определенных условиях, стоит учитывать, что контейнеры не оказывают значительного влияния на производительность приложений, однако сетевой компонент в 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_star
👍1
