admission webhook 호출이 x509 expired 오류로 실패하고 인증서 자동 갱신이 진행되지 않는다.
원본은 지원 작업 후 복구됐지만 Secret 일괄 삭제와 1년 연장을 일반적인 무중단 해법으로 단정할 근거는 없다. 이 문서는 공식 갱신 절차로 보완한 조건부 복구안이다.
만료된 인증서의 실제 관리 주체를 확인하고 Certificate 자원은 cmctl renew로 갱신한 뒤 webhook 적용 상태를 검증한다.
확인 수준: 추가 조사 해법 · 해당 케이스 적용 결과 미확인
적용 조건: <...>와 예시 DB·테이블·경로·수치는 실제 확인값으로 바꾼다. 명령과 메뉴는 참고 문서를 바탕으로 보강한 예시이며 대상 시스템에서 실행하지 않았다. 버전·원인에 따른 분기와 남은 확인 사항은 아래에 명시한다.
kubectl get certificates -A
kubectl -n '<namespace>' describe certificate '<certificate-name>'
kubectl -n '<namespace>' get certificaterequests
kubectl -n '<namespace>' get events --sort-by=.lastTimestamp
spec.secretName, issuerRef, Ready condition, Not After, Renewal Time을 확인한다. 실제 Secret의 공개 인증서도 대조한다.kubectl -n '<namespace>' get secret '<tls-secret-name>' -o jsonpath='{.data.tls\.crt}' \
| base64 -d | openssl x509 -noout -dates -issuer -subject
cmctl이 설치돼 있다면 갱신을 요청한다.cmctl renew -n '<namespace>' '<certificate-name>'
kubectl -n '<namespace>' describe certificate '<certificate-name>'
duration, renewBefore를 설정하고 issuer가 허용한 실제 만료일을 확인한다.Certificate Ready, 실제 제공 인증서의 만료일, webhook을 사용하는 시험 리소스 생성, 다음 Renewal Time을 모두 확인한다.