kubelet
이 active
상태가 되지 않고 멈추는 현상
> sudo systemctl status kubelet
...
Loaded: loaded (/lib/systemd/system/kubelet.service; enabled; vendor preset: enabled)
Drop-In: /etc/systemd/system/kubelet.service.d
└─10-kubeadm.conf
Active: activating (auto-restart) (Result: exit-code) since Thu 2023-09-21 10:41:39 KST; 9s ago
Main PID: 2816561 (code=exited, status=1/FAILURE)
kebelet
은 시작 시 아래의 Config 를 Load 한다.
# /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
===
...
Environment="...--kubeconfig=/etc/kubernetes/kubelet.conf"
...
그런데 이중 /var/lib/kubelet/config.yaml
가 존재하지 않아 Error
가 났다.
/var/lib/kubelet/config.yaml
은 kubeadm init
이후에나 만들어지는 것인데, 그냥 kubelet
의 역할에 대해 크게 고민하지 않고 왜 안되는 지만 찾았던 것이 나의 문제였다.
이와 관련 스택오버플로우 :
https://github.com/kubernetes/kubernetes/issues/66108#issuecomment-502265575
kubeadm init
을 통해 /var/lib/kubelet/config.yaml
이 생성되게 하였다. (머쓱)
kebelet
의 경우 systemctl
하에 관리되고 있기에 /var/log/syslog
안에 로그로 쌓인다. 따라서 우선 tail /var/log/syslog
을 통해 로그를 확인하였다.
> tail /var/log/syslog
===
... "command failed" err="failed to load kubelet config file, error: failed to load Kubelet config file /var/lib/kubelet/config.yaml, error failed to read kubelet config file \"/var/lib/kubelet/config.yaml\", error: open /var/lib/kubelet/config.yaml: no such file or directory, path: /var/lib/kubelet/config.yaml"
... kubelet.service: Main process exited, code=exited, status=1/FAILURE
... kubelet.service: Failed with result 'exit-code'.
/var/lib/kubelet/config.yaml
라는 파일을 읽으려 했으나 파일이 없다는 에러를 확인할 수 있었다.
systemctl status kubelet
을 통한 에러 정보를 획득한다.
# systemctl status kubelet
● kubelet.service - kubelet: The Kubernetes Node Agent
Loaded: loaded (/lib/systemd/system/kubelet.service; e>
Drop-In: /etc/systemd/system/kubelet.service.d
└─10-kubeadm.conf
Active: activating (auto-restart) (Result: exit-code) >
Docs: https://kubernetes.io/docs/home/
Process: 2823632 ExecStart=/usr/bin/kubelet $KUBELET_KU>
Main PID: 2823632 (code=exited, status=1/FAILURE)
/etc/systemd/system/kubelet.service.d
폴더 안의 10-kubeadm.conf
을 읽다가 에러가 난 것으로 보인다.