Topik ini menjelaskan cara menggunakan volume bawaan Kubernetes untuk memasang File Storage NAS pada kluster Kubernetes.
Prasyarat
Sistem file Network File System (NFS) telah dibuat. Untuk informasi lebih lanjut, lihat Buat Sistem File.
Untuk mengenkripsi data dalam sistem file NAS, Anda harus mengonfigurasi jenis enkripsi saat membuat sistem file NAS.
Target mount telah dibuat. Untuk informasi lebih lanjut, lihat Kelola Target Mount.
Kluster Kubernetes yang dikelola sendiri telah dibuat dan versi klusternya adalah 1.16 atau lebih baru.
Port 111 dan port 2049 ditentukan dalam aturan grup keamanan node penjadwalan pod. Untuk informasi lebih lanjut, lihat Tambahkan Aturan Grup Keamanan.
Jika kluster Kubernetes yang dikelola sendiri diterapkan di pusat data, pusat data tersebut harus terhubung ke Alibaba Cloud. Anda dapat menghubungkan pusat data ke Alibaba Cloud menggunakan Express Connect, Smart Access Gateway (SAG), atau VPN Gateway. Untuk informasi lebih lanjut, lihat topik-topik berikut:
Batasan
Batasan pada skenario pemasangan, jumlah sistem file, dan protokol berbagi file bervariasi tergantung pada kelas penyimpanan sistem file NAS. Untuk informasi lebih lanjut, lihat Batasan.
Sebelum melepas sistem file NAS, jangan hapus target mount dari sistem file tersebut. Jika tidak, mungkin terjadi hang pada sistem operasi.
Prosedur
Masuk ke kluster Kubernetes yang dikelola sendiri.
Konfigurasikan node dalam kluster Kubernetes.
CatatanAnda harus mengonfigurasi semua node dalam kluster Kubernetes. Sebelum menambahkan node ke kluster Kubernetes, lakukan langkah-langkah berikut.
Instal klien NFS. Untuk informasi lebih lanjut, lihat Langkah 1: Instal Klien NFS.
Jalankan perintah berikut untuk mengonfigurasi file /etc/nfsmount.conf:
cat <<EOF >> /etc/nfsmount.conf [ Server "file-system-id.region.nas.aliyuncs.com" ] vers=3 Proto=tcp Lock=False resvport=False rsize=1048576 wsize=1048576 hard=True timeo=600 retrans=2 EOFDalam perintah sebelumnya,
file-system-id.region.nas.aliyuncs.comadalah nama domain target mount untuk sistem file NAS. Ganti nama domain dengan nilai aktual. Untuk mendapatkan nama domain target mount, lakukan langkah-langkah berikut: Masuk ke Konsol NAS. Pada halaman Daftar Sistem File, klik ID sistem file. Pada halaman detail, klik tab Mount Targets. Kemudian, arahkan pointer ke ikon
di kolom Target Mount.CatatanKami merekomendasikan Anda menggunakan protokol NFSv3 untuk memasang sistem file NAS.
Semua parameter dalam perintah sebelumnya diperlukan. Anda tidak perlu memodifikasi parameter lain kecuali parameter
file-system-id.region.nas.aliyuncs.comdanvers. Parameter vers menentukan versi protokol.
Verifikasi bahwa sistem file NAS terhubung ke kluster Kubernetes.
Jalankan perintah berikut untuk memasang sistem file NFS:
mount -t nfs file-system-id.region.nas.aliyuncs.com:/ /mntDalam perintah sebelumnya,
file-system-id.region.nas.aliyuncs.comadalah nama domain target mount untuk sistem file NAS. Ganti nama domain dengan nilai aktual.Jika pemasangan gagal,
pingnama domain target mount dan periksa apakah port 2049 terhubung. Jika kegagalan pemasangan tidak disebabkan oleh masalah jaringan, gunakan alat skrip untuk mendiagnosis masalah. Untuk informasi lebih lanjut, lihat Jalankan Skrip Pemeriksaan Otomatis untuk Mendiagnosis Kegagalan Pemasangan Sistem File NFS di Linux.Jalankan perintah berikut untuk melihat informasi pemasangan:
mount | grep nfs | grep mntJika parameter mencakup vers=3, hard, noresvport, dan nolock, jaringan terhubung.

Setelah Anda memastikan bahwa jaringan terhubung, jalankan perintah
umount /mntuntuk menghapus sistem file NFS yang dipasang.
Mulai pod untuk memasang sistem file NFS menggunakan volume bawaan Kubernetes.
Dalam contoh ini, pod bernama nginx dimulai untuk memasang sistem file NFS.
Konfigurasikan file
nginx.yaml.cat << EOF > ./nginx.yaml apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment spec: selector: matchLabels: app: nginx replicas: 1 template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.14.2 ports: - containerPort: 80 volumeMounts: - mountPath: /data name: test-nfs volumes: - name: test-nfs nfs: server: file-system-id.region.nas.aliyuncs.com # Nama domain target mount untuk sistem file NAS. Ganti nama domain dengan nilai aktual. Contoh: 7bexxxxxx-xxxx.ap-southeast-1.nas.aliyuncs.com. path: / # Jalur direktori sistem file NAS. Direktori harus merupakan direktori yang ada atau direktori root. Direktori root sistem file NAS tujuan umum adalah "/". Direktori root sistem file NAS Ekstrem adalah "/share". EOFAktifkan pod nginx untuk menggunakan sistem file NFS.
kubectl apply -f ./nginx.yaml
Periksa apakah pod dimulai sesuai harapan dan apakah sistem file NFS dipasang.
Jalankan perintah berikut untuk memeriksa status pod.
Perintah
kubectl get pods | grep nginxOutput
Jika pod berada dalam keadaan
Running, pod dimulai sesuai harapan.
Jalankan perintah berikut untuk melihat hasil pemasangan.
Perintah
kubectl exec nginx-deployment-9b9b684f5-mgrkh -- df -h /dataOutput
Jika output serupa dengan contoh berikut muncul, pemasangan berhasil.
