Google Cloud Storage - это API хранилища объектов, а не файловая система. В результате, он не предназначен для «монтирования» в виртуальной машине. Он спроектирован так, чтобы быть очень долговечным и масштабируемым для необычайно больших объектов (и большого числа объектов).
Хотя вы можете использовать gcsfuse для монтирования его в качестве файловой системы, этот метод имеет довольно существенныенедостатки. Например, подсчет операций может быть дорогостоящим для выполнения даже простых операций для нормальной файловой системы.
Аналогично, существует множество неожиданных действий , которые являются результатомтот факт, что это объект хранилища. Например, вы не можете редактировать объекты - они неизменны. Чтобы создать иллюзию записи в середине объекта, этот объект, по сути, удаляется и воссоздается всякий раз, когда происходит вызов close()
или fsync()
.
Лучший способ использования GCS - этоРазработайте ваше приложение для непосредственного использования API (или S3-совместимого API ). Таким образом, семантика хорошо понимается приложением, и вы можете оптимизировать их, чтобы повысить производительность и контролировать свои расходы. Таким образом, чтобы получить к нему доступ из вашего докер-контейнера, убедитесь, что ваш контейнер имеет способ аутентификации через GCS (либо с помощью учетных данных в экземпляре, либо путем развертывания ключа для учетной записи службы с необходимыми разрешениями для доступазатем приложение будет вызывать API напрямую.
Наконец, если вам нужна файловая система, а не GCS, Google Cloud предлагает по крайней мере 2 других варианта, если вам нужен большой монтируемый модуль. файловая система, разработанная для этого конкретного случая использования:
- Persistent Disk , которая является базовой файловой системой, которую вы получаете с виртуальной машиной, но вы можете смонтировать многие из этих устройств наодиночная ВМ. Однако вы не можете монтировать их для чтения / записи одновременно на несколько виртуальных машин - если вам нужно подключить несколько виртуальных машин, постоянный диск должен быть доступен только для чтения для всех экземпляров, к которым он подключен.
- Облачное хранилище файлов - это управляемая служба, предоставляющая сервер NFS перед постоянным диском. Таким образом, файловая система может быть смонтирована для чтения / записи и может использоваться несколькими виртуальными машинами. Однако он значительно дороже (на момент написания этой статьи, около 0,20 долл. США / ГБ / месяц против 0,04 долл. США / ГБ / месяц в
us-central1
), чем PD, и существуют минимальные требования к размеру (1 ТБ).