설명
--rotate-certificates=false이면 kubelet의 클라이언트 인증서 자동 갱신이 꺼집니다. 별도의 갱신 절차가 없다면 인증서가 만료되어 API 서버 인증에 실패할 수 있습니다.
자동 갱신은 새 키와 인증서 서명 요청(CSR)을 사용하므로 요청 승인과 인증서 발급이 실제로 동작해야 합니다. 이는 kubelet 서버 인증서의 갱신과 별개입니다.
잠재적 영향
- 인증서 만료로 노드의 API 서버 접근이 중단될 수 있습니다.
- 수동 갱신의 누락이나 지연으로 장애 대응 부담이 커질 수 있습니다.
해결 방법
- KubeletConfiguration의
rotateCertificates: true를 사용하거나 해당 버전이 지원하는--rotate-certificates=true를 설정하세요. - 필요한 CSR 승인·서명 권한을 구성하고 발급된 인증서의 실제 교체와 만료일을 확인하세요.
- 수동 관리가 필요한 환경은 만료 전에 갱신하는 절차와 경보를 마련하세요.
예시
kubelet 인자를 비교하는 발췌입니다. foo/bar는 자리표시자이며 실제 노드의 kubelet 실행 구성에 적용해야 합니다.
변경 전
yaml
apiVersion: v1
kind: Pod
metadata:
name: command-demo
spec:
containers:
- name: command-demo-container
image: foo/bar
command: ["kubelet"]
args: ["--rotate-certificates=false"]
클라이언트 인증서의 자동 갱신이 꺼져 있어 별도의 갱신 절차가 필요합니다.
변경 후
yaml
apiVersion: v1
kind: Pod
metadata:
name: command-demo
spec:
containers:
- name: command-demo-container
image: foo/bar
command: ["kubelet"]
args: ["--rotate-certificates"]
자동 갱신을 요청하도록 설정했습니다. CSR 승인과 서명이 정상적으로 완료되어야 새 인증서를 사용할 수 있습니다.