DevOps

/var/libe/kubelet/config.yaml 과 /etc/kubernetes/kubelet.conf 차이

Vince_rf 2025. 1. 11. 22:56

/var/lib/kubelet/config.yaml와 /etc/kubernetes/kubelet.conf는 모두 Kubernetes에서 kubelet의 동작을 설정하는 파일이지만, 이 두 파일은 서로 다른 역할과 내용을 가지고 있습니다.

1. /var/lib/kubelet/config.yaml

  • 역할: kubelet의 구성(config) 파일로, 클러스터 내부에서 kubelet의 동작 방식을 정의합니다.
  • 주요 내용:
    • kubelet의 실행 파라미터나 설정 옵션이 포함됩니다.
    • 주로 다음과 같은 항목을 포함합니다:
      • authentication: API 서버와의 인증 방법 설정.
      • authorization: 권한 제어 설정.
      • cgroupDriver: cgroup 드라이버 설정.
      • evictionHard: 리소스 부족 시 Pod을 제거하는 조건.
      • featureGates: 실험적 기능 활성화.
      • runtimeRequestTimeout: 컨테이너 런타임 요청 제한 시간 등.
    • kubeadm init이나 kubeadm join 시 기본적으로 생성되며, 사용자가 수정할 수도 있습니다.
  • 위치와 관리:
    • /var/lib/kubelet 디렉터리 아래에 존재.
    • kubeadm 명령어로 관리되며, 클러스터 설정에 따라 자동으로 생성됩니다.
    • 수동으로 변경 시 잘못된 설정이 적용될 수 있으므로 주의해야 합니다.

2. /etc/kubernetes/kubelet.conf

  • 역할: kubelet이 API 서버와 통신할 때 사용하는 클라이언트 인증 정보를 저장.
  • 주요 내용:
    • API 서버에 접근할 수 있도록 인증서를 포함한 설정이 담겨 있습니다.
    • 주로 다음과 같은 항목을 포함합니다:
      • apiVersion: 설정 파일의 API 버전.
      • clusters: API 서버 정보 (URL, 인증서 등).
      • users: API 서버에 접근하기 위한 사용자 인증 정보 (클라이언트 인증서 및 키).
      • contexts: API 서버 및 사용자 정보 매핑.
      • current-context: 기본으로 사용할 컨텍스트.
    • Kubernetes 클러스터에 노드를 추가(kubeadm join)하거나 설정 변경 시 kubeadm에 의해 자동 생성됩니다.
  • 위치와 관리:
    • /etc/kubernetes 디렉터리 아래에 존재.
    • 인증서 갱신이나 클러스터 재설정 시 갱신될 수 있습니다.
    • 수동으로 수정하지 않는 것이 권장됩니다.

3. 주요 차이점 비교

특징

  /var/lib/kubelet/config.yaml /etc/kubernetes/kubelet.conf
역할 kubelet의 동작 방식 설정 API 서버와의 통신을 위한 인증 정보
주요 항목 authentication, authorization, featureGates 등 clusters, users, contexts, current-context 등
생성/관리 주체 kubeadm init/join 과정에서 생성 kubeadm에 의해 생성 및 관리
파일 포맷 YAML Kubeconfig 포맷 (YAML 기반)
     

4. 요약

  • /var/lib/kubelet/config.yaml은 kubelet 자체의 동작을 제어하는 설정 파일입니다.
  • /etc/kubernetes/kubelet.conf는 kubelet이 API 서버와 통신하기 위한 인증 정보를 저장하는 kubeconfig 파일입니다.
  • 두 파일 모두 kubeadm에 의해 자동으로 생성되고 관리되므로, 수동으로 변경 시에는 주의가 필요합니다.