Цифровой океан (ДО) — отличная альтернатива многим другим поставщикам облачных услуг. DO предоставляет простой и понятный пользовательский интерфейс, упрощающий управление инфраструктурой и ее масштабирование. Кроме того, у DO отличная документация и активное сообщество, которое предлагает помощь, что делает его отличным выбором для разработчиков всех уровней квалификации.

В рамках оценки я использую DO для размещения кластера Kubernetes, кластера базы данных, Spaces (хранилище, совместимое с s3) и CDN для размещения статических активов. Я проведу вас через процесс настройки бэкенда Pulumi как пространства выполнения. Я использую бэкэнд Spaces, потому что хочу изучить, как можно использовать Pulumi в ситуациях, когда невозможно зарегистрироваться в службе и сохранить состояние на своих серверах, например, в средах с высоким уровнем безопасности или по бизнес-причинам.

Начните установку и настройку базовой конфигурации, следуя Руководству по началу работы с Pulumi Kuberentes. После установки вы должны сначала запустить команду pulumi login --local перед запуском команды pulumi new. Это позволяет вам не создавать логин Pulumi и не позволяет вам использовать службу Pulumi в качестве серверной части.

После того, как вы завершили руководство для начинающих, используйте pulumi logout, чтобы выйти из локальной сессии Pulumi. Это приведет к выходу из текущего сохраненного локального входа в систему, что позволит вам указать на корзину Spaces, чтобы сохранить состояние в одном месте. Затем вы можете установить и настроить AWS CLI, потому что вы будете использовать его для аутентификации пространств DO. После установки aws cli вам нужно будет использовать стандартную команду aws configure --profile digitalocean, чтобы сохранить учетные данные для корзины Spaces. Чтобы получить учетные данные DO, перейдите к облачной панели управления и своему проекту, затем к API на левой панели инструментов, затем к вкладке Spaces Keys, а затем к Generate New Key. Ключ будет соответствовать идентификатору ключа доступа AWS, а секрет будет соответствовать секретному ключу доступа AWS; регион может быть любым допустимым ключом региона, например us-east-1. Я считаю, что aws cli не требуется и что файлы .aws/config и .aws/credentials можно настроить вручную; однако я не проверял эту теорию.

Теперь вы можете войти с помощью:

pulumi login s3://{{YOUR SPACES BUCKET NAME}}/{{SUBFOLDER}}?endpoint={{REGION}}.digitaloceanspaces.com&profile=digitalocean’

Подпапка полезна для настройки нескольких серверных частей Pulumi с одним и тем же сегментом. Параметр endpoint — это регион, в котором было создано пространство, а profile указывает Pulumi использовать настройки профиля AWS для входа в систему.

Чтобы создать новый стек, используйте pulumi stack init dev после входа в систему. После этого вы можете подтвердить развертывание Kubernetes, запустив pulumi up. Теперь вы можете видеть, что состояние было сохранено в пространстве DO. Это позволяет легко управлять и обновлять всю инфраструктуру, а также надежно резервировать состояние в случае возникновения каких-либо проблем или необходимых откатов.

В заключение можно и легко использовать DO Spaces в качестве серверной части Pulumi для хранения и управления состоянием вашей инфраструктуры, обеспечивая ее доступность и согласованность в различных средах и членах команды. Использование DO Spaces в качестве серверной части Pulumi также дает вам безопасное масштабируемое место для хранения состояния вашей инфраструктуры без необходимости в дополнительной инфраструктуре или обслуживании. Это делает его идеальным решением для команд любого размера, стремящихся оптимизировать свои процессы управления инфраструктурой.