Kubernetes
v1.33.12Kubernetes Corev1.33.12는 kubeadm 버그 4건을 수정한 패치 릴리스로, 클러스터 초기화 안정성, etcd 헬스체크, kubelet API RBAC 강화에 집중했습니다.
enhancement외부 로드밸런서 환경에서 kubeadm init을 쓴다면 업그레이드 권장
기존에는 kubeadm init이 로드밸런서 엔드포인트를 kubeconfig에 기록했는데, 첫 번째 apiserver가 뜨기 전에는 LB가 아직 없는 경우가 많아 실패하는 닭-달걀 문제가 있었습니다. 이번 수정으로 초기화 시에는 localAPIEndpoint를 사용하도록 바뀌었습니다. 재시도 스크립트나 수동 kubeconfig 편집으로 우회하던 팀이라면 이 패치로 그 작업이 불필요해집니다.
securitykube-apiserver kubelet 클라이언트용 RBAC 역할 분리 적용
kube-apiserver가 kubelet 클라이언트 자격증명에 전용 ClusterRole 'system:kubelet-api-admin'을 사용합니다. RBAC 경계가 명확해지고 자격증명 오용 시 영향 범위가 줄어듭니다. 기존 클러스터에 즉각적인 조치는 불필요하지만, kubeadm 업그레이드 후 RBAC 감사 목록에 해당 역할이 반영됐는지 확인하세요.
enhancementetcd 쿼럼 기반 헬스체크로 오탐 실패 차단
기존 헬스체크는 멤버 하나라도 비정상이면 kubeadm 작업 전체를 막았습니다. 쿼럼이 유지되는 한 작업이 진행되도록 바뀌었습니다. 3노드나 5노드 etcd 구성에서 멤버 하나의 장애로 kubeadm upgrade나 join이 실패했던 경험이 있다면, 이 패치가 그 문제를 해결해 줍니다.
주요 변경 (4)
- kubeadm init이 controlPlaneEndpoint 대신 localAPIEndpoint를 가리키는 kubeconfig를 메모리에서 생성 — 로드밸런서 지연 문제 해결
- 워커 노드의 kubeadm join에서 LocalAPIEndpoint 기본값 설정 로직 제거
- kube-apiserver의 kubelet 클라이언트가 전용 ClusterRole 'system:kubelet-api-admin'을 사용하도록 변경
- etcd 클러스터 헬스체크가 전체 멤버 기준에서 쿼럼 기준으로 전환 — 일부 멤버 비정상 상태에서도 작업 가능