Pemasangan volume Cloud Storage untuk layanan

Halaman ini menunjukkan cara memasang bucket Cloud Storage sebagai volume penyimpanan, menggunakan pemasangan volume Cloud Run.

Memasang bucket sebagai volume di Cloud Run akan menampilkan konten bucket sebagai file dalam sistem file container, yang memungkinkan penggunaan operasi dan library sistem file standar untuk mengakses sistem file tersebut.

Persyaratan memori

Pemasangan volume Cloud Storage menggunakan memori container Cloud Run untuk aktivitas berikut:

  • Untuk semua caching FUSE Cloud Storage, Cloud Run secara default menggunakan setelan cache statistik dengan Time-to-live (TTL) selama 60 detik. Ukuran maksimum default cache statistik adalah 32 MB, ukuran maksimum default dari jenis cache adalah 4 MB.

  • Saat membaca, Cloud Storage FUSE juga menggunakan memori selain cache statistik dan jenis, misalnya array 1 MiB untuk setiap file yang sedang dibaca dan untuk goroutine.

  • Saat menulis ke Cloud Storage, seluruh file di-stage di memori Cloud Run sebelum file ditulis ke Cloud Storage.

Batasan

Cloud Run menggunakan Cloud Storage FUSE untuk pemasangan volume ini. Jadi, ada beberapa hal yang perlu diingat saat memasang bucket Cloud Storage sebagai volume:

  • Cloud Storage FUSE tidak memberikan kontrol serentak untuk beberapa penulisan (penguncian file) ke file yang sama. Ketika beberapa penulisan mencoba mengganti file, penulisan terakhir akan menang dan semua penulisan sebelumnya hilang.
  • Cloud Storage FUSE bukan sistem file yang sepenuhnya mematuhi POSIX. Untuk mengetahui detail selengkapnya, baca dokumentasi Cloud Storage FUSE.

Sebelum memulai

Anda memerlukan bucket Cloud Storage agar terpasang sebagai volume.

Peran yang diperlukan

Untuk mendapatkan izin yang Anda perlukan guna mengonfigurasi pemasangan volume Cloud Storage, minta administrator untuk memberi Anda peran IAM berikut:

Untuk mendapatkan izin yang diperlukan identitas layanan untuk mengakses file dan bucket Cloud Storage, minta administrator Anda untuk memberikan peran IAM berikut kepada identitas layanan:

Untuk mengetahui detail selengkapnya tentang peran dan izin Cloud Storage, lihat IAM untuk Cloud Storage.

Untuk daftar peran dan izin IAM yang terkait dengan Cloud Run, lihat Peran IAM Cloud Run dan izin IAM Cloud Run. Jika layanan Cloud Run Anda berinteraksi dengan Google Cloud API, seperti Library Klien Cloud, lihat panduan konfigurasi identitas layanan. Untuk mengetahui informasi selengkapnya tentang memberikan peran, lihat izin deployment dan mengelola akses.

Memasang volume Cloud Storage

Anda dapat memasang beberapa bucket di jalur pemasangan yang berbeda. Anda juga dapat memasang volume ke lebih dari satu container menggunakan jalur pemasangan yang sama atau berbeda di seluruh container.

Jika Anda menggunakan beberapa container, tentukan volume terlebih dahulu, lalu tentukan pemasangan volume untuk setiap container.

Pemasangan volume memerlukan lingkungan eksekusi generasi kedua. Cloud Run secara otomatis memilih lingkungan eksekusi generasi kedua untuk layanan Anda jika tidak ada lingkungan eksekusi yang dikonfigurasi secara eksplisit.

Konsol

  1. Di konsol Google Cloud, buka Cloud Run:

    Buka Cloud Run

  2. Klik Buat Layanan jika Anda mengonfigurasi layanan baru yang akan di-deploy. Jika Anda mengonfigurasi layanan yang ada, klik layanan, lalu klik Edit and deploy new revision.

  3. Jika Anda mengonfigurasi layanan baru, isi halaman setelan layanan awal sesuai keinginan, kemudian klik Container, vo;ume, jejaring, sekuritas untuk memperluas halaman konfigurasi layanan.

  4. Klik tab Volume.

    gambar

      • Klik Tambahkan volume.
      • Di drop-down Volume type, pilih bucket Cloud Storage sebagai jenis volume.
      • Pada kolom Nama volume, masukkan nama yang ingin Anda gunakan untuk volume.
      • Jelajahi dan pilih bucket Cloud Storage yang akan digunakan untuk volume, atau, secara opsional, buat bucket baru.
      • Jika Anda ingin membuat bucket hanya-baca, pilih kotak centang Hanya baca.
      • Klik Selesai.
      Klik tab Container:
      • Klik tab Volume Mount.
      • Klik Pasang volume.
      • Pilih volume penyimpanan dari menu.
      • Tentukan jalur tempat Anda ingin memasang volume.
      • Klik Done
  5. Klik Buat atau Deploy.

