Mengonfigurasi volume NFS

Kf mendukung pemasangan volume NFS menggunakan kf marketplace.

Prasyarat

Selesaikan penyiapan platform NFS.

Membuat instance layanan NFS

Jalankan kf marketplace untuk melihat layanan yang tersedia. Layanan NFS bawaan akan muncul dalam daftar jika NFS diaktifkan di platform.

Broker           Name  Namespace  Description
nfsvolumebroker  nfs              mount nfs shares

Memasang sistem file eksternal

Membuat instance layanan

Untuk memasang ke layanan NFS yang ada:

kf create-service nfs existing SERVICE-INSTANCE-NAME -c '{"share":"SERVER/SHARE", "capacity":"CAPACITY"}'

Ganti variabel dengan nilai Anda.

  • SERVICE-INSTANCE-NAME adalah nama yang Anda inginkan untuk instance layanan volume NFS ini.
  • SERVER/SHARE adalah alamat NFS server dan berbagi Anda.
  • CAPACITY menggunakan format jumlah Kubernetes.

Pastikan layanan volume NFS muncul dalam daftar layanan Anda. Anda akan mendapatkan output yang mirip dengan contoh ini:

$ kf services
...
Listing services in Space: demo-space
Name                Type      ClassName         PlanName  Age    Ready  Reason
filestore-nfs       volume    nfs               existing  6s     True   <nil>
...

Mengikat instance layanan ke Aplikasi

Untuk mengikat instance layanan NFS ke Aplikasi, jalankan:

kf bind-service YOUR-APP-NAME SERVICE-NAME -c '{"uid":"2000","gid":"2000","mount":"MOUNT-PATH","readonly":true}'

Ganti variabel dengan nilai Anda.

  • YOUR-APP-NAME adalah nama Aplikasi yang layanan volumenya ingin Anda gunakan.

  • SERVICE-NAME adalah nama instance layanan volume yang Anda buat di langkah sebelumnya.

  • uid:UID dan gid:GID menentukan izin direktori dari berbagi pemasangan.

  • MOUNT-PATH adalah jalur tempat volume harus dipasang dalam Aplikasi Anda.

  • (Opsional) "readonly":true adalah string JSON opsional yang membuat pemasangan hanya baca. Secara default, Layanan Volume memasang sistem file baca-tulis.

Anda dapat mencantumkan semua binding di Ruang menggunakan perintah kf bindings. Anda akan melihat output yang mirip dengan contoh ini:

$ kf bindings
...
Listing bindings in Space: demo-space
Name                                     App           Service             Age  Ready
binding-spring-music-filestore-nfs       spring-music  filestore-nfs       71s  True
...

Mengakses layanan volume dari Aplikasi Anda

Untuk mengakses layanan volume dari Aplikasi, Anda harus mengetahui jalur file yang akan digunakan dalam kode. Anda dapat melihat jalur file dalam detail binding layanan, yang terlihat di variabel lingkungan untuk Aplikasi Anda.

Lihat variabel lingkungan untuk Aplikasi Anda:

kf vcap-services YOUR-APP-NAME

Ganti YOUR-APP-NAME dengan nama Aplikasi Anda.

Berikut adalah contoh output perintah 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"
        }
      ]
    }
  ]
}

Gunakan properti di bagian volume_mounts untuk informasi apa pun yang diperlukan oleh Aplikasi Anda.

Properti Deskripsi
container_dir String yang berisi jalur ke volume yang dipasang yang Anda ikat ke Aplikasi.
device_type Rilis volume NFS. Saat ini, fitur ini hanya mendukung perangkat bersama. Perangkat bersama mewakili sistem file terdistribusi yang dapat dipasang di semua instance Aplikasi secara bersamaan.
mode String yang menginformasikan jenis akses yang dimiliki Aplikasi Anda ke NFS, baik ro (hanya baca), atau rw (baca dan tulis).