반응형
root@master:/home/master# kubeadm init
[init] Using Kubernetes version: v1.29.1
[preflight] Running pre-flight checks
error execution phase preflight: [preflight] Some fatal errors occurred:
[ERROR CRI]: container runtime is not running: output: time="2024-01-30T12:27:19Z" level=fatal msg="validate service connection: validate CRI v1 runtime API for endpoint "unix:///var/run/containerd/containerd.sock": rpc error: code = Unimplemented desc = unknown service runtime.v1.RuntimeService"
, error: exit status 1
[preflight] If you know what you are doing, you can make a check non-fatal with --ignore-preflight-errors=...
To see the stack trace of this error execute with --v=5 or higher
kubeadm init 명령어를 치면 위의 에러가 발생했다.
다 되고나면 꼭 kubeadm init 에서 에러가 났었다.
노트북에선 port 에러가 났었던거 같았는데, 여튼.
몇가지 방법이 있었으니 참고하시길 바라며
해결방안 몇가지를 알려드리도록 하겠습니다.
systemctl status containerd #명령어로 현재 시스템 상태 확인
systemctl start containerd #실행 안되어 있다면 스타트
kubeadm reset #올바르게 실행중이라면 리셋
kubeadm init #리셋후 재설정
#그럼에도 에러가 발생한다면
/etc/systemd/system/kubelet.service.d/10-kubeadm.conf #또는
/etc/default/kubelet #에 containerd를 사용하도록 설정되어 있는지 확인
/etc/containerd/config.toml #파일에
disabled_plugins = ["cri"] #내용이 있다면 앞에 주석처리
systemctl restart containerd
kubeadm init
저는 첫번째 방법은 안되었고 두번째 방법은 해결 되었습니다
안의 내용들은
disable_tcp_service: TCP 서비스를 비활성화할지 여부를 설정합니다.
stream_server_address: CRI 요청을 처리할 Unix 도메인 소켓의 주소를 지정합니다.
stream_idle_timeout: 요청이 일시적으로 대기하는 시간을 설정합니다.
enable_selinux: SELinux 지원을 활성화할지 여부를 설정합니다.
selinux_category_range: SELinux 카테고리 범위를 설정합니다.
sandbox_image: 컨테이너를 위한 샌드박스 이미지를 지정합니다.
stats_collect_period: 컨테이너 통계 수집 주기를 설정합니다.
enable_tls_streaming: TLS 스트리밍을 활성화할지 여부를 설정합니다.
max_container_log_line_size: 컨테이너 로그 라인의 최대 크기를 설정합니다.
disable_cgroup: cgroup 사용을 비활성화할지 여부를 설정합니다.
각각의 옵션이며 필요 없는 부분들은 없애면서 테스트 해보시면 될꺼 같습니다.
수정후
systemctl restart containerd
위 명령어로 꼭 적용하시길 바랍니다.
반응형
'OpenSource > Kubernetes' 카테고리의 다른 글
[Kubernetes] Docker 및 kubernetes 설치방법 (0) | 2024.01.30 |
---|