Cài đặt và sử dụng NFS CSI Driver (cho Kubernetes)

Điều kiên cần

  • Đã có Cluster với ít nhất 1 Node Group có 1 node trên VKS:

    • Bạn phải khởi tạo thành công một cluster trên nền tảng VKS.

    • Kubernetes version của cluster phải từ 1.21 trở lên.

    • Cluster phải có ít nhất một Node Group đang hoạt động.

    • Nếu chưa có, bạn cần tham khảo và thực hiện theo tài liệu hướng dẫn tại đây.

  • Đã có File Storage (NFS):

    • Bạn phải khởi tạo một File Storage theo giao thức NFS. Dịch vụ này có thể là Public File Storage hoặc Private File Storage.

    • Nếu bạn tạo Private File Storage thì file này phải được tạo trong cùng một VPC với VKS cluster của bạn để đảm bảo kết nối mạng. Chúng có thể nằm trong cùng hoặc khác subnet, miễn là trong cùng một VPC.

    • Nếu chưa có, bạn cần tham khảo và thực hiện theo tài liệu hướng dẫn tại đây.


Cài đặt NFS CSI Driver

Bước 1: Kết nối đến Cluster

  • Đầu tiên, bạn cần tải file cấu hình: Trên giao diện VKS Portal, chọn Download Config File và tải về file kubeconfig. File này chứa thông tin xác thực để kết nối đến cluster.

  • Kiểm tra kết nối: Mở terminal cuar bạn và chạy lệnh sau để xác minh rằng bạn đã kết nối thành công đến cluster:

  • Ví dụ với Cluster bên dưới, tôi đã khởi tạo với 2 nodes:

Bước 2: Cài đặt NFS CSI Driver

  • Chạy lệnh bên dưới để tải về và cài đặt NFS CSI Driver:

  • Sau khi cài đặt, kiểm tra trạng thái các pod qua lệnh:

  • Kết quả mong đợi:

Kết quả như này tức là NFS CSI đã cài đặt thành công và 3 pods cần thiết cho NFS CSI đã hoạt động.


Tạo StorageClass

Storage Class (hay còn được gọi tắt là SC) là một mẫu để tạo ổ đĩa (PersistentVolume) tự động theo nhu cầu.

  • Đầu tiên, bạn cần lấy thông tin mount của File Storage NFS: Trên giao diện File Storage Portal, chọn Mount guide và lưu các thông tin IP cũng như folder thực hiện mount.

  • Bây giờ, bạn hãy tạo Storage Class bằng cách tạo file nfs-sc.yaml với nội dung:

  • Tiếp theo, chạy câu lệnh sau đây để triển khai tạo storage class và kiểm tra thông tin:

  • Kết quả mong muốn:

Tạo và sử dụng PVC

PersistentVolumeClaim (hay còn gọi là PVC) là yêu cầu người dùng gửi ra để xin một ổ đĩa lưu trữ có kích thước cụ thể. Khi bạn tạo một PVC, Kubernetes sẽ dùng SC để tạo hoặc chọn một ổ đĩa phù hợp.

  • Tạo file nfs-pvc.yamlvới nội dung sau:

  • Chạy câu lệnh sau đây để triển khai tạo pvc và kiểm tra việc cài đặt:

  • Kết quả mong muốn:

Deploy ứng dụng sử dụng PVC

Bên dưới là hướng dẫn tạo deployment nginx sử dụng PVC mà bạn vừa tạo bên trên:

  • Tạo file nginx-deployment.yamlvới nội dung sau:

  • Chạy câu lệnh sau đây để triển khai tạo service và deployment:

  • Kết quả mong muốn:


Kiểm tra NFS File Storage sau khi triển khai

  • Đầu tiên, bạn có thể kiểm tra PVC đã bound chưa qua lệnh:

  • Kết quả mong đợi:

  • Bây giờ, bạn có thể Deploy Pod test để ghi dữ liệu bằng cách tạo file test-pod.yaml theo mầu:

  • Chạy câu lệnh sau đây để triển khai tạo pod và kiểm tra:

  • Kết quả mong muốn:

  • Bạn cũng có thể kiểm tra dữ liệu đã ghi qua lệnh:

  • Kết quả mong muốn:

  • Và cuối cùng, bạn có thể kiểm tra usage của File storage thông qua portal.


Advanced Options

Một số option nâng cao bạn có thể sử dụng khi tạo Storage Class:

  • Retain Policy:

  • Delayed Binding:

Last updated