Task #1081
mởTask #895: Build cluster k8s production mới sự dụng ip private cho Medpro
Test Local Static Volumes trên K8s
0%
Mô tả
Mục tiêu: xây dựng giải pháp lưu trữ trên môi trường k8s, phù hợp cho các service có tính năng replica mức app như (MongoDB, Elasticsearch ...)
Phương án: Sử dụng local static persistenc volume
https://github.com/kubernetes-sigs/sig-storage-local-static-provisioner/tree/master/docs
=====
Thực hiện test với 2 VM cài microk8s
B1: Thực hiện tạo folder /mnt/fast-disks trên các node
B2: Format và mount local disk vào folder
mkdir -p /mnt/fast-disks
mkfs.ext4 /dev/sdb
DISK_UUID=$(sudo blkid -s UUID -o value /dev/sdb)
mkdir /mnt/fast-disks/$DISK_UUID
--- Auto mount when boot ---
nano /etc/fstab
/dev/disk/by-uuid/<UUID> /mnt/fast-disks/<UUID> ext4 defaults 0 1
B3: Cài đặt local-provisioning
--- Install Helm ---
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
chmod 700 get_helm.sh
./get_helm.sh
--- Install ---
git clone https://github.com/kubernetes-sigs/sig-storage-local-static-provisioner.git
helm repo add sig-storage-local-static-provisioner https://kubernetes-sigs.github.io/sig-storage-local-static-provisioner
cp sig-storage-local-static-provisioner/helm/provisioner/values.yaml /root/values.yaml
--- Tạo storage class ---
nano local-provisioner.yaml
# Only create this for K8s 1.9+
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: fast-disks
provisioner: kubernetes.io/no-provisioner
volumeBindingMode: WaitForFirstConsumer
# Supported policies: Delete, Retain
reclaimPolicy: Delete
--- Create Provisioner ---
helm install -f values.yaml -n kube-system local-provisioner ./sig-storage-local-static-provisioner/helm/provisioner/
Sau khi tạo provisioner, nếu có bất kì folder nào trong folder /mnt/fast-disks thì provisoner sẽ tạo pv
===
Thử tạo service mongodb với repica=2
===
Sau khi reboot lại node K8s thì pod trên node tự start lại
===
Nhược điểm: khi 1 pvc được tạo, mặc dù cho manual size của pvc nhỏ hơn capacity của pv nhưng pvc vẫn chiếm toàn bộ capacity của pv đó.
Tập tin
Cập nhật bởi Tùng Nguyễn cách đây 3 tháng
- Tập tin clipboard-202408190950-sq2id.png clipboard-202408190950-sq2id.png được thêm
- Tập tin clipboard-202408190950-7f9zy.png clipboard-202408190950-7f9zy.png được thêm
- Mô tả cập nhật (Sự khác nhau)