Серверная инфраструктура
Kubernetes
Все наши машины заключены в один Kubernetes кластер. Они составляют один большой организм: окружение разработки и релиза, прокси машины – все легко управляемые как с любой из них, так и с локальных девайсов разработчиков.
Нужно понимать, что во время серьезных решений про систему оркестрации некоторые из нас и простой Docker не до конца умели использовать. Мы опробовали несколько вариантов: чистый k8s, k0s, Rancher k3s – после многочисленных раздумий и переустановок остановились на последнем.
Внутреннее устройство
Внутри кластера все довольно просто: каждая группа ресурсов объединяется в namespace, которые будут зеркально дублироваться для окружений. Например, некоторые из них:
dev-databases
–prod-databases
dev-backend-services
–prod-backend-services
dev-minecraft
–prod-minecraft
Про то, как мы запускаем сервисы и распределяем их по машинам рассказано тут. Про плагины – тут.
Работа с хранилищем
Выделением места под данные занимается local-path-provisioner, который монтирует PV в директорию соответствующей окружению машины. Так мы имеем возможность легко создавать резервные копии, применять их и имеем легкий доступ к любым данным.
Last updated