Kubernetes для тех, кому за 30Инфраструктурная платформа
Про kubernetes сейчас говорят часто, громко и восхищенно.
Мы в okmeter.io в какой-то момент поняли, что нам тоже нужен k8s в production, хотя у нас нет даже CI/CD, но есть задача делить общий пул серверов между приложениями и достаточно легко добавлять мощности в кластер. При этом был ряд обстоятельств, которые усложняли внедрение k8s:
* мы очень заботимся об отказоустойчивости (мы не притаскиваем новые технологии в prod, пока не разберемся в них на достаточном уровне);
* у нас есть сервисы со временем ответа < 10ms;
* у нас очень мало человеческих ресурсов на эту задачу (узнать 10 новых терминов ОК, 50 - уже нет).
В докладе я расскажу, как нам все-таки удалось решить эту задачу:
* HA k8s на bare metal из зубочисток и синей изоленты.
* Сеть k8s: как мы чуть не внедрили аппаратную виртуализацию сети для подов (sriov), но потом успокоились и взяли flannel host-gw. Как обеспечивали связность k8s кластера и соседних серверов.
* Почему мы не используем k8s service network, а делаем headless-сервисы и используем envoy+dns discovery везде, где только можно.
* Как мы готовили наши НЕ cloud native-приложения работать в k8s.
* Неочевидные проблемы в ограничении ресурсов.
Многие наши решения при этом не очень изящные (мягко говоря), но мы добились нужного баланса от внедрения k8s (порог входа VS плюшки k8s VS контроль VS производительность).