# Kubernetes (k8s)

[Kubernetes](https://github.com/kubernetes/kubernetes) - это проект с открытым исходным кодом для управления “флотом” контейнеров на нескольких хостах, объединенных в кластер. Данный инструмент призван обеспечить основные механизмы развертывания, обслуживания и масштабирования приложений, упакованных в контейнеры.

Разработка Kubernetes была начата в Google, которая уже более десяти лет использует похожий инструмент (закрытый и недоступный для сообщества) для оркестрации контейнеров - Borg. В данный момент Kubernetes передан под управление Cloud Native Computing Foundation (CNCF) и теперь поддерживается многими компаниями, в том числе Microsoft, RedHat, IBM и Docker.

Kubernetes работает на Google Compute Engine (GKE) и с некоторыми особенностями на виртуалках других облачных провайдеров (AWS, Azure).

Если вы используете контейнеры (docker - под контейнером понимается упакованное приложение с необходимыми для работы зависимостями), то рано или поздно возникает вопрос с развертыванием, обновлением, масштабированием контейнеров, балансировкой траффика между ними, обнаружением сервисов и т. д. Именно эти (и некоторые другие) проблемы и призван решить Kubernetes.

Описываем желаемое состояние вашего приложения (например, количество реплик или размещение на определенном хосте) и Kubernetes сделает все необходимое для обеспечения соответствия текущей инфраструктуры желаемой - будет запускать поды (группы из одного или нескольких контейнеров), реплицировать их, “поднимать”, если некоторые поды “упадут” и т.д..

---------

[4.3.6.1 Orchestrators Theme](./4.3.6.1%20Orchestrators.md) | [Back To iTWiki Contents](https://github.com/eldaroid/iTWiki) | [4.3.6.3 Openshift Theme](./4.3.6.3%20Openshift.md)