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

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

Рынок труда  

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

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

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

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

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

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

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

Гость номера  

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

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

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

Прошу слова  

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

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

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

Как хорошо вы это знаете  

Портал Инкоманд. Для чего он? Для кого? Какие проблемы решает?

Компания «ЕМДЕВ» – создатель интернет-портала, предлагает всем желающим протестировать себя на

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

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

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

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

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

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

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

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

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

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

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

Друзья сайта  

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

Источник: Знакомимся с Kubernetes Просмотров: 5282

Сергей Яремчук СЕРГЕЙ ЯРЕМЧУК, автор более 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