폐쇄망 rook-ceph 설치
1.ceph를 사용할 노드에 라벨링
#노드라벨확인
k get nodes --show-labels
#필요한 노드에 ceph용 라벨적용
k label nodes <노드이름> storage=ceph
1. rook operator 설치
k create -f crds.yaml
k create -f common.yaml
k create -f operator.yaml
#아래 파라미터 설정확인
CSI_PROVISIONER_NODE_AFFINITY: "storage=ceph" #라벨이 된 노드에만 ceph osd 구동
CSI_PLUGIN_NODE_AFFINITY: "storage=ceph" #plugin node affinity설정
ROOK_ENABLE_DISCOVERY_DAEMON: "true" #자동감지daemon실행
ROOK_DISCOVER_DEVICES_INTERVAL: "5m" #새 디스크 detect주기
그외 replica개수, 이미지경로, 등 확인
#잘구동되었나확인
k get po -n rook-ceph
->아래 pod들 확인
rook-discover (노드 개수만큼 떠야)
rook-ceph-operator
3. ceph cluster 설치
k create -f cluster.yaml
4.모니터링
kubectl create -f toolbox.yaml
kubectl -n rook-ceph exec -it deploy/rook-ceph-tools -- bash
으로 pod접속후 아래와 같은 명령어들을 사용할 수 있음
ceph status
ceph osd status
ceph df
rados df
이중 ceph status를 실행해서
mon이 다 잘 떠있고 quorum을 잘구성했으며
health_ok라고 뜨면 정상적으로 동작하고 있다고 볼수있다.
추가) k8s default storageclass로 지정
k patch storageclass rook-ceph-block -p '{"metadata":{"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'