소개
게시글
질문&답변
2021.10.14
마스터 노드 쉘 스크립트 실행 시 오류
오... 드디어 해결됐습니다ㅜ 마스터 노드의 6443번 포트에 대한 방화벽을 열어주니 (sudo ufw allow 6443) 워커노드 2번과 3번도 정상적으로 join이 됩니다. 워커노드 1번은 방화벽을 열어주지도 않았는데도 join이 되고 2, 3번은 방화벽을 열어줘야 join이 된다는 게 일관성이 맞지 않아서 뭔가 이상하고 희한하네요 ㅎ;; 어쨌든 되긴 되네요.. 이제는 실습도 정상적으로 진행되는지 확인해보겠습니다.
- 0
- 5
- 2.8K
질문&답변
2021.10.14
마스터 노드 쉘 스크립트 실행 시 오류
오 기본 구조가 똑같다면 정말로 다시 해봤을 땐 될 수도 있겠네요! 희망이 생겼어요! 꼭 다시 해보겠습니다! 추가1) 지금 다시 해보고 있는데요, 교재 vagrant file은 4개 노드를 다 provisioning하는 데에 약 20분 이내가 걸렸는데 강의 vagrant file은 master 노드 1개만 해도 30분이 넘게 걸리네요 [preflight] You can also perform this action in beforehand using 'kubeadm config images pull' 에서 30분 동안 멈춰있어서 그냥 ctrl+c로 강제 종료하고 다시 vagrant destory 및 vagrant up하는 중입니다. 추가2) 엇 방금 vagrant destory 및 vagrant up을 하니까 똑같은 [preflight] You can also perform this action in beforehand using 'kubeadm config images pull' 가 불과 1분만에 통과되네요.. 이게 완전 조건이 똑같은데 실행할 때마다 됐다 안 됐다 하네요;; (윈도우 cmd 창에서 진행 중인 작업에서 마우스 클릭을 하면 작업이 멈춰버리기 때문에 엔터 등을 통해 활성화시켜야 재동작한다는 것도 알고 있기에 그 부분도 신경을 항상 써왔는데 말이에요 ㅎㅎ;) provision 도중 네트워크가 불안정하면 멈춰버리거나 에러가 나는 걸까요.. 추가3) 마스터 노드와 w1노드는 매끄럽게 잘 생성 됐고요 w2노드에서는 [preflight] Running pre-flight checks 여기서 5분이 걸리고 다행히 잘 넘어갔는데 [kubelet-start] Waiting for the kubelet to perform the TLS Bootstrap... 여기서 5분 멈추더니, 자동으로 강제 종료 됐습니다. 자세한 로그는 다음과 같습니다. --- w2-k8s-1.22: [preflight] Running pre-flight checks w2-k8s-1.22: [preflight] Reading configuration from the cluster... w2-k8s-1.22: [preflight] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -o yaml' w2-k8s-1.22: [kubelet-start] Writing kubelet configuration to file "/var/lib/kubelet/config.yaml" w2-k8s-1.22: [kubelet-start] Writing kubelet environment file with flags to file "/var/lib/kubelet/kubeadm-flags.env" w2-k8s-1.22: [kubelet-start] Starting the kubelet w2-k8s-1.22: [kubelet-start] Waiting for the kubelet to perform the TLS Bootstrap... w2-k8s-1.22: [kubelet-check] Initial timeout of 40s passed. w2-k8s-1.22: error execution phase kubelet-start: error uploading crisocket: timed out waiting for the condition w2-k8s-1.22: To see the stack trace of this error execute with --v=5 or higher The SSH command responded with a non-zero exit status. Vagrant assumes that this means the command failed. The output for this command should be in the log above. Please read the output to determine what went wrong. --- 일단 vagrant destroy w2-k8s-1.22 명령어를 통해 2번째 워커 노드만 삭제한 뒤 다시 vagrant up w2-k8s-1.22 를 해보겠습니다. 추가4) vagrant up w2-k8s-1.22 를 다시 했더니 이번에는 또 완전 다른 오류가 났습니다. [preflight] Running pre-flight checks 똑같이 pre-flight에서 5분 정도 멈춰있다가 error execution phase preflight: couldn't validate the identity of the API Server 라는 오류가 발생했습니다. 뒤죽박죽이네요 정말.. 구체적인 로그 내용입니다. --- w2-k8s-1.22: [preflight] Running pre-flight checks w2-k8s-1.22: error execution phase preflight: couldn't validate the identity of the API Server: Get "https://192.168.1.10:6443/api/v1/namespaces/kube-public/configmaps/cluster-info?timeout=10s": dial tcp 192.168.1.10:6443: connect: no route to host w2-k8s-1.22: To see the stack trace of this error execute with --v=5 or higher The SSH command responded with a non-zero exit status. Vagrant assumes that this means the command failed. The output for this command should be in the log above. Please read the output to determine what went wrong. 추가5) vagrant up w2-k8s-1.22 를 다시 했더니 이번에는 똑같은 오류가 났습니다. [preflight] Running pre-flight checks 똑같이 pre-flight에서 5분 정도 멈춰있다가 error execution phase preflight: couldn't validate the identity of the API Server 라는 완전히 똑같은 오류가 발생했습니다. 추가6) 이번에는 vagrant destroy를 하지 않고 vagrant provision w2-k8s-1.22 를 했더니 이번에는 아까 전에 발생했던 TLS 오류가 났습니다. [kubelet-start] Waiting for the kubelet to perform the TLS Bootstrap... 추가7) 한 번 더 vagrant provision w2-k8s-1.22 를 했더니 [ERROR FileAvailable--etc-kubernetes-kubelet.conf]: /etc/kubernetes/kubelet.conf already exists [ERROR Port-10250]: Port 10250 is in use [ERROR FileAvailable--etc-kubernetes-pki-ca.crt]: /etc/kubernetes/pki/ca.crt already exists 와 같은 오류가 발생했습니다. 아마도 destroy를 하지 않고 provision을 해서 발생한 에러 같습니다. --- w2-k8s-1.22: Running: C:/Users/LG/AppData/Local/Temp/vagrant-shell20211014-27004-srgcxt.sh w2-k8s-1.22: [preflight] Running pre-flight checks w2-k8s-1.22: error execution phase preflight: [preflight] Some fatal errors occurred: w2-k8s-1.22: [ERROR FileAvailable--etc-kubernetes-kubelet.conf]: /etc/kubernetes/kubelet.conf already exists w2-k8s-1.22: [ERROR Port-10250]: Port 10250 is in use w2-k8s-1.22: [ERROR FileAvailable--etc-kubernetes-pki-ca.crt]: /etc/kubernetes/pki/ca.crt already exists w2-k8s-1.22: [preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...` w2-k8s-1.22: To see the stack trace of this error execute with --v=5 or higher The SSH command responded with a non-zero exit status. Vagrant assumes that this means the command failed. The output for this command should be in the log above. Please read the output to determine what went wrong. 추가8) 이번에는 work_nodes.sh 파일의 kubeadm join 명령에 --ignore-preflight-errors all이라는 옵션을 추가한 뒤 vagrant destroy w2-k8s-1.22 및 vagrant up w2-k8s-1.22를 해봤는데 아까 발생했었던 error execution phase preflight: couldn't validate the identity of the API Server 라는 오류가 여전히 발생했습니다. 추가9) 이번에는 work_nodes.sh 파일에 'kubeadm join ~' 명령어보다 위에 'kubeadm config images pull' 명령어를 추가하였습니다. 이렇게 했더니 config image가 pull 되는 과정이 로그에 보여질 뿐, 여전히 error execution phase preflight: couldn't validate the identity of the API Server 라는 에러가 발생하였습니다. 추가10) 이번에는 https://stackoverflow.com/questions/61305498/kubernetes-couldnt-able-to-join-master-node-error-execution-phase-preflight 의 답변을 참고하여 마스터 노드에서 sudo ufw allow 6443 로 방화벽을 열어주었더니 지금까지 문제가 해결 되고 두번째 워커 노드 생성이 정상적으로 이루어졌습니다!
- 0
- 5
- 2.8K
질문&답변
2021.10.14
마스터 노드 쉘 스크립트 실행 시 오류
제 컴퓨터에 존재하는 모든 가상 머신을 VirtualBox 프로그램의 GUI를 통해 혹은 vagrant destroy 명령을 통해 완전 제거하고 C://User/.vagrant.d/boxes 내부의 폴더를 다 제거하고 C://User/VirtualBox VMs 내부의 폴더를 다 제거하고 다시 vagrant up를 했는데 에러가 발생하여서 질문을 드렸었습니다ㅎㅎ 혹시 C://User/.VirtualBox 내부의 log 파일이 남아 있어서 거기서 충돌이 나는 걸까 싶기도 했습니다. 일단 현재는 학교 실습 수업 진도를 따라 잡아야 해서 인프런 강의의 가상 머신은 없앴고, 교재의 가상 머신을 정상적으로 사용 중에 있습니다. 나중에 다시 인프런 강의의 가상 머신 vagrant up을 다시 시도할 때쯤 문제가 생긴다면 다시 질문 드리도록 하겠습니다!ㅎㅎ 정성스러운 답변에 감사드립니다!
- 0
- 5
- 2.8K
질문&답변
2021.10.14
마스터 노드 쉘 스크립트 실행 시 오류
이렇게만 설명 드려서 문제 전체를 완전히 해결해주시는 건 불가능하다는 걸 저도 알고 있기에 에러 로그만 보고 대충 어느 부분에서 문제가 있는 것 같다는 일부분의 힌트 정도라도 얻고 싶었습니다 성의 없는 질문에 불쾌하셨다면 죄송합니다! 강사님의 기분을 상하게 하려는 마음은 하나도 없었는데 제 이미지를 스스로 실추시키고 강사님도 당황하실 만한 상황을 만들어서 너무 속상하네요.. 사실 제가 정해진 데드라인 안에 졸업 작품을 마무리해야 하는 급박한 상황인데 vagrant up 하나 때문에 진도가 막혀서, 다음 작업을 진행 못해 팀원들에게 피해를 끼치게 될 것 같은 이런 상황이 스스로 너무 답답하고 한계를 느꼈고 (사실은 너무 스트레스를 받은 상태였습니다) 그래서 강사님께 에러 내용을 그대로 올려 드리고, 빨리 해결하고 싶은 마음에 그랬습니다. 하지만 그것은 제 사정일 뿐인 것이고, 강사님의 입장은 별도로 고려해야 하는 것이 옳은 일인데 전후사정 자초지종 설명 없이 질문만 떡하니 올려놓으니, 오해가 커질 법한 상황이었던 것 같습니다. 아무리 바쁘더라도 질문을 할 때는 예의를 갖추는 게 더 중요한 일인데, 제가 그런 부분을 등한시 했습니다. 이번 일은 반성하고, 앞으로는 조심하도록 하겠습니다. 죄송합니다!
- 0
- 5
- 2.8K
질문&답변
2021.10.12
EXTENAL IP가 pending 상태로 나옵니다.
영상 6분 10초에 metallb.yaml 파일의 경로가 ~/_Lecture_k8s.starterkit/ch2/2.4/로 되어 있는데 이게 아니라 ~/_Lecture_k8s_starter.kit/ch2/2.4/로 하니까 pending이 뜨는 오류가 해결 되었습니다.
- 2
- 3
- 1.8K