Ceph는 ToolBox를 통해 클러스터의 상태를 알 수 있지만 자체적으로 Dashboard도 제공한다. Kubernetes 환경에서 Ceph Dashboard를 접근해보았다.
1. Ceph Cluster.yaml을 통해 dashboard 활성화
- cluster.yaml을 보면 spec > dashboard 항목이 있다.
spec:
(중략)
dashboard:
enabled: true
port: 8443
ssl: false
최신버전의 ceph는 기본 포트 8443을 사용한다. cluster.yaml을 적용한다.
2. SVC 확인
[root@test]# kubectl get svc -n rook-ceph
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
csi-cephfsplugin-metrics ClusterIP 10.96.155.87 <none> 8080/TCP,8081/TCP 27h
csi-rbdplugin-metrics ClusterIP 10.96.88.38 <none> 8080/TCP,8081/TCP 27h
rook-ceph-mgr ClusterIP 10.96.113.227 <none> 9283/TCP 27h
rook-ceph-mgr-dashboard ClusterIP 10.96.185.75 <none> 8443/TCP 27h
rook-ceph-mgr-dashboard가 생성되어 있다. 여기서 두 가지 방법이 존재한다.
(1) 새로운 SVC 붙여주기
해당 yaml을 통해 NodePort SVC를 생성해준다.
apiVersion: v1
kind: Service
metadata:
name: rook-ceph-mgr-dashboard-external-https
namespace: rook-ceph
labels:
app: rook-ceph-mgr
rook_cluster: rook-ceph
spec:
ports:
- name: dashboard
port: 8443
protocol: TCP
targetPort: 8443
selector:
app: rook-ceph-mgr
rook_cluster: rook-ceph
sessionAffinity: None
type: NodePort
(2) rook-ceph-mgr-dashboard 활용하기
아래 명령어를 통해 rook-ceph-mgr-dashboard svc의 type을 NodePort로 전환해준다. 해당 방법의 경우 다시 ClusterIP로 바꿀 수 없으니 유의한다.
kubectl edit svc -n rook-ceph rook-ceph-mgr-dashboard
--edit-
spec:
ports:
selector:
sessionAffinity:
type: NodePort
3. 접속
SVC를 확인한 후 NodeIP:NodePort를 통해 접속한다. 접속 계정은 admin이며 비밀번호는 다음 명령어를 통해 확인한다.
kubectl -n rook-ceph get secret rook-ceph-dashboard-password -o yaml | grep "password:" | awk '{print $2}' | base64 --decode
한국어를 지원하긴 하는데 조금 허술하다. 그냥 영어로 보는게 편하다.
'Cloud > Kubernetes' 카테고리의 다른 글
Kubernetes Node Fail Test (0) | 2020.04.16 |
---|---|
내 너를 잊지 않겠다... Kubevirt (0) | 2020.04.10 |
NFS를 볼륨으로 사용하는 Pod 만들기 (2) (0) | 2020.02.11 |
NFS를 볼륨으로 사용하는 Pod 만들기 (1) (0) | 2020.02.10 |
ceph osd 생성 안될 때 (0) | 2020.01.09 |