Kubernetes 1.5 выходит на Windows Server 2016
Kubernetes 1.5 официально появился в Windows Server 2016, впервые в Windows будет реализована поддержка управления контейнерами через свой сервер. Kubernetes — одна из самых популярных доступных на сегодняшний день служб управления контейнерами. Сначала она была создана Google, а теперь входит в состав фонда Cloud Native Computing Foundation (CNCF) Linux Foundation.
Что такое Кубернетес?
Kubernetes — это система с открытым исходным кодом для автоматизации развертывания, масштабирования и управления контейнерными приложениями. Изначально Kubernetes поддерживался только Linux; ранее он также поддерживался в облаке Microsoft Azure, но без поддержки Windows Server.
Однако теперь у него наконец появилась поддержка контейнеров в Windows Server 2016 благодаря Apprenda, которая помогла перенести Kubernetes на Windows в сотрудничестве с Microsoft, Google и Red Hat.
Сообщество, окружающее Kubernetes, огромно; он входит в 0,01% лучших по количеству звезд и №1 по активности на GitHub. Кроме того, у Kubernetes есть большое сообщество Slack и Stack Overflow, что компенсирует некачественную документацию.
Почему это так популярно? Kubernetes логически группирует контейнеры, из которых состоит приложение, для более простого управления и обнаружения, основываясь на 15-летнем опыте работы с рабочими нагрузками в Google.
Некоторые из его ключевых особенностей включают в себя:
- Шкала
- Первоначально разработанный Google, который запускает миллиарды контейнеров в неделю, Kubernetes обладает улучшенной масштабируемостью.
- Открытый исходный код
- Тег Kubernetes с открытым исходным кодом означает, что вы можете перемещать рабочие нагрузки в локальную, гибридную или общедоступную облачную инфраструктуру.
- Автоматическая упаковка
- В зависимости от требований к ресурсам и других ограничений Kubernetes может автоматически размещать контейнеры. Пользователям рекомендуется «смешивать критические рабочие нагрузки и рабочие нагрузки с максимальной эффективностью, чтобы повысить эффективность использования и сэкономить еще больше ресурсов».
- Самовосстановление
- Неудачные контейнеры автоматически перезапускаются, а когда узлы умирают, контейнеры заменяются и перепланируются. Контейнеры, которые не отвечают на вашу пользовательскую проверку работоспособности, уничтожаются.
- Горизонтальное масштабирование
- Предоставляет пользователям возможность масштабировать приложения вверх и вниз с помощью команды, пользовательского интерфейса или в зависимости от загрузки ЦП.
- Обнаружение сервисов и балансировка нагрузки
- Каждому контейнеру присваивается собственный IP-адрес, а также одно DNS-имя для набора контейнеров. Затем Kubernetes может балансировать нагрузку между ними.
- Развороты и откаты
- Как указано на их сайте, «Kubernetes постепенно вносит изменения в ваше приложение или его конфигурацию, одновременно отслеживая работоспособность приложения, чтобы убедиться, что оно не уничтожает все ваши экземпляры одновременно». Кроме того, в случае возникновения проблемы изменения будут автоматически отменены.
- Управление секретами и конфигурациями
- Нет необходимости перестраивать образ или раскрывать секреты в конфигурации стека при развертывании и обновлении секретов и конфигурации приложения.
- Оркестрация хранилища
- Пользователи могут монтировать любую систему хранения, которую они предпочитают. Это включает в себя локальное хранилище, общедоступных облачных провайдеров или сетевых систем хранения. Более подробную информацию можно найти на их сайте.
- Пакетное выполнение
- Пользователи могут разрешить Kubernetes заменять неисправные контейнеры и управлять своими пакетными рабочими нагрузками и рабочими нагрузками непрерывной интеграции.
Кубернетес 1.5 на Windows Server 2016
Теперь, когда вы понимаете Kubernetes и его функции, почему вас должно волновать его партнерство с Windows Server 2016?
Что ж, теперь, когда Windows Server 2016 обеспечивает полную поддержку контейнеров Docker, имеет смысл, что в конечном итоге они также добавят поддержку Kubernetes, поскольку эти две службы часто используются вместе (хотя вместо этого Docker пытается продвигать свой «Docker Swarm»)..
Однако в дополнение к пользователям Windows Apprenda хотела добавить эксклюзивные функции Windows. Например, Kubernetes поддерживает оба типа контейнеров Windows, включая как обычные контейнеры Windows, так и контейнеры Hyper-V.
Контейнеры Hyper-V — это функция Windows Server 2016, в которой каждый экземпляр контейнера запускается внутри специальной виртуальной машины, обеспечивая большую изоляцию между каждым контейнером и его хостом.
Другие партнеры также предоставили новые полезные функции. В интервью eWeek Клейтон Коулман, ведущий инженер OpenShift в Red Hat, сказал: «Red Hat помогла обеспечить поддержку контейнеров Windows на нескольких уровнях, в том числе заложила фундамент для подключения узлов Windows к кластеру и помогла в прототипировании. того, как концепции Kubernetes могут быть сопоставлены с контейнерами Windows».
Коулман возлагает большие надежды на «потенциал управления рабочими нагрузками смешанных приложений в Kubernetes как для Windows, так и для Linux».
В этом последнем выпуске Kubernetes теперь можно установить гибридную хост-среду контейнеров операционных систем Linux и Windows Server. Затем этот гибридный контейнер может содержать кластер Kubernetes, развертывая все в локальной инфраструктуре или в Microsoft Azure, как сказал Ракеш Малхотра из Apprenda в другом интервью eWeek.
Хотя все приложения, использующие Kubernetes 1.5, доступны для работы как в Linux, так и в Windows Server, с контейнерами Windows Server и Hyper-V можно распределять контейнеры только между узлами Windows Server в кластере.
«Узлы Kubernetes, которые являются хостами-контейнерами, могут быть развернуты как с Windows Server, так и с Linux», — говорит Малхотра, но добавляет, что важно отметить, что «для всех сред Kubernetes по-прежнему будет требоваться развертывание узлов Linux для размещения главных компонентов Kubernetes. ” Сюда входят распределенное хранилище, диспетчер контроллеров, планировщик и сервер API.
Еще одной важной функцией Kubernetes 1.5 является функция StatefulSet, которая сейчас находится в стадии бета-тестирования. Ранее он назывался PetSet и предоставляет пользователям гарантии порядка развертывания и масштабирования.
StatefulSet позволяет пользователям запускать приложения с отслеживанием состояния, которые по сути являются приложениями, хранящими данные для использования в будущем. Однако он не обеспечивает полной масштабируемости. Вместо этого он наложил ограничения на ЦП или память.
В целом Kubernetes показал, что он будет продолжать улучшаться в течение 2017 года и далее. Microsoft продолжит работать вместе с Apprenda, Red Hat и другими партнерами для продолжения инноваций и интеграции.
Цель состоит в том, чтобы «гарантировать, что Kubernetes может быть ядром кластерной операционной системы», — сказал Коулман из Red Hat. «Мы только поверхностно погружаемся в то, как пользователи могут настроить Kubernetes в соответствии со своими потребностями».