Killer Shell CKA - Cluster Certificate Management

Jmnote (토론 | 기여)님의 2025년 10월 29일 (수) 19:31 판 (새 문서: ==개요== ;Killer Shell CKA - Cluster Certificate Management * https://killercoda.com/killer-shell-cka/scenario/cluster-certificate-management * kubeadm을 사용해 ** apiserver...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

1 개요[ | ]

Killer Shell CKA - Cluster Certificate Management

2 요구사항[ | ]

  • controlplane 노드에서 수행
  • apiserver 인증서 만료일을 /root/apiserver-expiration 파일에 기록
  • apiserver, scheduler.conf 인증서 갱신 후 상태 확인

3 작업 1: apiserver 인증서 만료일 조회 및 저장[ | ]

  • 만료일 표를 확인한다.
controlplane:~$ kubeadm certs check-expiration
CERTIFICATE                EXPIRES                  RESIDUAL TIME   CERTIFICATE AUTHORITY
admin.conf                 Apr 12, 2026 10:15 UTC   364d            ca
apiserver                  Apr 12, 2026 10:15 UTC   364d            ca
...
  • apiserver 행의 EXPIRES 값을 파일로 저장한다. 아래 방법 중 하나를 사용한다.
    • sed로 “UTC”까지 캡처하여 저장
kubeadm certs check-expiration \
  | sed -n 's/^ *apiserver \+\(.*UTC\).*/\1/p' > /root/apiserver-expiration
    • awk로 고정 필드(2~6열: Month Day, Year HH:MM UTC)만 저장
kubeadm certs check-expiration \
  | awk '$1=="apiserver"{print $2, $3, $4, $5, $6}' > /root/apiserver-expiration
  • 확인
controlplane:~$ cat /root/apiserver-expiration
Apr 12, 2026 10:15 UTC

4 작업 2: 인증서 갱신(apiserver, scheduler.conf)[ | ]

  • apiserver 및 scheduler.conf 인증서를 갱신한다.
controlplane:~$ kubeadm certs renew apiserver
controlplane:~$ kubeadm certs renew scheduler.conf
  • 갱신 결과 확인
controlplane:~$ kubeadm certs check-expiration

5 검증/운영 팁[ | ]

  • 갱신된 kubeconfig(예: scheduler.conf)를 사용하는 정적 파드는 파일이 바뀌면 재시작 시 새 인증서를 사용한다.
    • 재시작이 필요하다면 해당 정적 파드(예: kube-scheduler)를 일시 삭제하면 kubelet이 새로 띄운다.
    • 또는 kubelet이 변경 파일을 참조하도록 잠시 기다린다.
  • admin.conf를 사용 중인 kubectl이 동작하는지 간단히 점검
controlplane:~$ kubectl get nodes

6 참고[ | ]

  • kubeadm certs 도움말: kubeadm certs -h
  • 만료 확인: kubeadm certs check-expiration
  • 개별 갱신: kubeadm certs renew <name>
    • 예: apiserver, controller-manager.conf, scheduler.conf, admin.conf
  • 관리자 kubeconfig 경로: /etc/kubernetes/admin.conf (일반 사용 편의를 위해 /root/.kube/config에 복사하여 사용 가능)

7 같이 보기[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}