728x90
지난 포스팅에 이어,
2022.08.03 - [Raspberry pi] - 라즈베리파이4 쿠버네티스 설치
거의 다 왔는데 CNI 에러 때문에 coredns가 ContainerCreating 상태로 남아 있었습니다.
결론적으로 해결은 했는데,
너무 구글만 찾아해매는 버릇때문에 생각을 깊게 하지 않아서 정말 한참을 삽질했네요.
에러메시지는 이렇습니다.
failed to find plugin "loopback" in path [/usr/lib/cni]
그리고 관련해서는 구글에 무수한 트러블 슈팅 글들이 있습니다.
그런데, 해결방법은 간단합니다.
로그에서 이야기하고 있듯,
loopback이라는 플러그인에 /usr/lib/cni 에 없다는 뜻입니다.
라즈비안에서 loopback 플러그인은 /opt/cni/bin 밑에 있습니다.
$ ll /opt/cni/bin
total 114296
drwxrwxr-x 2 root root 4096 Aug 3 14:19 .
drwxr-xr-x 3 root root 4096 Aug 2 14:04 ..
.
.
.
.
-rwxr-xr-x 1 root root 3131700 Aug 3 12:08 loopback
.
.
.
.
그럼 왜 /usr/lib/cni 밑에서 플러그인을 찾을까요?
쿠버네티스보다 먼저 설치한 containerd 설정이 그렇게 되어 있네요.
$ vi /etc/containerd/config.toml
version = 2
[plugins]
[plugins."io.containerd.grpc.v1.cri"]
[plugins."io.containerd.grpc.v1.cri".cni]
bin_dir = "/usr/lib/cni"
conf_dir = "/etc/cni/net.d"
[plugins."io.containerd.internal.v1.opt"]
path = "/var/lib/containerd/opt"
위에 bin_dir 값을 /opt/cni/bin 으로 바꾸어주면 됩니다.
$ k get pod -A
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-flannel kube-flannel-ds-gqf77 1/1 Running 1 (34m ago) 55m
kube-system coredns-6d4b75cb6d-crtj6 1/1 Running 0 56m
kube-system coredns-6d4b75cb6d-xxdj4 1/1 Running 0 56m
kube-system etcd-raspberrypi4 1/1 Running 18 (34m ago) 56m
kube-system kube-apiserver-raspberrypi4 1/1 Running 21 (34m ago) 56m
kube-system kube-controller-manager-raspberrypi4 1/1 Running 3 (11m ago) 56m
kube-system kube-proxy-5c4wh 1/1 Running 1 (34m ago) 56m
kube-system kube-scheduler-raspberrypi4 1/1 Running 25 (11m ago) 56m
이제야 컨트롤 노드에 쿠버네티스 설치를 끝냈습니다.
갖춰진 환경에서 메뉴얼대로 할때엔 쉬운데, 약간 응용하려니 실력이 뽀록나네요.
728x90
'Raspberry pi' 카테고리의 다른 글
라즈베리파이 쿠버네티스 ConfigMap으로 변수 전달하기 : 동적으로 적용하기 (0) | 2022.08.05 |
---|---|
라즈베리파이 쿨링팬 제어 쿠버네티스 데몬셋으로 실행하기 : nodejs, GPIO 접근권한 (0) | 2022.08.04 |
라즈베리파이4 쿠버네티스 설치 (0) | 2022.08.03 |
라즈베리파이4 라즈비안 64bit 쿠버네티스 설치 실패 (0) | 2022.08.02 |
라즈베리파이 쿨링팬 제어 nodejs 도커로 실행하기 :GPIO 접근권한 (0) | 2022.07.31 |