Utilizzo di file system di rete NBD, 9P, CIFS/Samba e Ceph

In questa pagina viene descritto l'utilizzo della rete NBD, 9P, CIFS/Samba e Ceph con Cloud Run.

Se utilizzi NFS, Filestore o Cloud Storage FUSE su Cloud Run consulta le seguenti pagine:

  • Configurazione del volume NFS per servizi o job
  • Configurazione del volume di Cloud Storage per servizi o job

Puoi usare le reti NBD, 9P, CIFS/Samba e Ceph per condividere e conservare i dati tra più file system di container e servizi in Cloud Run. Questa funzionalità è disponibile solo se utilizzi Cloud Run ambiente di esecuzione di seconda generazione.

Se hai bisogno di leggere e scrivere file nel servizio Cloud Run utilizzando questi file system, hai diverse opzioni:

  • Se non è necessario rendere i dati persistenti oltre la durata dell'istanza, puoi usare il file system della memoria integrato.
  • Se hai bisogno di rendere persistenti i dati oltre la durata delle istanze e vuoi per utilizzare la semantica del file system standard, utilizzare NDB, 9P File system di rete CIFS/Samba e Ceph con Cloud Run.
  • Se devi rendere persistenti i dati oltre la durata dell'istanza e non devi hanno bisogno di semantica del file system standard, l'opzione più semplice è utilizzare le librerie client di Cloud Storage. Questa è anche una buona opzione se hai bisogno per accedere ai dati da molte istanze contemporaneamente.

Limitazioni

Le seguenti considerazioni si applicano all'uso di reti NDB, 9P, CIFS/Samba e Ceph file system su Cloud Run:

  • Devi specificare l'ambiente di esecuzione di seconda generazione quando esegui il deployment in Cloud Run.

  • Cloud Run è progettato per scalare rapidamente di Compute Engine. Tuttavia, la maggior parte dei file system di rete non è progettata per per essere utilizzati da un gran numero di clienti. Valuta l'uso della classe Funzione numero massimo di istanze per limitare la di istanze Cloud Run.

Configurare un file system di rete

Se non hai ancora configurato un file server, segui la guida alle soluzioni File server su Compute Engine per selezionare e configurare il file system più adatto alle tue esigenze. Se utilizzi un file server esistente, assicurati che sia accessibile da una rete VPC

Configura un connettore di accesso VPC serverless

Devi utilizzare il connettore di accesso VPC serverless per connettere servizio Cloud Run alla rete VPC in cui è presente il file system di rete in esecuzione.

Per creare un connettore di accesso VPC serverless sulla stessa rete VPC per connetterti al servizio Cloud Run, segui le istruzioni pagina Connessione a una rete VPC.

Monta il file system dal servizio Cloud Run

Per montare un file system di rete:

  1. Definisci uno script di avvio che avvii l'applicazione e specifichi il montaggio puntare il tuo Dockerfile, utilizzando i seguenti esempi, sostituendo le variabili come necessario:

    • Per NBD

       echo "mounting ext4 image via NBD"
       nbd-client -L -name image IP_ADDRESS DEVICE_NAME
       mount DEVICE_NAME MOUNT_POINT_DIRECTORY

    • Per PD-SSD tramite NBD

       echo "mounting PD-SSD via NBD"
       nbd-client -L -name disk IP_ADDRESS DEVICE_NAME
       mount DEVICE_NAME MOUNT_POINT_DIRECTORY

    • Per 9P

       echo "mounting 9p export"
       mount -t 9p -o trans=tcp,aname=/mnt/diod,version=9p2000.L,uname=root,access=user IP_ADDRESS MOUNT_POINT_DIRECTORY

    • Per SMB

       echo "mounting SMB public share"
       mount -t cifs -ousername=USERNAME,password=PASSWORD,ip=IP_ADDRESS //FILESHARE_NAME MOUNT_POINT_DIRECTORY
       echo "mounts completed"

    di Gemini Advanced.
  2. Definisci la configurazione dell'ambiente con il Dockerfile. Utilizzerai RUN per specificare eventuali pacchetti di sistema aggiuntivi necessari, ad esempio nbd-client per NBD. Utilizza le funzionalità di CMD per specificare il comando da eseguire durante l'esecuzione dell'immagine (lo script di avvio run.sh) e per fornire argomenti predefiniti per ENTRYPOINT, che specifica il file binario del processo di inizializzazione.

Accedi a un file system di rete dal codice di servizio Cloud Run

Per accedere ai file system di rete nel codice del servizio, usa le opzioni Lettura file e e scrivere operazioni come al solito.

Containerizzazione e deployment

Una volta completato il codice del servizio Cloud Run, containerizza ed esegui il deployment durante per un servizio Cloud Run, assicurandoti che Specifica l'ambiente di esecuzione di seconda generazione.

Passaggi successivi