<aside> 💡 해당 내용은 Cert-Manager와 let’s encrypt를 사용하여 적용하는 내용입니다. DNS는 가비아(유료)를 사용하고 있습니다.

</aside>

Cert-Manager란?

Cert-Manager는 Kubernetes 환경에서 SSL/TLS 인증서를 자동으로 발급, 갱신, 관리하는 오픈소스 도구입니다. (https://cert-manager.io/docs/)

Cert-Manager 설치 (Helm 차트)

쿠버네티스에 Cert-Manager를 설치하는 방법 중에서 Helm을 이용해서 설치해보도록 하겠습니다. (설치 버전은 1.14.4 입니다.)

  1. Helm Repo 등록하기
$ helm repo add jetstack <https://charts.jetstack.io>
$ helm repo update
  1. Helm으로 Cert-Manager 설치
$ helm install cert-manager jetstack/cert-manager --namespace cert-manager --create-namespace
  1. 정상적으로 설치되었는지 확인하기
$ kubectl get po -n cert-manager

NAME                                      READY   STATUS    RESTARTS   AGE
cert-manager-6dc66985d4-msfrf             1/1     Running   0          1d
cert-manager-cainjector-c7d4dbdd9-ds6ll   1/1     Running   0          1d
cert-manager-webhook-847d7676c9-fk5vq     1/1     Running   0          1d

Issuer 등록 (ACME 방법 - **https://cert-manager.io/docs/configuration/acme/**)

cert-manager의 Issuer는 인증서 발급을 관리하고 자동화하는 데 사용되는 리소스입니다.

Issuer는 인증서를 발급하기 위한 설정을 정의하며, cert-manager가 Kubernetes 클러스터 내에서 인증서를 요청하고 갱신하는 데 필요한 정보와 규칙을 제공합니다.

Cert-Manager에서는 2가지 Issuer를 제공합니다.