kubectl logs : tls handshake timeout error

알고 보면 별거 아닌 것
이민석's avatar
Jun 13, 2025
kubectl logs : tls handshake timeout error

아래 환경, 상황에서 겪은 문제를 손쉽게 해결한 후에 작성된 게시글입니다.
이 글을 통해서 kubernetes를 조금 더 이해할 수 있게 되면 좋을 것 같습니다.

  • 환경 : kubespray로 신규로 구축한 HA Kubernetes 클러스터

  • 상황 : kubectl logs pod-name 시, tls handshake timeout 에러 발생

  • 해결 방법 : 승인 대기 중인 csr을 모두 승인

    1. kubectl get csr

    2. kubectl certificate approve <csr-name>

kubectl logs 조회 과정

아래 명령어를 사용하면 쉘에서 컨테이너 로그를 볼 수 있습니다.

kubectl logs <pod-name>

이 과정은 실제로는 3단계로 구성되어 있습니다.

kubectl logs → kube-apiserver → kubelet → container runtime
  • kubectl logs → kube-apiserver : 로그 조회를 위한 API 요청

  • kube-apiserver → kubelet : 파드가 위치한 노드의 kubelet에 요청

  • kubelet → container runtime : socket/local 기반의 통신

kube-apiserver, kubelet 통신 과정

kube-apiserver → kubelet 간 통신을 위해서 TLS Certificate를 사용합니다.

kubesrpay로 여러개의 노드로 이루어진 클러스터를 구축하면
제일 먼저 구축되는 1번 마스터노드와 1번에 조인(join)하는 다른 노드들 모두는
다양한 목적을 위해서 TLS Certificate를 생성하고 승인을 기다리게 됩니다.

이것을 CSR*이라고 부릅니다.

Certificate Signing Request

Share article

Unchaptered