
- issuer : 인증서 주체
-> issuer : 같은 namespace만 인증서 참조 가능
-> clusterissuer : 모든 namespace에서 인증서 참조 가능
-> issuer는 stage(테스트), prod(운영) 환경으로 분리 => stage은 인증서가 발급되지만 '자체서명 인증서'와 같이 작동하기에 먼저 stage환경에서 인증서가 제대로 발급되는지 확인 후 prod환경에서 다시 진행- certificates : 인증서 정의
- secret : 인증서와 비밀키 저장
<각 요소의 역할>
Issuer
Issuer는 cert-manager에서 사용되는 리소스로, TLS 인증서를 발급하는 인증 기관(Certificate Authority, CA)을 정의합니다. Issuer는 특정 CA를 지칭하며, 인증서의 발급을 요청할 때 이 CA를 사용합니다. Issuer는 다음과 같은 항목을 포함할 수 있습니다:
Spec: Issuer의 설정을 정의합니다. 예를 들어, CA 서버의 URL, 인증서 발급을 위한 정보 등이 포함될 수 있습니다.
Status: Issuer의 현재 상태를 나타냅니다. 인증서 발급에 필요한 인증 절차가 완료되었는지, 문제가 발생했는지 등의 정보를 담고 있습니다.
Certificate
Certificate는 TLS 인증서 자체를 나타내는 Kubernetes 리소스입니다. cert-manager에서 발급받은 인증서는 이 Certificate 리소스로 저장되며, 서비스의 TLS 통신을 안전하게 보호하는 데 사용됩니다. Certificate 리소스는 다음과 같은 항목을 포함할 수 있습니다:
Spec: 인증서의 구성 정보를 정의합니다. 주요 항목으로는 인증서의 이름, 발급받은 키와 인증서의 데이터 등이 있습니다.
Status: 인증서의 현재 상태를 나타냅니다. 인증서의 유효성, 발급 상태 등의 정보를 담고 있습니다.
CertificateRequest
CertificateRequest는 TLS 인증서 발급을 요청하는 Kubernetes 리소스입니다. 이 리소스는 cert-manager에서 사용되며, 특정 Issuer에게 인증서 발급을 요청할 때 생성됩니다. CertificateRequest의 주요 항목은 다음과 같습니다:
Spec: 인증서 발급 요청의 구체적인 정보를 정의합니다. 요청할 인증서의 이름, 키 유형, 사용할 Issuer 등이 포함됩니다.
Status: 인증서 발급 요청의 현재 상태를 나타냅니다. 요청이 승인되었는지, 발급 대기 중인지 등의 정보를 담고 있습니다.


- A 레코드 및 AAAA 레코드 부재: Let's Encrypt는 SSL/TLS 인증서를 발급하기 전에 도메인의 소유를 확인하기 위해 DNS 검증을 수행합니다. 이 검증 과정에서 해당 도메인에 대해 유효한 A 레코드(IPv4 주소) 또는 AAAA 레코드(IPv6 주소)가 DNS에 등록되어 있지 않으면 발생합니다.
- DNS 레코드 설정 오류: DNS 설정이 잘못되어 있거나, 다른 이유로 인해 Let's Encrypt가 해당 도메인의 DNS 레코드를 올바르게 찾지 못할 수 있습니다. 예를 들어, 도메인의 A 또는 AAAA 레코드가 잘못 구성되어 있거나, DNS 서버가 제대로 동작하지 않는 경우가 있습니다.
- DNS 변경이 아직 반영되지 않음: 최근에 DNS 레코드를 변경했지만, 이 변경이 DNS 서버에 반영되기까지 시간이 걸릴 수 있습니다. Let's Encrypt는 최신 DNS 레코드를 기준으로 도메인 소유를 확인하므로, 변경 사항이 적용된 후에 다시 시도해야 할 수 있습니다.

- 도메인 소유 확인 실패: Let's Encrypt는 SSL 인증서를 발급하기 전에 도메인 소유를 확인해야 합니다. 이 과정에서 HTTP 또는 DNS 검증 방법을 사용하여 해당 도메인에 접근하고 확인을 시도합니다. 도메인 소유를 확인하는 과정에서 문제가 발생할 수 있습니다.
- 네트워크 또는 서버 문제: SSL 인증서 발급을 위해 사용되는 서버가 접근 가능하지 않거나, 서버에서 발급 요청을 처리하는 데 문제가 발생할 수 있습니다. 예를 들어, 서버가 인터넷에 연결되어 있지 않거나 방화벽이 발급 요청을 막고 있는 경우가 있을 수 있습니다.
- 인증 기관과의 통신 문제: Let's Encrypt와 통신 중 문제가 발생하여 발급 요청이 제대로 처리되지 않을 수 있습니다. 네트워크 또는 인증 기관의 서비스 장애 등이 이에 해당될 수 있습니다.
- 유효하지 않은 인증 요청: 발급 요청이 유효하지 않은 상태일 경우, 예를 들어 요청된 도메인이 잘못된 형식이거나 기타 요구 사항을 충족시키지 못할 경우 발생할 수 있습니다.


ksb-test.r-e.kr 에 대해 액세스할 수 없는 개인 IANA/IETF 예약 IP 주소가 발견되었습니다. Let's Encrypt는 인터넷에서 라우팅할 수 없는 주소를 가리키는 모든 도메인에 대해 항상 HTTP 유효성 검사에 실패합니다. 이 주소를 제거하고 공용 주소로 바꾸거나 대신 DNS 유효성 검사 방법을 사용해야 합니다.