인포그랩
home
회사 소개
home

cert-manager 구축하기

소개

cert-manager는 TLS/SSL 인증서 발급 및 관리를 자동화하는 도구입니다.
먼저, Kubernetes 클러스터에 cert-manager를 설치합니다. 그다음으로, Let's Encrypt와 같은 무료 인증기관(CA: Certificate Authority)에서 인증서를 발급받기 위해 필요한 ACME(Automated Certificate Management Environment) 발급자(Issuer) 정보를 구성합니다. 도메인에 대한 인증서를 발급하는 과정에서 cert-manager는 DNS01 챌린지를 수행하여 DNS에 TXT 레코드를 생성하고 도메인 소유를 확인합니다. 이를 위해서는 cert-manager가 AWS Route 53에 액세스할 수 있도록 AWS IAM 정책을 생성하고, AWS 자격증명을 저장하는 Secret을 생성해야 합니다.
이 실습을 완료하면, 이후 과정에서 배포하게 되는 DevOps 플랫폼 도구에서 cert-manager와 Ingress 리소스를 사용하여 TLS/SSL 인증서를 발급할 수 있습니다.

cert-manager란?

cert-manager는 TLS/SSL 인증서 발급 및 갱신을 자동화하는 도구로, 컨트롤러와 ‘Custom Resource Definitions(CRD)’를 활용하여 간단하게 사용할 수 있습니다.
cert-manager 컨트롤러는 클러스터에서 관련된 리소스와 CRD로 선언된 상태를 지속적으로 추적합니다. CRD는 Kubernetes API의 확장으로 특정 리소스를 정의할 수 있습니다. cert-manager에는 인증서 발급 정보, 수명 주기 등을 정의, 제어하는 데 사용하는 ClusterIssuer, Issuer, Certificate, CertificateRequest, Order, Challenge 커스텀 리소스가 있습니다.

학습 내용

Kubernetes 환경에서 Helm Chart를 통해 cert-manager 배포하는 방법
cert-manager를 통해 ClusterIssue와 Certificate를 생성하는 방법

사전 준비사항

기본 요건

Kubernetes에 대한 기본 개념
Helm에 대한 기본 개념
TLS/SSL 인증서에 대한 이해

필요 항목

cert-manager를 배포할 수 있는 Kubernetes Cluster 환경
Route 53에 도메인 등록 및 레코드 생성이 가능한 AWS 계정
Route 53에 사용할 도메인에 대한 호스팅 영역(hosted zone)