Прямо сейчас мы пишем новые главы самоучителя!
Эта страница находится в разработке.

Показать, что уже готово

В этой главе мы рассмотрим те аспекты создания приложения, которые необходимы в реальной практике. Мы в меньшей степени будем касаться вопросов установки дополнительных сервисов (Redis, PostgreSQL, Minio и пр.) и больше уделим внимания конфигурированию Golang приложения.

Стоит также отметить, что в самоучителе используется приложение, которое уже соответствует необходимым требованиям со стороны Kubernetes (см. ниже). Однако, когда вы будете реализовывать собственные приложения, возможно, потребуется немного их дорабатывать.

Что за требования?

Наилучшим образом приложения будут работать в Kubernetes, если они соответствуют методологии 12 факторов. В таком случае в Kubernetes работают stateless-приложения, которые не зависят от среды. Это важно, так как кластер может самостоятельно переносить приложения с одного узла на другой, заниматься масштабированием и т.п. — и мы не указываем, где конкретно запускать приложение, а лишь формируем правила, на основании которых кластер принимает свои решения.

Если приложение не соответствует этим требованиям полностью или частично, можно найти обходные пути, однако это непростая задача, рассмотрение которой уходит за рамки данного самоучителя.

Если Ваше приложение, к примеру, хранит файлы на диске и не умеет использовать для этого S3-хранилище — это создаст дополнительные сложности при конфигурировании его в Kubernetes (см. главу “Stateful-приложения”). Зачастую проще переписать приложение, чем создавать дополнительную сложность в инфраструктуре.