Command line

Catatan: kami menunjukkan perintah gcloud beta run services update, tetapi Anda juga dapat menggunakan perintah gcloud beta run deploy dengan parameter yang sama seperti yang ditunjukkan.

  • Untuk menambahkan volume dan memasangnya:

    gcloud beta run services update SERVICE \
    --execution-environment gen2 \
    --add-volume name=VOLUME_NAME,type=cloud-storage,bucket=BUCKET_NAME \
    --add-volume-mount volume=VOLUME_NAME,mount-path=MOUNT_PATH

    Ganti:

    • SERVICE dengan nama layanan Anda.
    • MOUNT_PATH dengan jalur relatif tempat Anda memasang volume, misalnya, /cache.
    • VOLUME_NAME dengan nama apa pun yang Anda inginkan untuk volume. Nilai VOLUME_NAME digunakan untuk memetakan volume ke pemasangan volume.
    • BUCKET_NAME dengan nama bucket Cloud Storage Anda.
  • Untuk memasang volume sebagai volume hanya baca:

--add-volume=name=VOLUME_NAME,type=cloud-storage,bucket=BUCKET_NAME,readonly=true
  • Jika Anda menggunakan beberapa container, tentukan volume terlebih dahulu, lalu tentukan pemasangan volume untuk setiap container:

    gcloud beta run services update SERVICE \
    --add-volume name=VOLUME_NAME,type=cloud-storage,bucket=BUCKET_NAME \
    --container CONTAINER_1 \
    --add-volume-mount volume=VOLUME_NAME,mount-path=MOUNT_PATH \
    --container CONTAINER_2 \
    --add-volume-mount volume=VOLUME_NAME,mount-path=MOUNT_PATH2

YAML

  1. Jika Anda membuat layanan baru, lewati langkah ini. Jika Anda mengupdate layanan yang ada, download konfigurasi YAML:

    gcloud run services describe SERVICE --format export > service.yaml
  2. Perbarui sesuai kebutuhan.

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
      annotations:
        run.googleapis.com/launch-stage: BETA
    spec:
      template:
        metadata:
          annotations:
            run.googleapis.com/execution-environment: gen2
        spec:
          containers:
          - image: IMAGE_URL
            volumeMounts:
            - name: VOLUME_NAME
              mountPath: MOUNT_PATH
          volumes:
          - name: VOLUME_NAME
            csi:
              driver: gcsfuse.run.googleapis.com
              readOnly: IS_READ_ONLY
              volumeAttributes:
                bucketName: BUCKET_NAME

    Ganti

    • IMAGE_URL dengan referensi ke image container misalnya, us-docker.pkg.dev/cloudrun/container/hello:latest. Jika Anda menggunakan Artifact Registry, repositori REPO_NAME harus sudah dibuat. URL berbentuk LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
    • MOUNT_PATH dengan jalur relatif tempat Anda memasang volume, misalnya, /cache.
    • VOLUME_NAME dengan nama apa pun yang Anda inginkan untuk volume. Nilai VOLUME_NAME digunakan untuk memetakan volume ke pemasangan volume.
    • IS_READ_ONLY dengan True untuk membuat volume menjadi hanya baca, atau False untuk mengizinkan penulisan.
    • BUCKET_NAME dengan nama bucket Cloud Storage.
  3. Ganti layanan dengan konfigurasinya yang baru menggunakan perintah berikut:

    gcloud run services replace service.yaml

Melihat setelan Pemasangan volume

Untuk melihat setelan Pemasangan Volume saat ini untuk layanan Cloud Run Anda:

Konsol

  1. Di konsol Google Cloud, buka Cloud Run:

    Buka Cloud Run

  2. Klik layanan yang Anda minati untuk membuka halaman Detail layanan.

  3. Klik tab Revisi.

  4. Di panel detail di sebelah kanan, setelan Pemasangan volume tercantum di bagian tab Volume.

Command line

  1. Gunakan perintah berikut:

    gcloud run services describe SERVICE
  2. Temukan setelan Pemasangan Volume di konfigurasi yang ditampilkan.