아티클 관련 제품: SparklingSoDA4.0
들어가며
- 스파클링소다는 ssl 인증서를 적용하여 사용할 수 있습니다.
- ssl 인증서가 무엇인지와 어떻게 스파클링소다에 적용하는지 알아보겠습니다.
SSL 인증서란
SSL 은 Secure Sockets Layer의 약자로 웹 브라우저와 웹 서버 간의 암호화된 통신을 가능하게 하는 글로벌 표준 보안 기술입니다.
이 보안 연결을 생성하기 위해 SSL 인증서 ("디지털 인증서"라고도 합니다.)가 웹 서버에 설치되고 두 가지 기능을 제공합니다.
- 웹사이트의 신원을 인증합니다(이것은 방문자가 가짜 사이트에 있지 않다는 것을 보장합니다)
- 전송되는 데이터를 암호화합니다.
스파클링소다에 SSL 인증서 적용하기
스파클링소다 web ui를 ssl 인증서를 적용하여 https 로 접속을 원할 시, cert와 key 파일이 준비되어 있어야 합니다.
Cluster 외부에서 Cluster 내부 서비스로 HTTP와 HTTPS(SSL) 경로를 노출하기 위해 Nginx Ingress를 설치합니다.
이때, 인증키를 k8s secret으로 생성한 뒤, nginx-ingress를 설치하게 됩니다.
스파클링소다에서는 해당 secret을 sodaflow-https-secret 라는 이름으로 생성하게 됩니다.
kubectl describe secret sodaflow-https-secret Name: sodaflow-https-secret Namespace: sodaflow Labels: <none> Annotations: <none> Type: kubernetes.io/tls Data ==== tls.crt: 1099 bytes tls.key: 1704 bytes
kubernetes는 secret의 data가 자동으로 base64 인코딩되어 들어갑니다.
sodaflow-https-secret을 생성했다면, 해당 secret을 arguments로 참조하여 nginx-ingress를 생성하게 됩니다.
이러한 이유로 스파클링소다 ui 접속 시 https로 접속할 수 있게됩니다.
kubectl get po | grep sodaflow-nginx-ingress-controller sodaflow-nginx-ingress-controller-7b55dd5954-skdwd 1/1 Running 12 62d sodaflow-nginx-ingress-controller-7b55dd5954-vl62d 1/1 Running 12 62d sodaflow-nginx-ingress-controller-7b55dd5954-wk2rt 1/1 Running 10 62d
nginx-ingress-controller 생성 시 replicas 값을 3을 주었기 때문에 pod가 3개 생성됩니다.
출력된 pod들 중 하나를 선택해 이름을 복사합니다.
kubectl describe po sodaflow-nginx-ingress-controller-7b55dd5954-skdwd | grep default-ssl-certificate --default-ssl-certificate=sodaflow/sodaflow-https-secret
위 결과처럼 default ssl certificate가 sodaflow-https-secret으로 설정되어 있음을 알 수 있습니다.
마무리
- ssl 인증서가 무엇인지와, 스파클링소다 ui 에 적용하여 https로 접속할 수 있는 방법을 알아보았습니다.
아티클이 유용했나요?
훌륭합니다!
피드백을 제공해 주셔서 감사합니다.
도움이 되지 못해 죄송합니다!
피드백을 제공해 주셔서 감사합니다.
피드백 전송
소중한 의견을 수렴하여 아티클을 개선하도록 노력하겠습니다.