Kubernetes
Kubernetes применяется для автоматизации развёртывания, масштабирования и управления контейнеризированными приложениями, в качестве средства контейнеризации в Kubernetes обычно используется Docker.
Изначально Kubernetes был разработан компанией Google (система называлась Google Borg), а впоследствии был передан в Cloud Native Computing Foundation. В Kubernetes реализовано управление набором контейнеров как единой системой: Kubernetes разворачивает контейнеры на узлах кластера в нужном количестве экземпляров, следит за их работоспособностью и при необходимости перезапускает их, а также осуществляет балансировку нагрузки и своевременное масштабирование системы. В Kubernetes используется декларативный подход — описывается целевое состояние системы, а не способ его достижения.
Docker — ПО для автоматизации развёртывания и управления контейнеризованными приложениями.
Docker позволяет «упаковать» разработанное приложение со всеми его зависимостями и окружением в один контейнер, который может быть перенесён и запущен на другой системе. Docker обеспечивает изоляцию запускаемых на узле контейнеров на уровне файловой системы, процессов и сети. Всё это сильно упрощает тестирование и разворачивание приложений.