Kubernetes cluster를 구성하다
kubeadm init을 통해 cluster를 구성하다보면 아래와 같은 오류를 받을 수 있다.
[오류]
11월 22 17:17:11 k8s-master-1 kubelet[20952]: E1122 17:17:11.396342 20952 server.go:294] "Failed to run kubelet" err="failed to run Kubelet: misconfiguration: kubelet cgroup driver: \"systemd\" is different from docker cgroup driver: \"cgroupfs\""
[오류내용]
kubelet의 cgroup와 컨테이너런타임인 docker의 cgroup이 다르다.
(컨테이너 런타임으로 docker를 사용한 Case)
kubelet은 "systemd"로 설정
컨테이너런타임(docker)는 "cgroupfs"로 사용됨.
[원인확인]
컨테이너 런타임과 kubelet에는 "cgroup driver"라는 속성이 있으며, linux 시스템에서 cgroup을 관리하는데 중요합니다.
컨테이너 런타임과 kubelet의 cgroup 드라이버를 일치시켜야 합니다!
[조치방법]
kubelet의 cgroup을 "cgroupfs"로 변경해주어도 되지만, kubernetes 공식문서에서는 "cgroupfs"보다 "systemd"를 Recommended 한다고 나와있습니다.
따라서, docker를 "cgroupfs"에서 "systemd"로 변경해서, kubelet과 동일하게 맞추어 주는것이 좋습니다.
Docker의 cgroup을 "systemd"로 설정하는 방법은 아래와 같습니다.
[참고자료]
https://kubernetes.io/docs/tasks/administer-cluster/kubeadm/configure-cgroup-driver/
Docker cgroup(systemd) 설정 방법 : https://kubernetes.io/docs/setup/production-environment/container-runtimes/#docker
Cgroup 설명 : https://tech.kakao.com/2020/06/29/cgroup-driver/
'IT Knowledge > Kubernetes' 카테고리의 다른 글
kuberetes error, Found multiple CRI sockets (2) | 2021.12.24 |
---|---|
kubeadm init problem (Port 6443 is in use) (0) | 2021.12.24 |
x509: certificate signed by unknown authority (set insecure registries) (0) | 2021.12.24 |
failed to pull image k8s.gcr.io (Proxy Setting) (0) | 2021.12.24 |
컨테이너 런타임별 Proxy 설정방법(CRI-O, containerd) (0) | 2021.12.22 |
댓글