Phần này sẽ là bước tiếp theo sau khi triển khai thành công Kubernetes cluster On-premise (1 master, multiple node) theo kiểu ‘cây nhà lá vườn’.

Tiếp theo mình phải lên phương án chia sẻ dữ liệu, backup các thứ cho hệ thống. Bởi vì các node chạy trên máy ảo nên cần thiết phải có 1 nơi để lưu trữ dữ liệu chung mà các node có thể truy xuất sử dụng.

Mình lại tiếp tục tham khảo theo cách làm của bài viết: Running Postgres in Kubernetes with a Persistent NFS Volume đó là cài đặt NFS server trên Host Machine (tức là máy Desktop làm server) và cài NFS client trên các node Kubernetes

NFS server in Kubernetes cluster

NFS (Network File System) là một hệ thống giao thức chia sẻ file phát triển bởi Sun Microsystems từ năm 1984, cho phép một người dùng trên một máy tính khách truy cập tới hệ thống file chia sẻ thông qua một mạng máy tính giống như truy cập trực tiếp trên ổ cứng.

Cài NFS server

Cài nfs-kernel-server và tạo các thư mục lưu trữ

sudo apt install nfs-kernel-server
sudo mkdir -p /mnt/nfs
sudo mkdir -p /mnt/nfs/data
sudo chown nobody:nogroup /mnt/nfs
sudo chmod 777 /mnt/nfs

Sửa file /etc/exports để cho phép các cluster truy xuất NFS. Lưu ý: 192.168.50.0/24 là subnet của VM

/mnt/nfs 192.168.50.0/24(rw,sync,no_subtree_check,insecure,no_root_squash)

Khởi áp dụng cấu hình và khởi động lại NFS server

sudo exportfs -a
sudo systemctl restart nfs-kernel-server    
sudo exportfs -v

Cài NFS client

Chỉnh sửa roles/k8s/common/defaults/main.yml thêm - name: nfs-common để cài đặt nfs-client

...
- name: kubectl
- name: nfs-common

k8s_common_remove_packages_names:
- name: 
...

Sau đó update lại các VM bằng lênh vagrant up

Cách sử dụng NFS làm Persistent Volumes như thế nào? TBU