작성
·
67
1
일단 Vagrantfile보면
yum install -y kubelet-1.27.2-150500.1.1.x86_64 kubeadm-1.27.2-150500.1.1.x86_64 kubectl-1.27.2-150500.1.1.x86_64 --disableexcludes=kubernetes 이렇게 각 버전을 직접 명시했는데....저는 공식가이드에서 1.30을 선택하면 그냥 버전명이 안붙은채로 되던데...어떻게 저 디테일한버전을 찾을수있나요?
그리고 일단 그보다....
이런 상황이고 해당 노드 내용을 보면
이런 에러가 뜨고요..
왠만한건 모두 pending상태입니다.
해당 파드 describe 보면 0/1 nodes are available: 1 node(s) had untolerated taint {node.kubernetes.io/not-ready: }. preemption: 0/1 nodes are available: 1 Preemption is not helpful for scheduling 이거구요..
이게 처음 설치할때 로그를 보면 여기에서부터 문제인것도 같은데...kubeadm설치시
master-node: [preflight] You can also perform this action in beforehand using 'kubeadm config images pull'
master-node: W0228 15:14:16.156514 25883 checks.go:844] detected that the sandbox image "registry.k8s.io/pause:3.6" of the container runtime is inconsistent with that used by kubeadm.It is recommended to use "registry.k8s.io/pause:3.9" as the CRI sandbox image.
버전이 서로 안맞다고 나옵니다.
뭐가 잘못된걸까요?
그리고 vagranfile에는 kubeadm init --pod-network-cidr=20.96.0.0/16 --apiserver-advertise-address 192.168.56.30 이렇게만 있는데
런타임유닉스 도메인 소켓 경로containerdunix:///var/run/containerd/containerd.sock
--cri-socket=unix:///var/run/containerd/containerd.sock
이부분을 추가해줘야 하나요?
답변 2
0
일단 kubelet도 containerd와 마찬가지 방법으로 세부 버전을 찾으시면 됩니다.
그리고 로그 메시지를 자세히 보면 메모리가 부족하다고 나오는데. VM에 메모리를 더 추가해보시겠어요? kubeadm 설치시 메세지는 딱히 문제되는 부분은 아니고, 별도로 containerd.sock를 추가해줄 필요는 없습니다.
근데 쿠버네티스 1.30버전을 설치하시려고 하시는 거군요. 현재 제 강의의 실습환경은 1.27 버전으로 진행되고, 이 버전에서 최적화된 오픈소스들이 추가로 설치 됩니다.
이때 자원 사양부터 관련 오픈소스들(칼리코, 대시보드 등)의 버전들이 모두 고려 되는데요.
그렇기 때문에 1.30 버전으로 진행하시면 설치부터 실습 진행까지 가이드를 보면서, 지금 containrd나 kubelet의 버전을 찾는 것처럼 일일히 확인을 해보셔야 해요. 저는 그 과정을 다 거치면서 설치 가이드를 만든 거고요.
물론 하나하나 찾아가는 과정도 중요합니다. 하지만 진도를 나가는데 이처럼 어려움이 많을 수 있으니 가이드대로 진행을 권해드리고요.
추후 해수편으로 넘어가게 되면 쿠버네티스 1.30 버전으로 된 가이드가 제공됩니다.
0
안녕하세요, 인프런 AI 인턴입니다.
odark님께서 Kubernetes의 설치 및 설정 과정에서 여러 문제에 직면하신 것 같습니다. 주요 문제와 해결 방법을 하나씩 설명드리겠습니다.
디테일한 버전 찾는 방법:
--disableexcludes=kubernetes
를 추가해 특정 버전을 지정할 수 있습니다.노드 상태가 NotReady
인 문제:
파드가 Pending
상태인 문제:
kubectl taint nodes --all
명령어로 노드를 확인하고, 필요시 taint를 제거하여 노드를 사용 가능 상태로 만들 수 있습니다.kubeadm 설치 시 CRI 호환성 문제:
crictl
을 사용해 불필요한 이미지 삭제 및 적절한 이미지 설치를 하실 필요가 있습니다.cri-socket
설정:
--cri-socket=unix:///var/run/containerd/containerd.sock
옵션을 추가하는 것이 필요합니다. 이는 kubeadm init 명령어의 옵션에 포함되어야 합니다.odark님께서 겪고 계신 이슈들을 해결하는 데 도움이 되었기를 바랍니다. 추가적인 궁금증이 있으시거나 더 구체적인 기술 지원이 필요하실 경우, 질문을 이어서 남겨주세요. 곧 지식공유자께서 더 자세한 답변을 제공해 주실 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.