📌Какие типы 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
📌Kubernetes Roadmap
https://roadmap.sh/kubernetes
📌DevOps Roadmap
https://roadmap.sh/devops
📌Docker Roadmap
https://roadmap.sh/docker
👉 @devops_star
https://roadmap.sh/kubernetes
📌DevOps Roadmap
https://roadmap.sh/devops
📌Docker Roadmap
https://roadmap.sh/docker
👉 @devops_star
👍2
Как я уменьшил размер образа docker на 40%
Ежедневно по работе я сталкиваюсь с Dockerfile, написал несколько из них самостоятельно, создавал контейнеры и всё такое. Но я никогда не публиковал их в реестре docker hub. Мне хотелось создать ugit — инструмент для отмены команд git (написанный в виде шелл‑скрипта), который бы могли использовать люди, не любящие устанавливать случайные шелл‑скрипты из Интернета.
Да‑да, знаю. НАДО ПЕРЕПИСАТЬ ЕГО НА GO/RUST/ЕЩЁ КАКОМ‑ТО ВОЛШЕБНОМ ЯЗЫКЕ. Сейчас скрипт состоит из пятисот с лишним строк Bash, поэтому я перепишу его на другом языке только под страхом смертной казни. Кроме того, в ugit уже есть практически все функции (осталось реализовать отмену лишь небольшого количества команд, используемых не так часто).
В этой статье я расскажу о том, как написал официальный Dockerfile для ugit (шелл‑скрипта) и снизил размер образа почти на 40% (с 31,4 МБ до 17,6 МБ), выполняя пошаговые попытки по инструкции. Надеюсь, это замотивирует других любителей шелла тоже публиковать свои скрипты в виде образов docker!
https://habr.com/ru/articles/791426/
👉 @devops_star
Ежедневно по работе я сталкиваюсь с Dockerfile, написал несколько из них самостоятельно, создавал контейнеры и всё такое. Но я никогда не публиковал их в реестре docker hub. Мне хотелось создать ugit — инструмент для отмены команд git (написанный в виде шелл‑скрипта), который бы могли использовать люди, не любящие устанавливать случайные шелл‑скрипты из Интернета.
Да‑да, знаю. НАДО ПЕРЕПИСАТЬ ЕГО НА GO/RUST/ЕЩЁ КАКОМ‑ТО ВОЛШЕБНОМ ЯЗЫКЕ. Сейчас скрипт состоит из пятисот с лишним строк Bash, поэтому я перепишу его на другом языке только под страхом смертной казни. Кроме того, в ugit уже есть практически все функции (осталось реализовать отмену лишь небольшого количества команд, используемых не так часто).
В этой статье я расскажу о том, как написал официальный Dockerfile для ugit (шелл‑скрипта) и снизил размер образа почти на 40% (с 31,4 МБ до 17,6 МБ), выполняя пошаговые попытки по инструкции. Надеюсь, это замотивирует других любителей шелла тоже публиковать свои скрипты в виде образов docker!
https://habr.com/ru/articles/791426/
👉 @devops_star
👍2
📌Что такое egress?
Возможность установить внешний IP-адрес для исходящего трафика приложений за пределы кластера k8s может быть реализована через поддержку egress на уровне CNI-плагина. Эта функциональность может быть описана специальным объектом в неймспейсе.
📌Что вы можете рассказать об архитектуре Horizon?
API обратно совместим. Существует три типа панелей мониторинга: пользовательские, системные и настройки. Он обеспечивает базовую поддержку всех основных проектов OpenStack, таких как Neutron, Nova и т. д. (из коробки, нет необходимости устанавливать дополнительные пакеты или плагины). Любой может расширить информационные панели и добавить новые компоненты. Horizon предоставляет шаблоны и основные классы, на основе которых можно создать собственную панель мониторинга.
📌Если вы остановите контейнер — потеряете данные?
При остановке контейнера Docker данные не теряются, так как они записываются на диск приложением исключительно для хранения. Этот процесс продолжается до тех пор, пока контейнер не будет удален окончательно. Кроме того, файловая система контейнера сохраняет изменения даже после полной остановки контейнера.
👉 @devops_star
Возможность установить внешний IP-адрес для исходящего трафика приложений за пределы кластера k8s может быть реализована через поддержку egress на уровне CNI-плагина. Эта функциональность может быть описана специальным объектом в неймспейсе.
📌Что вы можете рассказать об архитектуре Horizon?
API обратно совместим. Существует три типа панелей мониторинга: пользовательские, системные и настройки. Он обеспечивает базовую поддержку всех основных проектов OpenStack, таких как Neutron, Nova и т. д. (из коробки, нет необходимости устанавливать дополнительные пакеты или плагины). Любой может расширить информационные панели и добавить новые компоненты. Horizon предоставляет шаблоны и основные классы, на основе которых можно создать собственную панель мониторинга.
📌Если вы остановите контейнер — потеряете данные?
При остановке контейнера Docker данные не теряются, так как они записываются на диск приложением исключительно для хранения. Этот процесс продолжается до тех пор, пока контейнер не будет удален окончательно. Кроме того, файловая система контейнера сохраняет изменения даже после полной остановки контейнера.
👉 @devops_star
👍1
lnav — супернедооценённый инструмент для работы с логами
В мире разработки, системного администрирования и DevOps не смотря на то, что давно существуют и заняли свою нишу инструменты, связанные с централизованным сбором, визуализацией и анализом логов (graylog, ELK/EFK, loki, loggly и другие), всё ещё существует необходимость периодически взять шашку в руки и поработать со старыми/добрыми (а может быть и не очень добрыми) текстовыми логами. За 21 год своей деятельности я успел побыть системным администратором, DevOps инженером, разработчиком, CTO и системным аналитиком, но необходимость периодической работы с логами неизменно присутствовала в том или ином виде всегда. Это может быть разбор вывода нового сервиса или контейнера на машине разработчика, что-то, что ещё не успели завести (или сознательно по каким-либо причинам не завели) на централизованную систему сбора логов или, например, сервис, временно включенный в режиме debug для поиска причин проблемы. Ситуаций бывает много и ситуации бывают разные, а текстовые логи были, есть и ещё долго будут с нами.
https://habr.com/ru/articles/839970/
👉 @devops_star
В мире разработки, системного администрирования и DevOps не смотря на то, что давно существуют и заняли свою нишу инструменты, связанные с централизованным сбором, визуализацией и анализом логов (graylog, ELK/EFK, loki, loggly и другие), всё ещё существует необходимость периодически взять шашку в руки и поработать со старыми/добрыми (а может быть и не очень добрыми) текстовыми логами. За 21 год своей деятельности я успел побыть системным администратором, DevOps инженером, разработчиком, CTO и системным аналитиком, но необходимость периодической работы с логами неизменно присутствовала в том или ином виде всегда. Это может быть разбор вывода нового сервиса или контейнера на машине разработчика, что-то, что ещё не успели завести (или сознательно по каким-либо причинам не завели) на централизованную систему сбора логов или, например, сервис, временно включенный в режиме debug для поиска причин проблемы. Ситуаций бывает много и ситуации бывают разные, а текстовые логи были, есть и ещё долго будут с нами.
https://habr.com/ru/articles/839970/
👉 @devops_star
❤1👍1
🗓 18 декабря в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «CI/CD на основе GitLab».
На вебинаре разберем:
После вебинара вы сможете:
- Навести порядок в .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
Под пользовательским пространством понимается весь код операционной системы, который находится вне ядра.
Большинство 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
Менеджер контроллеров 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
Подход «Инфраструктура как код» означает, что инфраструктура создаётся, развёртывается и управляется при помощи кода. Это позволяет автоматизировать процессы, делать их более гибкими и масштабируемыми. Код для инфраструктуры фиксирует конфигурацию, обеспечивает воспроизводимость и упрощает управление настройками. Также благодаря этому подходу возрастает эффективность работы команды, поскольку он позволяет вести совместное развитие инфраструктуры и обеспечивает удобство отслеживания изменений.
Именно этот подход мы используем при нашей работе. Однако в процессе его использования мы столкнулись с проблемой написания пайплайнов для инфраструктуры.
Мы были вынуждены сделать процесс выкатки инфраструктуры максимально точечным из-за использования 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
Работая 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
Основные драйвера сетей 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
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
Что такое 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
Как инженер 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
Вначале мы деплоили код на физические серверы через FTP и SSH. Потом научились использовать контейнеры, но окружение для управления ими все равно приходилось разворачивать админам. Сейчас на фронтире DevOps мы учимся разворачивать не только код, но и всю инфраструктуру с помощью yaml файлов.
В докладе я расскажу про современный подход GitOps, который объединяет развертывание как инфраструктуры, так и приложений. Расскажу про существующие решения, и как мы в Evrone их используем.
И да, мы разворачиваем Kubernets с помощью Kubernetes :)
Слушатели узнают о лучших практиках работы с окружениями, как правильно и безопасно настроить процессы проверки качества и доставки кода на серверы, получат представление о том, куда развивается индустрия.
источник
👉 @devops_star
👍2❤1
Фильтры Ansible: превращаем сложное в простое
Используя Ansible в качестве инструмента автоматизации, часто приходится сталкиваться с задачей обработки и фильтрации структурированных данных. Как правило, это набор фактов, полученных с управляемых серверов, или ответ на запрос к внешним API, которые возвращают данные в виде стандартного json. Многие неопытные инженеры, используя Ansible в таких случаях, начинают прибегать к помощи привычных консольных команд и начинают городить то, что среди специалистов получило название bashsible. В общем, вспоминается известный мем:
В этой статье мы покажем, как легко и просто можно обрабатывать данные прямо в Ansible, используя его собственные мощные возможности. Речь идет о фильтрах Jinja2, которые представляют собой мощный, но в то же время интуитивно понятный инструмент для трансформации данных. Эти фильтры позволяют эффективно сортировать, выбирать и преобразовывать данные, устраняя необходимость в сложных внешних командах и скриптах.
https://habr.com/ru/articles/778206/
👉 @devops_star
Используя Ansible в качестве инструмента автоматизации, часто приходится сталкиваться с задачей обработки и фильтрации структурированных данных. Как правило, это набор фактов, полученных с управляемых серверов, или ответ на запрос к внешним API, которые возвращают данные в виде стандартного json. Многие неопытные инженеры, используя Ansible в таких случаях, начинают прибегать к помощи привычных консольных команд и начинают городить то, что среди специалистов получило название bashsible. В общем, вспоминается известный мем:
В этой статье мы покажем, как легко и просто можно обрабатывать данные прямо в Ansible, используя его собственные мощные возможности. Речь идет о фильтрах Jinja2, которые представляют собой мощный, но в то же время интуитивно понятный инструмент для трансформации данных. Эти фильтры позволяют эффективно сортировать, выбирать и преобразовывать данные, устраняя необходимость в сложных внешних командах и скриптах.
https://habr.com/ru/articles/778206/
👉 @devops_star
👍1