Серверная инфраструктура

Kubernetes

Все наши машины заключены в один Kubernetes кластер. Они составляют один большой организм: окружение разработки и релиза, прокси машины – все легко управляемые как с любой из них, так и с локальных девайсов разработчиков.

Нужно понимать, что во время серьезных решений про систему оркестрации некоторые из нас и простой Docker не до конца умели использовать. Мы опробовали несколько вариантов: чистый k8s, k0s, Rancher k3s – после многочисленных раздумий и переустановок остановились на последнем.

Внутреннее устройство

Внутри кластера все довольно просто: каждая группа ресурсов объединяется в namespace, которые будут зеркально дублироваться для окружений. Например, некоторые из них:

  • dev-databasesprod-databases

  • dev-backend-servicesprod-backend-services

  • dev-minecraft prod-minecraft

Про то, как мы запускаем сервисы и распределяем их по машинам рассказано тут. Про плагины – тут.

Работа с хранилищем

Выделением места под данные занимается local-path-provisioner, который монтирует PV в директорию соответствующей окружению машины. Так мы имеем возможность легко создавать резервные копии, применять их и имеем легкий доступ к любым данным.

Last updated