Алексей Залесов-«Управление контейнерами в облаках»

Post on 09-Jan-2017

186 views 2 download

Transcript of Алексей Залесов-«Управление контейнерами в облаках»

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

Алексей ЗалесовEngineer @ Altoros

10 октября 2015

➔ Несоразмерность задач и машин➔ Как управлять облаком?➔ Восемь характеристик контейнер

менеджера➔ Сравнение Cloud Foundry, Mesos и

Kubernetes➔ Демо Cloud Foundry

Алексей Залесов

работаю Cloud Foundry Engineer @ Altoros

учился в МФТИ молекулярной биофизике

интересы• распределенные системы• DevOps практики• самоуправляемые

информационные системы 2

System Stack

Что такое PaaS?

➔ Container Orchestration

➔ Resource Scheduling

➔ App Packaging

➔ Routing

➔ Logging

➔ Service Integration

➔ User Management

Что такое PaaS?

➔ Container Orchestration

➔ Resource Scheduling

➔ App Packaging

➔ Routing

➔ Logging

➔ Service Integration

➔ User Management

8

Несоразмерность задачи и сервера

9

Задачи: однократные и непрерывные

10

Автоматическая балансировка нагрузки

11

Перезапуск контейнера при сбое

12

Эвакуация контейнеров при отказе сервера

Восемь характеристик менеджера контейнеров

маркировка контеинеров

кэширование артефактов

пространства имен приложении

откат установки

Blue-Green Deployment

Rolling Deployment

проверка состояния

контеинера

ограничения по размещению

1. Container LabellingХарактеристики

Что это такое? ❏ Связать текстовые метки с контейнером и использовать их при выполнении операций.

Примеры использования

❏ Перезагрузить все контейнеры помеченные как “frontend”

❏ Остановить все контейнеры “QA”

Степень поддержки

Cloud Foundry - noneMesos - fullKubernetes - full

2. Artifact Caching

Что это такое? ❏ Быстрое создание одинаковых контейнеров из образа в репозитории

❏ Образ загружается лишь один раз

Примеры использования

❏ Создать 100 одинаковых контейнеров из образа в репозитории

Степень поддержки

Cloud Foundry - partialMesos - fullKubernetes - none

Характеристики

3. Application Namespaces

Что это такое? ❏ Допустимо использовать одинаковые имена приложений в разных пространствах

Примеры использования

❏ Отсутствие конфликтов имен между командами

Степень поддержки

Cloud Foundry - fullMesos - noneKubernetes - full

Характеристики

4. Deployment RollbacksХарактеристики

Что это такое? ❏ Размещение предыдущей версии контейнера при сбое текущей

Примеры использования

❏ Rollback на версию X

Степень поддержки

Cloud Foundry - noneMesos - noneKubernetes - full

5. Blue-Green DeploymentsЧто это такое? ❏ Обновления без остановки сервиса

Примеры использования

❏ У вас есть две копии контейнера - blue и green.❏ Вы обновляете blue. Трафик клиентов обслуживается

только green❏ Если blue работает корректно, трафик клиентов

переключается на него❏ Вы обновляете green

Степень поддержки

Cloud Foundry - fullMesos - fullKubernetes - none

Характеристики

6. Rolling Deployment

Что это такое? ❏ Поэтапное обновление контейнеров

Примеры использования

❏ Обновить несколько контейнеров ❏ Если успешно, то обновить остальные ❏ Иначе - прекратить обновление

Степень поддержки

Cloud Foundry - noneMesos - noneKubernetes - full

Характеристики

7. Health Check

Что это такое? ❏ Способ проверки состояния контейнеров

Примеры использования

❏ TCP порт открыт?❏ HTTP запрос возвращает код 200?❏ Скрипт отрабатывает с кодом 0?❏ Ссылка обновлялась не более 1 мин назад?

Степень поддержки

Cloud Foundry - partialMesos - partialKubernetes - partial

Характеристики

8. Placement Constraints

Что это такое? ❏ Указать физический сервер, который будет запускать контейнеры

Примеры использования

❏ Запустить контейнеры ‘compute’ на серверах с GPU.

❏ Запускать все контейнеры ‘payment processing’ в rack2.

Степень поддержки

Cloud Foundry - noneMesos - fullKubernetes - partial

Характеристики

Container Labeling none full full

Artifact Caching partial full none

Application Namespaces full none full

Deployment Rollbacks none none full

Blue-Green Deployments full full none

Rolling Deployment none none full

Health Check partial partial partial

Placement Constraints none full partial

Характеристики

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

23

Вопросы?

Алексей Залесовaleksey.zalesov@altoros.com

@azalesovaleksey_zalesov