해결된 질문
작성
·
12K
0
다른분이 질문주신 에러랑 같은 에러나서 kubelet을 확인해보았는데요
$ systemctl status kubelet
● kubelet.service - kubelet: The Kubernetes Node Agent
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 Wed 2021-09-01 14:27:17
Docs: https://kubernetes.io/docs/home/
Process: 4242 ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARG
Main PID: 4242 (code=exited, status=1/FAILURE)
_______________________________________
$ journalctl -xeu kubelet
9월 01 14:28:31 master kubelet[5121]: I0901 14:28:31.215001 5121 server.go:440] "Kubelet version" kubeletVersion="v1.22.1"
9월 01 14:28:31 master kubelet[5121]: I0901 14:28:31.215369 5121 server.go:868] "Client rotation is on, will bootstrap in background"
9월 01 14:28:31 master kubelet[5121]: I0901 14:28:31.217288 5121 certificate_store.go:130] Loading cert/key pair from "/var/lib/kubelet/pki/kubelet-client-current.pem".
9월 01 14:28:31 master kubelet[5121]: I0901 14:28:31.219826 5121 dynamic_cafile_content.go:155] "Starting controller" name="client-ca-bundle::/etc/kubernetes/pki/ca.crt"
9월 01 14:28:31 master kubelet[5121]: I0901 14:28:31.344157 5121 server.go:687] "--cgroups-per-qos enabled, but --cgroup-root was not specified. defaulting to /"
9월 01 14:28:31 master kubelet[5121]: I0901 14:28:31.344318 5121 container_manager_linux.go:280] "Container manager verified user specified cgroup-root exists" cgroupRoot=[]
9월 01 14:28:31 master kubelet[5121]: I0901 14:28:31.344368 5121 container_manager_linux.go:285] "Creating Container Manager object based on Node Config" nodeConfig={RuntimeCgroupsName: Syst
9월 01 14:28:31 master kubelet[5121]: I0901 14:28:31.344824 5121 topology_manager.go:133] "Creating topology manager with policy per scope" topologyPolicyName="none" topologyScopeName="conta
9월 01 14:28:31 master kubelet[5121]: I0901 14:28:31.344847 5121 container_manager_linux.go:320] "Creating device plugin manager" devicePluginEnabled=true
9월 01 14:28:31 master kubelet[5121]: I0901 14:28:31.344873 5121 state_mem.go:36] "Initialized new in-memory state store"
9월 01 14:28:31 master kubelet[5121]: I0901 14:28:31.344950 5121 kubelet.go:314] "Using dockershim is deprecated, please consider using a full-fledged CRI implementation"
9월 01 14:28:31 master kubelet[5121]: I0901 14:28:31.344974 5121 client.go:78] "Connecting to docker on the dockerEndpoint" endpoint="unix:///var/run/docker.sock"
9월 01 14:28:31 master kubelet[5121]: I0901 14:28:31.344985 5121 client.go:97] "Start docker client with request timeout" timeout="2m0s"
9월 01 14:28:31 master kubelet[5121]: I0901 14:28:31.360346 5121 docker_service.go:566] "Hairpin mode is set but kubenet is not enabled, falling back to HairpinVeth" hairpinMode=promiscuous-
9월 01 14:28:31 master kubelet[5121]: I0901 14:28:31.360368 5121 docker_service.go:242] "Hairpin mode is set" hairpinMode=hairpin-veth
9월 01 14:28:31 master kubelet[5121]: I0901 14:28:31.360442 5121 cni.go:239] "Unable to update cni config" err="no networks found in /etc/cni/net.d"
9월 01 14:28:31 master kubelet[5121]: I0901 14:28:31.365939 5121 cni.go:239] "Unable to update cni config" err="no networks found in /etc/cni/net.d"
9월 01 14:28:31 master kubelet[5121]: I0901 14:28:31.366083 5121 docker_service.go:257] "Docker cri networking managed by the network plugin" networkPluginName="cni"
9월 01 14:28:31 master kubelet[5121]: I0901 14:28:31.366166 5121 cni.go:239] "Unable to update cni config" err="no networks found in /etc/cni/net.d"
9월 01 14:28:31 master kubelet[5121]: I0901 14:28:31.378615 5121 docker_service.go:264] "Docker Info" dockerInfo=&{ID:FGK6:UGPU:XMZT:TOKQ:VKEU:5DXR:TLC6:66MA:BUFY:SFEG:2ZGF:T7VC Containers:0
9월 01 14:28:31 master kubelet[5121]: E0901 14:28:31.378644 5121 server.go:294] "Failed to run kubelet" err="failed to run Kubelet: misconfiguration: kubelet cgroup driver: \"systemd\" is di
9월 01 14:28:31 master systemd[1]: kubelet.service: Main process exited, code=exited, status=1/FAILURE
9월 01 14:28:31 master systemd[1]: kubelet.service: Failed with result 'exit-code'.
________________________________________
이렇게 나옵니다
답변 3
1
안녕하세요 강사 최일선입니다.
1.22 버전에서 문제가 발생하기 시작한 문제 같습니다.
다음 명령을 사용해 이름을 변경하고 데몬을 재시작할 수 있습니다. 이후 kubeadm init을 수행하시면 정상 동작합니다.
cat <<EOF | sudo tee /etc/docker/daemon.json
{
"exec-opts": ["native.cgroupdriver=systemd"]
}
EOF
service docker restart
쿠버네티스의 cgroup과 도커의 cgroup 이름이 일치하지 않아서 발생하는 문제로 다음 두 명령어를 사용해 도커 cgroup을 "cgroupfs" 에서 systemd로 변경이 가능합니다. 반드시 daemon.json 파일 생성후에 도커 데몬을 재시작해주시기 바랍니다.
그리고 다음 명령으로 현재 도커 cgroup 확인이 가능합니다.
$ sudo docker info | grep -i cgroup
# 출력
Cgroup Driver: cgroupfs
Cgroup Version: 1
감사합니다.
1
0
9월 01 14:28:31 master kubelet[5121]: E0901 14:28:31.378644 5121 server.go:294] "Failed to run kubelet" err="failed to run Kubelet: misconfiguration: kubelet cgroup driver: \"systemd\" is di
cgroup driver가 일치하지 않아서 발생하는 에러에용
저기 에러난 파일 열어서 도커 드라이버랑 쿠버네티스 드라이버를 똑같이 맞춰주시고 서비스 재시작 해보세용
감사합니다 잘 작동하는 것 확인하였습니다!