Albert Weng
Sep 21, 2023

StorageClass: local path provider

今天簡單演示如何在Kubernetes cluster利用local-path provider建構出storage class來提供應用程式進行資料的存放。

每個節點的/opt/local-path-provisioner路徑用來存放資料,預設安裝在local-path-storage namespace。

建議測試使用,實務上建議採用CSI連接到外部儲存。

1. Procedures

*--------------------------------------------
* S1-1. Deploy
*--------------------------------------------
# wget https://raw.githubusercontent.com/rancher/local-path-provisioner/v0.0.24/deploy/local-path-storage.yaml
# kubectl create -f local-path-storage.yaml
*--------------------------------------------
* S1-2. verify
*--------------------------------------------
# kubectl get all -n local-path-storage

2. 部署應用服務

*--------------------------------------------
* S2-1. create app
*--------------------------------------------
# wget https://raw.githubusercontent.com/rancher/local-path-provisioner/master/examples/pvc/pvc.yaml
# wget https://raw.githubusercontent.com/rancher/local-path-provisioner/master/examples/pod/pod.yaml
# kubectl create -f pvc.yaml
# kubectl create -f pod.yaml

# kubectl get pvc
# kubectl get pod
*--------------------------------------------
* S2-2. Write data
*--------------------------------------------
# kubectl exec volume-test -- sh -c "echo local-path-test > /data/test"
# kubectl delete -f pod.yaml
# kubectl create -f pod.yaml (recreate)
# kubectl exec volume-test -- sh -c "cat /data/test"
local-path-test (依然存在)

以上就是最簡單的做法,接下來將分析local volume與hostpath二種做法的差異。

Albert Weng
Albert Weng

Written by Albert Weng

You don't have to be great to start, but you have to start to be great

No responses yet