Kf unterstützt das Bereitstellen von NFS-Volumes mit kf marketplace
.
Vorbereitung
NFS-Dienstinstanz erstellen
Führen Sie kf marketplace
aus, um verfügbare Dienste aufzurufen. Der integrierte NFS-Dienst wird in der Liste angezeigt, wenn NFS auf der Plattform aktiviert ist.
Broker Name Namespace Description
nfsvolumebroker nfs mount nfs shares
Externes Dateisystem bereitstellen
Dienstinstanz erstellen
So stellen Sie eine Verbindung zu einem vorhandenen NFS-Dienst her:
kf create-service nfs existing SERVICE-INSTANCE-NAME -c '{"share":"SERVER/SHARE", "capacity":"CAPACITY"}'
Ersetzen Sie die Variablen durch Ihre Werte.
- SERVICE-INSTANCE-NAME ist Ihr gewünschter Name für diese NFS-Volume-Dienstinstanz.
- SERVER/SHARE ist die NFS-Adresse Ihres Servers und Bereichs.
- CAPACITY verwendet das Format Kubernetes-Menge.
Prüfen Sie, ob der NFS-Volume-Dienst in der Liste der Dienste angezeigt wird. Die Ausgabe sollte in etwa so aussehen:
$ kf services
...
Listing services in Space: demo-space
Name Type ClassName PlanName Age Ready Reason
filestore-nfs volume nfs existing 6s True <nil>
...
Dienstinstanz an eine Anwendung binden
Führen Sie den folgenden Befehl aus, um eine NFS-Dienstinstanz an eine Anwendung zu binden:
kf bind-service YOUR-APP-NAME SERVICE-NAME -c '{"uid":"2000","gid":"2000","mount":"MOUNT-PATH","readonly":true}'
Ersetzen Sie die Variablen durch Ihre Werte.
YOUR-APP-NAME ist der Name der Anwendung, für die Sie den Volume-Dienst verwenden möchten.
SERVICE-NAME ist der Name der Volume-Dienstinstanz, die Sie im vorherigen Schritt erstellt haben.
uid
:UID undgid
:GID geben die Verzeichnisberechtigungen der Bereitstellungsfreigabe an.MOUNT-PATH ist der Pfad, in dem das Volume in Ihrer Anwendung bereitgestellt werden soll.
"readonly":true
ist ein optionaler JSON-String, durch den eine schreibgeschützte Bereitstellung erstellt wird. Der Volume-Dienst stellt standardmäßig ein Lese-/Schreibdateisystem bereit.
Mit dem Befehl kf bindings
können Sie alle Bindungen in einem Bereich auflisten: Die Ausgabe sollte in etwa so aussehen:
$ kf bindings
...
Listing bindings in Space: demo-space
Name App Service Age Ready
binding-spring-music-filestore-nfs spring-music filestore-nfs 71s True
...
Volume-Dienst über Ihre Anwendung aufrufen
Für den Zugriff auf den Volume-Dienst über Ihre Anwendung müssen Sie wissen, welcher Dateipfad in Ihrem Code verwendet werden soll. Den Dateipfad sehen Sie in den Details der Dienstbindung, die in den Umgebungsvariablen für Ihre Anwendung sichtbar sind.
Rufen Sie die Umgebungsvariablen für Ihre Anwendung auf.
kf vcap-services YOUR-APP-NAME
Ersetzen Sie YOUR-APP-NAME durch den Namen der Anwendung.
Das folgende Beispiel zeigt die Ausgabe des Befehls 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"
}
]
}
]
}
Verwenden Sie die Attribute unter volume_mounts
, um alle Informationen bereitzustellen, die für Ihre Anwendung erforderlich sind.
Attribut | Beschreibung |
---|---|
container_dir |
String, der den Pfad zum bereitgestellten Volume enthält, das Sie an die Anwendung gebunden haben. |
device_type |
Der NFS-Volume-Release. Derzeit werden nur gemeinsam verwendete Geräte unterstützt. Ein gemeinsam verwendetes Gerät stellt ein verteiltes Dateisystem dar, das auf allen Anwendungsinstanzen gleichzeitig bereitgestellt werden kann. |
mode |
String, der angibt, welche Art von Zugriff Ihre Anwendung auf NFS hat, entweder ro (schreibgeschützt) oder rw (Lese- und Schreibzugriff). |