https://kubernetes.io/docs/concepts/storage/storage-classes/
์ฌ์ฉํ ๋์คํฌ์ PV๋ฅผ ์๋์ผ๋ก ์์ฑํด์ค
๊ฐ ์คํ ๋ฆฌ์ง ํด๋์ค๋
provisioner
,parameters
,reclaimPolicy
ํ๋๋ฅผ ๊ฐ์ง๋ค.
- ํด๋์ค์ ์ํ PersistentVolume์ด ๋์ ํ๋ก๋น์ ๋์ ํ์ํ ๋ ์ฌ์ฉ
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: standard provisioner: kubernetes.io/aws-ebs # ํ๋ก๋น์ ๋์ ์ฌ์ฉํ ํ๋ฌ๊ทธ์ธ parameters: #๋งค๊ฐ๋ณ์ type: gp2 reclaimPolicy: Retain allowVolumeExpansion: true mountOptions: - debug volumeBindingMode: Immediate
PVC ํ์ผ์์ spec.storageClassName์ ์์ฑํ์ฌ ์ฐ๊ฒฐ
pv์ storageClassName ํ๋๋ฅผ ์์ฑํ๋ฉด ํด๋น ์ค์ ์ด ์๋ pvc๋๋ง ์ฐ๊ฒฐ๋๊ณ ,
์ค์ ํ์ง ์์ผ๋ฉด .spec.storageClassName ํ๋ ์ค์ ์ด ์๋ pvc๋๋ง ์ฐ๊ฒฐ๋จ
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: slow
provisioner: kubernetes.io/gce-pd
parameters:
type: pd-ssd
fstype: ext4
replication-type: none
ํผ๋ธ๋ฆญ ํด๋ผ์ฐ๋๊ฐ ์๋ ํ๋ผ์ด๋น ํด๋ผ์ฐ๋์์๋ ์คํ ๋ฆฌ์ง ํด๋์ค๋ฅผ ๊ตฌ์ฑํ ์ ์๋ ๋๊ตฌ
- ํ์ผ ์คํ ๋ฆฌ์ง๋ฅผ ๊ฐ์ํ์ํค๋ ํด๋ฌ์คํฐ๋ฅผ ๊ตฌ์ฑ๊ฐ๋ฅํ ์ํํธ์จ์ด
http://rook.io/
git clone --single-branch --branch release-1.7
https://github.com/rook/rook.git
cd rook/cluster/examples/kubernetes/ceph
kubectl create -f crds.yaml -f common.yaml -f operator.yaml
kubectl create -f cluster.yaml
kubectl create -f toolbox.yaml # cep์ํฉ ๋ชจ๋ํฐ๋ง ํด ์ปจํ
์ด๋
kubectl create -f csi/rbd/storageclass.yaml #Container Storage Interface
kubectl -n rook-ceph exec -it $(kubectl -n rook-ceph get pod -l "app=rook-ceph-tools" -o jsonpath='{.items[0].metadata.name}') - bash
ceph status
ceph osd pool status