반응형
k3s 는 기본으로 로컬 디스크를 pv 로 쓰게 되어 있지만, k8s 는 그렇지 않다.
기본적으로 디스크를 쓰게 만들기 위해서는 local-path 를 StorageClass 에 등록해줘야 한다.
1. 설치
kubectl apply -f https://raw.githubusercontent.com/rancher/local-path-provisioner/v0.0.26/deploy/local-path-storage.yaml
2. 확인
kubectl -n local-path-storage get pod
## 오류발생시 로그확인
kubectl -n local-path-storage logs -f -l app=local-path-provisioner
실제 물리디스크에 생성되는 위치는 /opt/local-path-provisioner 입니다. 워커노드에 각각 생성이 됩니다.
3. 테스트
kubectl create -f https://raw.githubusercontent.com/rancher/local-path-provisioner/master/examples/pvc/pvc.yaml
kubectl create -f https://raw.githubusercontent.com/rancher/local-path-provisioner/master/examples/pod/pod.yaml
4. 테스트-확인
kubectl get pvc
kubectl get pod
# 테스트용 쓰기
kubectl exec volume-test -- sh -c "echo local-path-test > /data/test"
# 삭제후 되살리기
kubectl delete -f https://raw.githubusercontent.com/rancher/local-path-provisioner/master/examples/pod/pod.yaml
kubectl create -f https://raw.githubusercontent.com/rancher/local-path-provisioner/master/examples/pod/pod.yaml
# 데이터 남아있는지 확인
kubectl exec volume-test -- sh -c "cat /data/test"
5. 테스트 흔적 삭제
kubectl delete -f https://raw.githubusercontent.com/rancher/local-path-provisioner/master/examples/pod/pod.yaml
kubectl delete -f https://raw.githubusercontent.com/rancher/local-path-provisioner/master/examples/pvc/pvc.yaml
** 참고사항
accessMode 는 ReadWriteOnce 만 가능한것으로 보임!
** 관련 링크
반응형