Kf supporta il montaggio dei volumi NFS utilizzando kf marketplace
.
Prerequisiti
Completa la configurazione della piattaforma NFS.
Crea un'istanza di servizio NFS
Esegui kf marketplace
per visualizzare i servizi disponibili. Il servizio NFS integrato viene visualizzato nell'elenco se NFS è abilitato sulla piattaforma.
Broker Name Namespace Description
nfsvolumebroker nfs mount nfs shares
Montare un file system esterno
Crea un'istanza di servizio
Per eseguire il montaggio su un servizio NFS esistente:
kf create-service nfs existing SERVICE-INSTANCE-NAME -c '{"share":"SERVER/SHARE", "capacity":"CAPACITY"}'
Sostituisci le variabili con i tuoi valori.
- SERVICE-INSTANCE-NAME è il nome che vuoi assegnare a questa istanza di servizio del volume NFS.
- SERVER/SHARE è l'indirizzo NFS del tuo server e della tua condivisione.
- CAPACITY utilizza il formato quantità Kubernetes.
Verifica che il servizio del volume NFS venga visualizzato nell'elenco dei servizi. Puoi aspettarti un output simile a questo esempio:
$ kf services
...
Listing services in Space: demo-space
Name Type ClassName PlanName Age Ready Reason
filestore-nfs volume nfs existing 6s True <nil>
...
Collega l'istanza di servizio a un'app
Per associare un'istanza del servizio NFS a un'app, esegui:
kf bind-service YOUR-APP-NAME SERVICE-NAME -c '{"uid":"2000","gid":"2000","mount":"MOUNT-PATH","readonly":true}'
Sostituisci le variabili con i tuoi valori.
YOUR-APP-NAME è il nome dell'app per cui vuoi utilizzare il servizio di acquisto di grandi volumi.
SERVICE-NAME è il nome dell'istanza del servizio di volumi che hai creato nel passaggio precedente.
uid
:UID egid
:GID specificano le autorizzazioni della directory della condivisione di montaggio.MOUNT-PATH è il percorso in cui deve essere montato il volume all'interno dell'app.
(Facoltativo)
"readonly":true
è una stringa JSON facoltativa che crea un montaggio di sola lettura. Per impostazione predefinita, Volume Services monta un file system di lettura/scrittura.
Puoi elencare tutti i binding in uno spazio utilizzando il comando kf bindings
. Vedrai un output simile a questo esempio:
$ kf bindings
...
Listing bindings in Space: demo-space
Name App Service Age Ready
binding-spring-music-filestore-nfs spring-music filestore-nfs 71s True
...
Accedere al servizio di volume dall'app
Per accedere al servizio di volume dalla tua app, devi sapere quale percorso del file utilizzare nel codice. Puoi visualizzare il percorso del file nei dettagli del binding del servizio, che sono visibili nelle variabili di ambiente per la tua app.
Visualizza le variabili di ambiente per la tua app:
kf vcap-services YOUR-APP-NAME
Sostituisci YOUR-APP-NAME con il nome della tua app.
Di seguito è riportato un output di esempio del comando kf vcap-services
:
kf vcap-services *YOUR-APP-NAME*
{
"nfs": [
{
"instance_name": "nfs-instance",
"name": "nfs-instance",
"label": "nfs",
"tags": [],
"plan": "existing",
"credentials": {
"capacity": "1Gi",
"gid": 2000,
"mount": "/test/mount",
"share": "10.91.208.210/test",
"uid": 2000
},
"volume_mounts": [
{
"container_dir": "/test/mount",
"device_type": "shared",
"mode": "rw"
}
]
}
]
}
Utilizza le proprietà in volume_mounts
per tutte le informazioni richieste dalla tua app.
Proprietà | Descrizione |
---|---|
container_dir |
Stringa contenente il percorso del volume montato a cui hai eseguito il binding della tua app. |
device_type |
Il rilascio del volume NFS. Al momento questa funzionalità supporta solo i dispositivi condivisi. Un dispositivo condiviso rappresenta un file system distribuito che può essere montato su tutte le istanze dell'app contemporaneamente. |
mode |
Stringa che indica il tipo di accesso dell'app a NFS, ovvero ro (sola lettura) o rw (lettura e scrittura). |