Русский
Русский
English
Статистика
Реклама

Kubernetes или с чего начать чтобы понять что это и зачем нужно

Данная статья рассчитана на новичков. Если вы опытный ниндзя, просто вспомните о том, как когда-то подобная информация могла быть полезной и для вас ;-)


Предположим вы уже перешли на ты с технологией контейнеризации, разобрались с технологией непрерывной поставки ПО и пришло понимание всех минусов жизни с обычными контейнерами. Что же с этим делать и как перекрыть такие минусы? Тут на помощь нам приходит контейнерная оркестрация и 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
К списку статей
Опубликовано: 12.01.2021 18:23:11
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Блог компании otus. онлайн-образование

Настройка linux

Devops

Kubernetes

Docker

Linux

Виртуализация

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru