[Настройка Linux, DevOps, Kubernetes] Kubernetes или с чего начать чтобы понять что это и зачем нужно
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Данная статья рассчитана на новичков. Если вы опытный ниндзя, просто вспомните о том, как когда-то подобная информация могла быть полезной и для вас ;-)
Предположим вы уже перешли на ты с технологией контейнеризации, разобрались с технологией непрерывной поставки ПО и пришло понимание всех минусов жизни с обычными контейнерами. Что же с этим делать и как перекрыть такие минусы? Тут на помощь нам приходит контейнерная оркестрация и Kubernetes.
Давайте вспомним как работают контейнеры на примере Docker. Основные понятия это namespaces, cgroups, UnionFS, RunC.Namespaces это про изолирование окружения и про то что каждый контейнер работает со своими namespace’ами и namespace закрывается, если PID 1 умер.
- pid : Изоляция процессов (PID: Process ID)
- net : Изоляция сетей (NET: Networking)
- ipc : Изоляция IPC (IPC: InterProcess Communication)
- mnt : Изоляция файловой системы (MNT: Mount)
- uts : Изоляция UTS (UTS: Unix Timesharing System)
- user: Изоляция пользователей
Control groups позволяет контейнерам использовать общие ресурсы и ограничить набор доступных ресурсов.Union File Systems дает разделение по слоям и возможность их переиспользования. А что же такое слои? Управление образами, например в Docker, происходит с помощью внешнего драйвера хранилища. Есть несколько поддерживаемых драйверов - AUFS, BTRFS и наложения. Вы можете думать о слое как о наборе изменений файловой системы.
Образы сделаны из упорядоченных слоев. Когда вы берете все слои и складываете их вместе, то получаете новый образ, и он содержит все накопленные изменения.Сразу заметим что порядок важен. При добавлении файла на один уровень и удаления его на другом уровне стоит делать это в правильном порядке. Docker например отслеживает каждый уровень. У образа могут быть десятки слоев, но предел есть и он равен 127.
Каждый слой очень легкий. Преимуществом слоев является совместное использование слоев.Если есть много образов на основе похожих слоев, например базовая ОС или общие пакеты, то все они будут храниться только один раз, служебные данные же для каждого образа это уникальные слои этого конкретного образа. После того как разобрались с базовыми понятиями контейнеризации стоит вспомнить что же такое оркестрация.
Оркестрация это:
- управление кластером хостов;
- планирование и распределение задач;
- автоматизация.
А теперь от оркестрации плавно перейдем к тому по какой же концепции DevOps будет происходить модель обслуживания.
Одна из основных концепций DevOps - это <Cattle, NOT pets>.
Модель обслуживания «Домашние животные»(pets) описывает тщательно ухоженные сервера, за которыми с любовью ухаживают и им дают имена, как если бы они были верными домашними животными. Когда с ними что то случается, то вы тщательно восстанавливаете их здоровье, помогаете им вырасти и время от времени делаете блестящими и новыми.С другой стороны, крупному рогатому скоту(сattle) не уделяют такого же внимания, как домашним питомцам. Так что, когда один заболевает, вы просто заменяете его другим, не задумываясь. Типичное использование конфигураций крупного рогатого скота - это массивы веб-серверов, кластеры поиска, кластеры NoSql, хранилища данных и кластеры больших данных.Потребность в автоматизации и координации настройки и развертывания привела к появлению таких инструментов, как Salt Stack, Ansible и Terraform. Эти инструменты дали разработчикам и DevOps инженерам возможность программно развертывать инфраструктуру, необходимую для поддержки ваших приложений. Этот процесс теперь известен как «Инфраструктура как код».
Для команд, применяющих методологию контейнерной инфраструктуры, Kubernetes теперь является средством по умолчанию для развертывания приложений.Управление конфигурацией vs оркестрация контейнеров Хотя они не исключают друг друга, сильная зависимость от одного обычно снижает зависимость от другого. Docker в настоящее время более или менее является стандартом контейнеров, а механизм контейнерной оркестрации – Kubernetes.Ansible и Terraform также являются обязательными навыками.Наличие навыков управления инструментами, развертывающими инфраструктуру в виде кода, является определенно важным преимуществом, особенно с учетом того, что такие инструменты, как Terraform, присутствуют практически в каждом современном стеке операций.
Необязательно быть мастером, однако это навык, который каждый инженер Devops среднего уровня должен иметь.
Все это и более детальное рассмотрение архитектуры и основных концепций Kubernetes, на равне с такими интересными темами как кластеризация, highload web, администрирование СУБД, виртуализация и контейнеризация, оркестрация вы сможете изучить на курсе Administrator Linux. Advanced.Также вы сможете получить ответы на такие вопросы как организовано сетевое взаимодействие в Kubernetes, как опубликовать приложение и как работает DNS в Kubernetes.Ну и как же без такого важного вопроса как хранение данных, мониторинг и Kubernetes secrets Hashicorp Vault.А прямо сейчас мы приглашаем всех желающих на бесплатный демо-урок по теме "«Кластерная файловая система Lustre»". В рамках урока рассмотрим архитектуру и компоненты файловой системы Lustre. Разберем области применения файловой системы и ее особенности. Ответим на вопросы как используется file striping и что такое сетевой транспортный уровень LNET. На практической части установим и сконфигурируем файловую систему вручную. Посмотрим пример работы графической пользовательского интерфейса Integrated Manager for Lustre (IML)
===========
Источник:
habr.com
===========
Похожие новости:
- [Программирование, C#] Поиск, устранение и предупреждение утечек памяти в C# .NET: 8 лучших практик (перевод)
- [Open source, Тестирование веб-сервисов] Periskop — инструмент мониторинга исключений (перевод)
- [PHP, Программирование] Производительность Composer 2.0 с JIT PHP 8 (перевод)
- [Системное администрирование, Серверное администрирование, Хранилища данных, DevOps] Эксплуатация Ceph: что такое Scrub и как им управлять
- [Системное администрирование, Системное программирование, DevOps] Проверка ролей Ansible через делегированный драйвер Molecule (перевод)
- [IT-инфраструктура, Amazon Web Services, DevOps, Облачные сервисы] Вебинар «Создание эффективной инфраструктуры при помощи облачных решений»
- [Программирование, Компиляторы, Разработка под Linux] Микрохирургия ELF'а или «А что, так можно было?!»
- [Управление персоналом] Как улучшить метод OKR, когда ничего не работает (перевод)
- [Программирование, API, C] Проектирование C API (перевод)
- [Настройка Linux, Софт] Обход ограничений терминала
Теги для поиска: #_nastrojka_linux (Настройка Linux), #_devops, #_kubernetes, #_docker, #_kubernetes, #_devops, #_linux, #_virtualizatsija (виртуализация), #_blog_kompanii_otus._onlajnobrazovanie (
Блог компании OTUS. Онлайн-образование
), #_nastrojka_linux (
Настройка Linux
), #_devops, #_kubernetes
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 08:18
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Данная статья рассчитана на новичков. Если вы опытный ниндзя, просто вспомните о том, как когда-то подобная информация могла быть полезной и для вас ;-)
Давайте вспомним как работают контейнеры на примере Docker. Основные понятия это namespaces, cgroups, UnionFS, RunC.Namespaces это про изолирование окружения и про то что каждый контейнер работает со своими namespace’ами и namespace закрывается, если PID 1 умер.
Образы сделаны из упорядоченных слоев. Когда вы берете все слои и складываете их вместе, то получаете новый образ, и он содержит все накопленные изменения.Сразу заметим что порядок важен. При добавлении файла на один уровень и удаления его на другом уровне стоит делать это в правильном порядке. Docker например отслеживает каждый уровень. У образа могут быть десятки слоев, но предел есть и он равен 127. Каждый слой очень легкий. Преимуществом слоев является совместное использование слоев.Если есть много образов на основе похожих слоев, например базовая ОС или общие пакеты, то все они будут храниться только один раз, служебные данные же для каждого образа это уникальные слои этого конкретного образа. После того как разобрались с базовыми понятиями контейнеризации стоит вспомнить что же такое оркестрация. Оркестрация это:
Одна из основных концепций DevOps - это <Cattle, NOT pets>. Модель обслуживания «Домашние животные»(pets) описывает тщательно ухоженные сервера, за которыми с любовью ухаживают и им дают имена, как если бы они были верными домашними животными. Когда с ними что то случается, то вы тщательно восстанавливаете их здоровье, помогаете им вырасти и время от времени делаете блестящими и новыми.С другой стороны, крупному рогатому скоту(сattle) не уделяют такого же внимания, как домашним питомцам. Так что, когда один заболевает, вы просто заменяете его другим, не задумываясь. Типичное использование конфигураций крупного рогатого скота - это массивы веб-серверов, кластеры поиска, кластеры NoSql, хранилища данных и кластеры больших данных.Потребность в автоматизации и координации настройки и развертывания привела к появлению таких инструментов, как Salt Stack, Ansible и Terraform. Эти инструменты дали разработчикам и DevOps инженерам возможность программно развертывать инфраструктуру, необходимую для поддержки ваших приложений. Этот процесс теперь известен как «Инфраструктура как код». Для команд, применяющих методологию контейнерной инфраструктуры, Kubernetes теперь является средством по умолчанию для развертывания приложений.Управление конфигурацией vs оркестрация контейнеров Хотя они не исключают друг друга, сильная зависимость от одного обычно снижает зависимость от другого. Docker в настоящее время более или менее является стандартом контейнеров, а механизм контейнерной оркестрации – Kubernetes.Ansible и Terraform также являются обязательными навыками.Наличие навыков управления инструментами, развертывающими инфраструктуру в виде кода, является определенно важным преимуществом, особенно с учетом того, что такие инструменты, как Terraform, присутствуют практически в каждом современном стеке операций. Необязательно быть мастером, однако это навык, который каждый инженер Devops среднего уровня должен иметь. Все это и более детальное рассмотрение архитектуры и основных концепций Kubernetes, на равне с такими интересными темами как кластеризация, highload web, администрирование СУБД, виртуализация и контейнеризация, оркестрация вы сможете изучить на курсе Administrator Linux. Advanced.Также вы сможете получить ответы на такие вопросы как организовано сетевое взаимодействие в Kubernetes, как опубликовать приложение и как работает DNS в Kubernetes.Ну и как же без такого важного вопроса как хранение данных, мониторинг и Kubernetes secrets Hashicorp Vault.А прямо сейчас мы приглашаем всех желающих на бесплатный демо-урок по теме "«Кластерная файловая система Lustre»". В рамках урока рассмотрим архитектуру и компоненты файловой системы Lustre. Разберем области применения файловой системы и ее особенности. Ответим на вопросы как используется file striping и что такое сетевой транспортный уровень LNET. На практической части установим и сконфигурируем файловую систему вручную. Посмотрим пример работы графической пользовательского интерфейса Integrated Manager for Lustre (IML) =========== Источник: habr.com =========== Похожие новости:
Блог компании OTUS. Онлайн-образование ), #_nastrojka_linux ( Настройка Linux ), #_devops, #_kubernetes |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 08:18
Часовой пояс: UTC + 5