새소식

Cloud Engineering Log

rook-ceph dashboard의 service ssl + x509 certification 관련 에러

  • -

rook cluster는 위와 같이 설정했을 때, 테스트 단계에서 ssl true + self-signed-cert으로 구성된다.

 

그리고 ssl: false인 경우는 rook-ceph-mgr-dashboard (dashboard enabled인 경우 생성되는 service)의 port가 7000 (http-dashboard)이고,

ssl: true인 경우는 port가 8443 (https-dashboard)로 기본값이 구성되어 있다.

 

그리고 문제는 ssl이 true이고, service가 8443으로 표시되는데 (operator log 확인)

 

정작 이 dashboard를 관리하는 mgr module에서는 요렇게 뜬다.

 

관련 ceph의 issue로는 최근 계속 보고되고 있는 것 같다.

  1. https://github.com/rook/rook/issues/10796
  2. https://github.com/rook/rook/issues/10532
  3. https://github.com/rook/rook/issues/10612

대충 내용을 요약하면, ceph의 config상으로는 ssl true/false에 대해서 service는 잘 생성되지만,

"mgr" 자체에서 deploy하는 port가 7000으로 고정되어버리는 상황이 발생한다.

 

그래서 mgr이 실행되는 pod를 재시작하겠다고 강제 삭제하는 순간부터 엄청나게 꼬인다고도 한다 (...난 이미 삭제후 재실행했는데)

 

 

일단 대책으로 제시된

 

1. cluster config 를 ssl false로 바꿨다가, true로 돌리기

정상적으로 service가 7000(http-dashboard) 포트로 설정된 것을 확인할 수 있다.

다음과 같이 operator logs에도 잘 찍힌다.

 

하지만 다시 ssl true로 하고 실행해도.. 7000으로 실행된다. ssl=no래요 ㅠㅠ

9283은 metric port이다 (prometheus용)

operator를 다시 찍어보면

8443으로 찍히고, 여기 더해서 self-singed cert 관련 에러가 뜬다.

 

요건 이 명령어를 실행하면 된다.

ceph tools에서 ceph dashboard create-self-signed-cert 실행

다만, 가끔 위 명령어가 실행되지 않는 경우에는 기존 key/crt 값을 제거해주면 정상적으로 작동한다.

단, 이 때는 ssl=false 적용한 후 하는 게 좋다. (재생성 후에는 다시 ssl=true)

ceph config-key rm mgr/dashboard/key
ceph config-key rm mgr/dashboard/crt
ceph dashboard create-self-signed-cert

 

 

무튼...

dashboard ssl true를 했는지 더 알아보기 위해 다음과 같은 명령어도 호출해보았다.

 

이정도면... service쪽은 문제가 없는데, mgr 내부 코드의 문제라는 결론이다.

(issue thread에서도 이런 식으로 말이 나온다. )

 

 

일단... 계속 찾아보고 있음 ㅠㅠ

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.