작성
·
30
1
실습에 문제 발생 시 최대한 캡쳐 화면을 꼭 올려 주세요. (원인 파악에 도움이 큽니다)
영상 내용 질문 시 해당 영상 제목과 내용이 있는 시간을 같이 올려주세요. (내용을 다시 들어보고 답변을 드리기 위해서 입니다)
긴 로그는 제 메일로 보내주세요. (k8s.1pro@gmail.com)
카페 [강의 자료실]에도 많은 질문과 답변들이 있어요!
cafe: https://cafe.naver.com/kubeops
안녕하세요
현재 일프로님의 Sprint 1 과정 중 쿠버 설치를 진행하고 있는 상황입니다.
가상화 환경은 vmware exsi로 가상 인스턴스를 올리고 있는 상황이고 os는 rocky 8.6으로 설치하여서 진행중에 있습니다.
현재 아래와 같은 명령어를 사용할 때 다음과 같은 이슈가 발생하는데 해당 이슈를 위해 조언을 주실만한 부분이 있으신가하여 문의를 드립니다.
(주로 사용하는 OS 버전이 8.6버전이라서 릴리즈를 8.6으로 고정하는 명령어(dnf versionlock add rocky-release-8.6*)로 8.6으로 맞추어 놓은 상황인데 혹시 버전 이슈일까요???)
[root@101-k8s-master ~]# !132
kubeadm init --ignore-preflight-errors=Hostname,CRI --pod-network-cidr=20.96.0.0/16 --apiserver-advertise-address=192.16.80.101 --node-name=101-k8s-master
I1211 21:11:32.530029 2327 version.go:256] remote version is much newer: v1.31.4; falling back to: stable-1.27
[init] Using Kubernetes version: v1.27.16
[preflight] Running pre-flight checks
[WARNING CRI]: container runtime is not running: output: time="2024-12-11T21:11:33+09:00" 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] Pulling images required for setting up a Kubernetes cluster
[preflight] This might take a minute or two, depending on the speed of your internet connection
[preflight] You can also perform this action in beforehand using 'kubeadm config images pull'
error execution phase preflight: [preflight] Some fatal errors occurred:
[ERROR ImagePull]: failed to pull image registry.k8s.io/kube-apiserver:v1.27.16: output: time="2024-12-11T21:11:33+09:00" level=fatal msg="validate service connection: validate CRI v1 image API for endpoint \"unix:///var/run/containerd/containerd.sock\": rpc error: code = Unimplemented desc = unknown service runtime.v1.ImageService"
, error: exit status 1
[ERROR ImagePull]: failed to pull image registry.k8s.io/kube-controller-manager:v1.27.16: output: time="2024-12-11T21:11:33+09:00" level=fatal msg="validate service connection: validate CRI v1 image API for endpoint \"unix:///var/run/containerd/containerd.sock\": rpc error: code = Unimplemented desc = unknown service runtime.v1.ImageService"
, error: exit status 1
[ERROR ImagePull]: failed to pull image registry.k8s.io/kube-scheduler:v1.27.16: output: time="2024-12-11T21:11:33+09:00" level=fatal msg="validate service connection: validate CRI v1 image API for endpoint \"unix:///var/run/containerd/containerd.sock\": rpc error: code = Unimplemented desc = unknown service runtime.v1.ImageService"
, error: exit status 1
[ERROR ImagePull]: failed to pull image registry.k8s.io/kube-proxy:v1.27.16: output: time="2024-12-11T21:11:33+09:00" level=fatal msg="validate service connection: validate CRI v1 image API for endpoint \"unix:///var/run/containerd/containerd.sock\": rpc error: code = Unimplemented desc = unknown service runtime.v1.ImageService"
, error: exit status 1
[ERROR ImagePull]: failed to pull image registry.k8s.io/pause:3.9: output: time="2024-12-11T21:11:33+09:00" level=fatal msg="validate service connection: validate CRI v1 image API for endpoint \"unix:///var/run/containerd/containerd.sock\": rpc error: code = Unimplemented desc = unknown service runtime.v1.ImageService"
, error: exit status 1
[ERROR ImagePull]: failed to pull image registry.k8s.io/etcd:3.5.12-0: output: time="2024-12-11T21:11:33+09:00" level=fatal msg="validate service connection: validate CRI v1 image API for endpoint \"unix:///var/run/containerd/containerd.sock\": rpc error: code = Unimplemented desc = unknown service runtime.v1.ImageService"
, error: exit status 1
[ERROR ImagePull]: failed to pull image registry.k8s.io/coredns/coredns:v1.10.1: output: time="2024-12-11T21:11:33+09:00" level=fatal msg="validate service connection: validate CRI v1 image API for endpoint \"unix:///var/run/containerd/containerd.sock\": rpc error: code = Unimplemented desc = unknown service runtime.v1.ImageService"
, 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
답변 2
0
안녕하세요, 인프런 AI 인턴입니다.
whdtn2007님, 쿠버네티스 설치 시 발생하는 에러에 대해 안내 드리겠습니다. 현재 받으신 에러 메시지는 컨테이너 런타임(containerd)이 제대로 설정되지 않아서 이미지 풀링에 실패하고 있는 상황을 나타냅니다. 몇 가지 해결 방법을 제시드리겠습니다:
Container Runtime 설정 확인: 해당 에러는 containerd
(또는 다른 컨테이너 런타임)가 제대로 구동되지 않아 발생할 수 있습니다. systemctl status containerd
명령어로 런타임이 정상적으로 작동 중인지 확인해보세요. 만약 구동 중이지 않다면 systemctl start containerd
로 시작해 보시고, 오류 메시지가 발생할 경우 구체적인 오류를 기반으로 문제를 해결해야 합니다.
containerd
설정 파일 확인: containerd
의 설정 파일(/etc/containerd/config.toml
)이 올바르게 구성되어 있는지 확인하세요. 특히, systemd_cgroup
옵션이 Kubernetes 구성을 지원하도록 설정되어 있어야 합니다.
Kubernetes 버전 호환성 확인: kubeadm
에서 받는 원격 버전에 대한 메시지가 있었습니다. 사용 중인 Kubernetes 버전(v1.27.16
)과 설치된 containerd
의 호환성을 다시 한 번 확인해보세요. 최신 릴리즈 노트나 Kubernetes 문서에서 지원되는 버전을 참조할 수 있습니다.
네트워크 조건 확인: kubeadm
실행 시 스피드에 따라 이미지 다운로드가 실패할 수도 있습니다. 네트워크 연결 상태를 확인하고, 미리 이미지를 다운로드 받는 것도 고려해보세요.
유사한 문제를 해결하는 또 다른 사례로는 “kubeadm init 오류”에서 해결 방법을 찾을 수 있습니다. 해당 링크는 Port 문제 및 쿠버네티스의 초기화 관련 오류 해결에 대한 방향을 제시합니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
안녕하세요 일프로님
우선 OS를 8.6에서 8.10으로 커널 버전을 올린 후 동일한 작업을 해보았을때는 아래의 이슈가 발생하지 않아서 개인적인 추측으로 os의 버전과 해당 버전의 지원되는 rpm 파일들간의 충돌이 발생한게 아닌가로 추측을 하고는 있습니다.
다만 요청주신 kubernetes의 버전과 containerd의 정보를 공유를 드리오니 혹시 짐작가시는 부분이 있으시다면 의견 부탁드립니다.
[root@101-k8s-master ~]# kubeadm version
kubeadm version: &version.Info{Major:"1", Minor:"27", GitVersion:"v1.27.2", GitCommit:"7f6f68fdabc4df88cfea2dcf9a19b2b830f1e647", GitTreeState:"clean", BuildDate:"2023-05-17T14:18:49Z", GoVersion:"go1.20.4", Compiler:"gc", Platform:"linux/amd64"}
[root@101-k8s-master ~]# kubelet --version
Kubernetes v1.27.2
[root@101-k8s-master ~]# kubectl version --client --short
Flag --short has been deprecated, and will be removed in the future. The --short output will become the default.
Client Version: v1.27.2
Kustomize Version: v5.0.1
[root@101-k8s-master ~]# containerd --version
containerd containerd.io 1.6.21 3dce8eb055cbb6872793272b4f20ed16117344f8
[root@101-k8s-master ~]# systemctl status containerd
● containerd.service - containerd container runtime
Loaded: loaded (/usr/lib/systemd/system/containerd.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2024-12-12 09:18:47 KST; 2h 24min ago
Docs: https://containerd.io
Process: 962 ExecStartPre=/sbin/modprobe overlay (code=exited, status=0/SUCCESS)
Main PID: 968 (containerd)
Tasks: 81
Memory: 171.1M
CGroup: /system.slice/containerd.service
├─ 968 /usr/bin/containerd
├─2380 /usr/bin/containerd-shim-runc-v2 -namespace k8s.io -id 4911bde59d8693494c4f327f9e9a9ccda83bde9d36dc475e974ea64e0f5d1e76 -address /run/containerd/containerd.sock
├─2420 /usr/bin/containerd-shim-runc-v2 -namespace k8s.io -id c00fedc725aba5c8a9e15f9ca6080c0dd5c8837b704b040441ef89f3283c1fcd -address /run/containerd/containerd.sock
├─2477 /usr/bin/containerd-shim-runc-v2 -namespace k8s.io -id 1d9543007e111a2cf28c1d14d1e7b117936c23f3d4f6c73e06f0319acf6acdff -address /run/containerd/containerd.sock
├─2505 /usr/bin/containerd-shim-runc-v2 -namespace k8s.io -id acd3e8cb38a5b02d0061910addcf07b27bf71fdeca5f65325efe5b510ff7b760 -address /run/containerd/containerd.sock
└─5612 /usr/bin/containerd-shim-runc-v2 -namespace k8s.io -id 6c5cdcc9b551f6ffac56ce17cf593da599beb74fb18c72c7ed29e6d04a436bd8 -address /run/containerd/containerd.sock
Dec 12 09:18:53 101-k8s-master containerd[968]: time="2024-12-12T09:18:53.707263038+09:00" level=info msg="RunPodSandbox for &PodSandboxMetadata{Name:kube-proxy-ns949,Uid:567acce4-8a3a-4761-ba3f-61411ffdf9>
Dec 12 09:18:53 101-k8s-master containerd[968]: time="2024-12-12T09:18:53.736025283+09:00" level=info msg="loading plugin \"io.containerd.event.v1.publisher\"..." runtime=io.containerd.runc.v2 type=io.cont>
Dec 12 09:18:53 101-k8s-master containerd[968]: time="2024-12-12T09:18:53.736079037+09:00" level=info msg="loading plugin \"io.containerd.internal.v1.shutdown\"..." runtime=io.containerd.runc.v2 type=io.co>
Dec 12 09:18:53 101-k8s-master containerd[968]: time="2024-12-12T09:18:53.736085642+09:00" level=info msg="loading plugin \"io.containerd.ttrpc.v1.task\"..." runtime=io.containerd.runc.v2 type=io.container>
Dec 12 09:18:53 101-k8s-master containerd[968]: time="2024-12-12T09:18:53.736150538+09:00" level=info msg="starting signal loop" namespace=k8s.io path=/run/containerd/io.containerd.runtime.v2.task/k8s.io/6>
Dec 12 09:18:53 101-k8s-master containerd[968]: time="2024-12-12T09:18:53.817974324+09:00" level=info msg="RunPodSandbox for &PodSandboxMetadata{Name:kube-proxy-ns949,Uid:567acce4-8a3a-4761-ba3f-61411ffdf9>
Dec 12 09:18:53 101-k8s-master containerd[968]: time="2024-12-12T09:18:53.820762213+09:00" level=info msg="CreateContainer within sandbox \"6c5cdcc9b551f6ffac56ce17cf593da599beb74fb18c72c7ed29e6d04a436bd8\>
Dec 12 09:18:53 101-k8s-master containerd[968]: time="2024-12-12T09:18:53.844398655+09:00" level=info msg="CreateContainer within sandbox \"6c5cdcc9b551f6ffac56ce17cf593da599beb74fb18c72c7ed29e6d04a436bd8\>
Dec 12 09:18:53 101-k8s-master containerd[968]: time="2024-12-12T09:18:53.844863321+09:00" level=info msg="StartContainer for \"4a9397a17915b7c131905b77b81fed4dc44d9ec7381674a96d24dc6bb5a55ac7\""
Dec 12 09:18:53 101-k8s-master containerd[968]: time="2024-12-12T09:18:53.949385652+09:00" level=info msg="StartContainer for \"4a9397a17915b7c131905b77b81fed4dc44d9ec7381674a96d24dc6bb5a55ac7\" returns su>
[root@101-k8s-master ~]#