Знакомимся с Kubernetes::Журнал СА 1-2.2017
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Наука и технологии
Подписка
Где купить
Авторам
Рекламодателям
Архив номеров
Контакты
   

  Опросы
  Статьи

Электронный документооборот  

5 способов повысить безопасность электронной подписи

Область применения технологий электронной подписи с каждым годом расширяется. Все больше задач

 Читать далее...

Рынок труда  

Системные администраторы по-прежнему востребованы и незаменимы

Системные администраторы, практически, есть везде. Порой их не видно и не слышно,

 Читать далее...

Учебные центры  

Карьерные мечты нужно воплощать! А мы поможем

Школа Bell Integrator открывает свои двери для всех, кто хочет освоить перспективную

 Читать далее...

Гость номера  

Дмитрий Галов: «Нельзя сказать, что люди становятся доверчивее, скорее эволюционирует ландшафт киберугроз»

Использование мобильных устройств растет. А вместе с ними быстро растет количество мобильных

 Читать далее...

Прошу слова  

Твердая рука в бархатной перчатке: принципы soft skills

Лауреат Нобелевской премии, специалист по рынку труда, профессор Лондонской школы экономики Кристофер

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 9957
Комментарии: 0
Потоковая обработка данных

 Читать далее...

19.03.2018г.
Просмотров: 8164
Комментарии: 0
Релевантный поиск с использованием Elasticsearch и Solr

 Читать далее...

19.03.2018г.
Просмотров: 8264
Комментарии: 0
Конкурентное программирование на SCALA

 Читать далее...

19.03.2018г.
Просмотров: 5233
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 5921
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

Друзья сайта  

 Знакомимся с Kubernetes

Архив номеров / 2017 / Выпуск №1-2 (170-171) / Знакомимся с Kubernetes

Рубрика: Администрирование /  Облачные технологии

Сергей Яремчук СЕРГЕЙ ЯРЕМЧУК, автор более 1000 статей и шести книг. С «СА» с первого номера. Интересы: сетевые технологии, защита информации, свободные ОС, yaremchuk@samag.ru

Знакомимся с Kubernetes

Управление большим количеством контейнеров на нескольких серверах штатными инструментами Docker – не очень простая задача. Google предлагает эффективное решение

Современные приложения достаточно сложны в разработке и поддержке, версии языка, фреймворки и сам код постоянно обновляются. Постоянно появляются новые технологии изапросы пользователей. Именно поэтому высок интерес к микросервисам (см. статью А. Календарева в этом номере). Docker дает прекрасную возможность быстро развернуть приложение буквально в любом месте, что на продакшен-сервере, что на ноутбуке разработчика. Единственный минус – управлять, разворачивать, масштабировать, отслеживать состояние и обновлять контейнеры штатными инструментами уже не так просто. Неудивительно, что появились специальные инструменты, решающие эту проблему.

Управление контейнерами

Практически одновременно несколько компаний предложило решения, схожие по задаче, но отличающиеся реализацией. В первую очередь это Docker Swarm [1], который позволяет создать кластер, объединять Docker-контейнеры и запускать их одной командой. В сочетании с Docker Compose это очень удобный инструмент для планирования контейнеров. Оночень прост в развертывании. Для управления используется REST API-интерфейс, совместимый с Docker API. Все инструменты, совместимые с API Docker, – Dokku, DockerUI,Krane, Flynn и многие другие – могут работать с кластером Docker Swarm, как с обычным хостом. В 1.12 в штатном Docker появился режим swarm mode, позволяющий вудобной форме разворачивать кластер, запускать приложение, менять количество реплик, балансировать нагрузку, обновлять контейнеры без остановки, откат обновлений и многое другое.

Nomad [2] представляет собой несколько более глобальное решение для управления кластером машин и запуском приложений на них, которое может быть использовано длябольшого круга задач. Поддерживает несколько ЦОД и мультирегиональные конфигурации. По утверждению разработчиков он тестировался на кластерах до 5000 узлов, разворачивая до 3500 контейнеров в секунду, но работает и на гораздо более крупных кластерах. Сочетает менеджер ресурсов и планировщик собственной разработки, определяющий, на каком узле развернуть по указанным ресурсам. Для Docker-контейнеров можно задавать ограничения, указывать регион, количество реплик. Серверная иклиентская части реализованы в одном бинарнике, для координации или хранения не требуется других внешних служб.

Разработанная в Twitter платформа Marathon [3] – также несколько более глобальное решение. Представляет собой надстройку над менеджером кластера Apache Mesos, расширяя еговозможности по управлению приложениями и контейнерами в нескольких ЦОД. Реализованы функции масштабирования, восстановления работоспособности, балансировки, установки ограничений. Поддерживается формат контейнера Docker и свой Mesos, плюс приложения JBoss, Jetty, Sinatra, Rails и т.д. В работе использует другие решения Apache Software Foundation для организации обнаружения приложений, планирования и т.д.: ZooKeeper, Chronos, Kafka, Hadoop и т.д. Самостоятельная установка Marathon – не самое простое дело.

Проект Kubernetes

Разработки Kubernetes [4] (сокращенно K8S) официально стартовали в Google в 2014 году, а первая публичная версия 0.1 появилась через год – в июле 2015-го. Хотя разработка неначиналась совсем с нуля. В основе K8S лежит Borg, проект управления кластерами в Google, переориентированный теперь на управление Docker-контейнерами. Многие проблемы, с которыми разработчики столкнулись при создании Borg, были уже опробованы и решены, поэтому проект так быстро стартовал. Чуть позже совместно с Linux Foundation длявыработки единого стандарта и взаимодействия была сформирована Cloud Computing Native Foundation (CNCF), в которую вошли сама Google, Cisco, IBM, Docker и VMware.

Забегая наперед, отмечу две вещи. И хотя текущей стабильной версией является уже 1.5.1, многое еще в API не реализовано и находится в официальном бета- и даже альфа-статусе. Даже мастер установки кластера честно предупреждает: «WARNING: kubeadm is in alpha, please do not use it for production clusters». Но тем не менее решение работает стабильно, есть уже много субпроектов, дополняющих K8S, и легко можно найти сообщения об успешном использовании в продакшен, так как в нем реализованы все функции, необходимые для запуска приложений на основе Docker в конфигурации с высокой доступностью, – деплой, обнаружение сервисов, планирование, мониторинг и многое другое. Для реализации всего этого могут использоваться сторонние услуги и аддоны [5], которые, взаимодействуя с API более высокого уровня, обеспечивают требуемую функциональность.

Статью целиком читайте в журнале «Системный администратор», №1-2 за 2017 г. на страницах 41-45.

PDF-версию данного номера можно приобрести в нашем магазине.


  1. Проект Docker Swarm – http://docker.com/products/docker-swarm.
  2. Проект Nomad – http://nomadproject.io.
  3. Проект Marathon – http://mesosphere.github.io/marathon.
  4. Проект Kubernetes – https://kubernetes.io.
  5. Дополнения Kubernetes – https://kubernetes.io/docs/admin/addons.
  6. Страница Minikube – https://kubernetes.io/docs/getting-started-guides/minikube.
  7. Исходные тексты Kubernetes – https://github.com/kubernetes/kubernetes.
  8. bash-скрипт для установки Kubernetes – http://get.K8S.io.
  9. Параметры kubectl – https://kubernetes.io/docs/user-guide/kubectl-overview.

Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru