Kf permet d'installer des volumes NFS avec kf marketplace
.
Prérequis
Créer une instance de service NFS
Exécutez kf marketplace
pour afficher les services disponibles. Le service NFS intégré apparaît dans la liste si NFS est activé sur la plate-forme.
Broker Name Namespace Description
nfsvolumebroker nfs mount nfs shares
Installer un système de fichiers externe
Créer une instance de service
Pour l'installer sur un service NFS existant, procédez comme suit :
kf create-service nfs existing SERVICE-INSTANCE-NAME -c '{"share":"SERVER/SHARE", "capacity":"CAPACITY"}'
Remplacez les variables par vos valeurs.
- SERVICE-INSTANCE-NAME est le nom souhaité pour cette instance de service de volume NFS.
- SERVER/SHARE est l'adresse NFS de votre serveur et de votre partage.
- CAPACITY utilise le format de quantité Kubernetes.
Vérifiez que le service de volume NFS apparaît dans votre liste de services. Vous pouvez vous attendre à un résultat semblable à celui-ci :
$ kf services
...
Listing services in Space: demo-space
Name Type ClassName PlanName Age Ready Reason
filestore-nfs volume nfs existing 6s True <nil>
...
Lier votre instance de service à une application
Pour lier une instance de service NFS à une application, exécutez la commande suivante :
kf bind-service YOUR-APP-NAME SERVICE-NAME -c '{"uid":"2000","gid":"2000","mount":"MOUNT-PATH","readonly":true}'
Remplacez les variables par vos valeurs.
YOUR-APP-NAME correspond au nom de l'application pour laquelle vous souhaitez utiliser le service de volume.
SERVICE-NAME est le nom de l'instance de service de volume que vous avez créée à l'étape précédente.
uid
:UID etgid
:GID spécifient les autorisations de répertoire du partage d'installation.MOUNT-PATH est le chemin d'installation du volume dans votre application.
(Facultatif)
"readonly":true
est une chaîne JSON facultative qui crée une installation en lecture seule. Par défaut, Volume Services installe un système de fichiers en lecture/écriture.
Vous pouvez regrouper toutes les liaisons dans un espace à l'aide de la commande kf bindings
. Vous obtenez un résultat qui ressemble à l'exemple suivant :
$ kf bindings
...
Listing bindings in Space: demo-space
Name App Service Age Ready
binding-spring-music-filestore-nfs spring-music filestore-nfs 71s True
...
Accéder à Volume Service depuis votre application
Pour accéder au service de volume à partir de votre application, vous devez savoir quel chemin d'accès de fichier utiliser dans votre code. Vous pouvez afficher ce chemin d'accès dans les détails de la liaison de service, qui sont visibles dans les variables d'environnement de votre application.
Affichez les variables d'environnement pour votre application.
kf vcap-services YOUR-APP-NAME
Remplacez YOUR-APP-NAME par le nom de votre application.
Voici un exemple de résultat de la commande 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"
}
]
}
]
}
Utilisez les propriétés sous volume_mounts
pour les informations requises par votre application.
Propriété | Description |
---|---|
container_dir |
Chaîne contenant le chemin d'accès au volume installé que vous avez associé à votre application. |
device_type |
Version du volume NFS. Actuellement, seuls les appareils partagés sont compatibles. Un appareil partagé représente un système de fichiers distribué pouvant être installé simultanément sur toutes les instances de l'application. |
mode |
Chaîne qui indique le type d'accès de votre application à NFS : ro (lecture seule) ou rw (lecture et écriture). |