Управление контейнерами в облаках
TRANSCRIPT
![Page 1: Управление контейнерами в облаках](https://reader031.vdocuments.pub/reader031/viewer/2022022203/5878913f1a28ab375f8b5bbd/html5/thumbnails/1.jpg)
Управление контейнерами в облаках
Алексей ЗалесовEngineer @ Altoros
10 октября 2015
➔ Несоразмерность задач и машин➔ Как управлять облаком?➔ Восемь характеристик контейнер
менеджера➔ Сравнение Cloud Foundry, Mesos и
Kubernetes➔ Демо Cloud Foundry
![Page 2: Управление контейнерами в облаках](https://reader031.vdocuments.pub/reader031/viewer/2022022203/5878913f1a28ab375f8b5bbd/html5/thumbnails/2.jpg)
Алексей Залесов
работаю Cloud Foundry Engineer @ Altoros
учился в МФТИ молекулярной биофизике
интересы• распределенные системы• DevOps практики• самоуправляемые
информационные системы 2
![Page 3: Управление контейнерами в облаках](https://reader031.vdocuments.pub/reader031/viewer/2022022203/5878913f1a28ab375f8b5bbd/html5/thumbnails/3.jpg)
![Page 4: Управление контейнерами в облаках](https://reader031.vdocuments.pub/reader031/viewer/2022022203/5878913f1a28ab375f8b5bbd/html5/thumbnails/4.jpg)
System Stack
![Page 5: Управление контейнерами в облаках](https://reader031.vdocuments.pub/reader031/viewer/2022022203/5878913f1a28ab375f8b5bbd/html5/thumbnails/5.jpg)
![Page 6: Управление контейнерами в облаках](https://reader031.vdocuments.pub/reader031/viewer/2022022203/5878913f1a28ab375f8b5bbd/html5/thumbnails/6.jpg)
Что такое PaaS?
➔ Container Orchestration
➔ Resource Scheduling
➔ App Packaging
➔ Routing
➔ Logging
➔ Service Integration
➔ User Management
![Page 7: Управление контейнерами в облаках](https://reader031.vdocuments.pub/reader031/viewer/2022022203/5878913f1a28ab375f8b5bbd/html5/thumbnails/7.jpg)
Что такое PaaS?
➔ Container Orchestration
➔ Resource Scheduling
➔ App Packaging
➔ Routing
➔ Logging
➔ Service Integration
➔ User Management
![Page 8: Управление контейнерами в облаках](https://reader031.vdocuments.pub/reader031/viewer/2022022203/5878913f1a28ab375f8b5bbd/html5/thumbnails/8.jpg)
8
Несоразмерность задачи и сервера
![Page 9: Управление контейнерами в облаках](https://reader031.vdocuments.pub/reader031/viewer/2022022203/5878913f1a28ab375f8b5bbd/html5/thumbnails/9.jpg)
9
Задачи: однократные и непрерывные
![Page 10: Управление контейнерами в облаках](https://reader031.vdocuments.pub/reader031/viewer/2022022203/5878913f1a28ab375f8b5bbd/html5/thumbnails/10.jpg)
10
Автоматическая балансировка нагрузки
![Page 11: Управление контейнерами в облаках](https://reader031.vdocuments.pub/reader031/viewer/2022022203/5878913f1a28ab375f8b5bbd/html5/thumbnails/11.jpg)
11
Перезапуск контейнера при сбое
![Page 12: Управление контейнерами в облаках](https://reader031.vdocuments.pub/reader031/viewer/2022022203/5878913f1a28ab375f8b5bbd/html5/thumbnails/12.jpg)
12
Эвакуация контейнеров при отказе сервера
![Page 13: Управление контейнерами в облаках](https://reader031.vdocuments.pub/reader031/viewer/2022022203/5878913f1a28ab375f8b5bbd/html5/thumbnails/13.jpg)
Восемь характеристик менеджера контейнеров
маркировка контеинеров
кэширование артефактов
пространства имен приложении
откат установки
Blue-Green Deployment
Rolling Deployment
проверка состояния
контеинера
ограничения по размещению
![Page 14: Управление контейнерами в облаках](https://reader031.vdocuments.pub/reader031/viewer/2022022203/5878913f1a28ab375f8b5bbd/html5/thumbnails/14.jpg)
1. Container LabellingХарактеристики
Что это такое? ❏ Связать текстовые метки с контейнером и использовать их при выполнении операций.
Примеры использования
❏ Перезагрузить все контейнеры помеченные как “frontend”
❏ Остановить все контейнеры “QA”
Степень поддержки
Cloud Foundry - noneMesos - fullKubernetes - full
![Page 15: Управление контейнерами в облаках](https://reader031.vdocuments.pub/reader031/viewer/2022022203/5878913f1a28ab375f8b5bbd/html5/thumbnails/15.jpg)
2. Artifact Caching
Что это такое? ❏ Быстрое создание одинаковых контейнеров из образа в репозитории
❏ Образ загружается лишь один раз
Примеры использования
❏ Создать 100 одинаковых контейнеров из образа в репозитории
Степень поддержки
Cloud Foundry - partialMesos - fullKubernetes - none
Характеристики
![Page 16: Управление контейнерами в облаках](https://reader031.vdocuments.pub/reader031/viewer/2022022203/5878913f1a28ab375f8b5bbd/html5/thumbnails/16.jpg)
3. Application Namespaces
Что это такое? ❏ Допустимо использовать одинаковые имена приложений в разных пространствах
Примеры использования
❏ Отсутствие конфликтов имен между командами
Степень поддержки
Cloud Foundry - fullMesos - noneKubernetes - full
Характеристики
![Page 17: Управление контейнерами в облаках](https://reader031.vdocuments.pub/reader031/viewer/2022022203/5878913f1a28ab375f8b5bbd/html5/thumbnails/17.jpg)
4. Deployment RollbacksХарактеристики
Что это такое? ❏ Размещение предыдущей версии контейнера при сбое текущей
Примеры использования
❏ Rollback на версию X
Степень поддержки
Cloud Foundry - noneMesos - noneKubernetes - full
![Page 18: Управление контейнерами в облаках](https://reader031.vdocuments.pub/reader031/viewer/2022022203/5878913f1a28ab375f8b5bbd/html5/thumbnails/18.jpg)
5. Blue-Green DeploymentsЧто это такое? ❏ Обновления без остановки сервиса
Примеры использования
❏ У вас есть две копии контейнера - blue и green.❏ Вы обновляете blue. Трафик клиентов обслуживается
только green❏ Если blue работает корректно, трафик клиентов
переключается на него❏ Вы обновляете green
Степень поддержки
Cloud Foundry - fullMesos - fullKubernetes - none
Характеристики
![Page 19: Управление контейнерами в облаках](https://reader031.vdocuments.pub/reader031/viewer/2022022203/5878913f1a28ab375f8b5bbd/html5/thumbnails/19.jpg)
6. Rolling Deployment
Что это такое? ❏ Поэтапное обновление контейнеров
Примеры использования
❏ Обновить несколько контейнеров ❏ Если успешно, то обновить остальные ❏ Иначе - прекратить обновление
Степень поддержки
Cloud Foundry - noneMesos - noneKubernetes - full
Характеристики
![Page 20: Управление контейнерами в облаках](https://reader031.vdocuments.pub/reader031/viewer/2022022203/5878913f1a28ab375f8b5bbd/html5/thumbnails/20.jpg)
7. Health Check
Что это такое? ❏ Способ проверки состояния контейнеров
Примеры использования
❏ TCP порт открыт?❏ HTTP запрос возвращает код 200?❏ Скрипт отрабатывает с кодом 0?❏ Ссылка обновлялась не более 1 мин назад?
Степень поддержки
Cloud Foundry - partialMesos - partialKubernetes - partial
Характеристики
![Page 21: Управление контейнерами в облаках](https://reader031.vdocuments.pub/reader031/viewer/2022022203/5878913f1a28ab375f8b5bbd/html5/thumbnails/21.jpg)
8. Placement Constraints
Что это такое? ❏ Указать физический сервер, который будет запускать контейнеры
Примеры использования
❏ Запустить контейнеры ‘compute’ на серверах с GPU.
❏ Запускать все контейнеры ‘payment processing’ в rack2.
Степень поддержки
Cloud Foundry - noneMesos - fullKubernetes - partial
Характеристики
![Page 22: Управление контейнерами в облаках](https://reader031.vdocuments.pub/reader031/viewer/2022022203/5878913f1a28ab375f8b5bbd/html5/thumbnails/22.jpg)
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
Характеристики
![Page 23: Управление контейнерами в облаках](https://reader031.vdocuments.pub/reader031/viewer/2022022203/5878913f1a28ab375f8b5bbd/html5/thumbnails/23.jpg)
ДемоУправление контейнерами в Cloud Foundry
23