Badoo в облаках. Решение для запуска cli-скриптов в облаке собственной разработки
Управление контейнерами в облаках
-
Upload
aleksey-zalesov -
Category
Technology
-
view
7.138 -
download
5
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