inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

쉽게 시작하는 쿠버네티스(v1.35)

A.010.쿠버네티스 실습 랩(v1.20+)을 Vagrant가 아닌 이미지로 바로 구성 설치하는 법

OVA이미지 실습시, kubectl run nginx 안됨

301

EarthTraveler Lim

작성한 질문수 2

0

도저히 실습에 진도가 나가지않아서 삽질하다가 질문드립니다.

 

사내에서 실습하는데, 사내 Proxy로 인해 Vagrant로 동작이 안되서 만들어놓으신 Vagrantfile, sh 스크립트 파일까지 고쳐가면서 하나씩 뚫고 가다가 결국은 포기했습니다.

 

그래서 강의대로 OVA이미지 파일 4개를 Windows의 VirtualBox에 import하고 실행했는데요.

강의처럼 테스트로 nginx pod 하나 뛰워보면, 계속 상태가 아래와 같이 ContainerCreating에서 변하지 않습니다.

 

[root@m-k8s ~]# kubectl run nginx --image=nginx
pod/nginx created
[root@m-k8s ~]# kubectl get po -o wide
NAME    READY   STATUS              RESTARTS   AGE   IP       NODE     NOMINATED NODE   READINESS GATES
nginx   0/1     ContainerCreating   0          14s   <none>   w3-k8s   <none>           <none>

 

그래서 인터넷 뒤져서 descibe 명령을 해보면 아래와 같고요

[root@m-k8s ~]# k describe pods
Name:             nginx
....
Events:
  Type     Reason                  Age               From               Message
  ----     ------                  ----              ----               -------
  Normal   Scheduled               3m11s             default-scheduler  Successfully assigned default/nginx to w3-k8s
  Warning  FailedCreatePodSandBox  3m10s             kubelet            Failed to create pod sandbox: rpc error: code = Unknown desc = failed to setup network for sandbox "98c8cd593834608f6b964442a4253da3b4d5c8936ee5ba0b01d2b37dd58f7f07": plugin type="calico" failed (add): stat /var/lib/calico/nodename: no such file or directory: check that the calico/node container is running and has mounted /var/lib/calico/

 

kubelet.service 로그를 보면 아래와 같이 rpc error가 발생합니다.

[root@m-k8s ~]# journalctl -f -u kubelet.service
-- Logs begin at Fri 2024-05-31 13:58:40 KST. --
May 31 13:59:30 m-k8s kubelet[1170]: E0531 13:59:30.245464    1170 kuberuntime_gc.go:176] "Failed to stop sandbox before removing" err="rpc error: code = Unknown desc = failed to destroy network for sandbox \"684257523f2fa5084b4176cb38db77da2b32eaede58d0e565eafa9cd0a606167\": plugin type=\"calico\" failed (delete): error getting ClusterInformation: Get \"https://[10.96.0.1]:443/apis/crd.projectcalico.org/v1/clusterinformations/default\": dial tcp 10.96.0.1:443: i/o timeout" sandboxID="684257523f2fa5084b4176cb38db77da2b32eaede58d0e565eafa9cd0a606167"
May 31 13:59:40 m-k8s kubelet[1170]: E0531 13:59:40.856695    1170 remote_runtime.go:269] "StopPodSandbox from runtime service failed" err="rpc error: code = Unknown desc = failed to destroy network for sandbox \"e2e9812b51ac2134f3a12109f08b56c4475de7206dde4b4a127ca8ed418653b0\": plugin type=\"calico\" failed (delete): error getting ClusterInformation: Get \"https://[10.96.0.1]:443/apis/crd.projectcalico.org/v1/clusterinformations/default\": dial tcp 10.96.0.1:443: i/o timeout" podSandboxID="e2e9812b51ac2134f3a12109f08b56c4475de7206dde4b4a127ca8ed418653b0"
May 31 13:59:40 m-k8s kubelet[1170]: E0531 13:59:40.856857    1170 kuberuntime_manager.go:954] "Failed to stop sandbox" podSandboxID={Type:containerd ID:e2e9812b51ac2134f3a12109f08b56c4475de7206dde4b4a127ca8ed418653b0}

무엇이 문제일까요? ㅠ

  1. 위 로그에 "https://[10.96.0.1]:443/apis/crd.projectcalico.org/v1/clusterinformations/default"

    이 10.96.0.1 IP는 처음보는 IP인데 정상적인 IP는 맞을까요?

  2. OVA이미지 import할때 VirtualBox에 설정이 문제일까요?

  3. kubectl run nginx --image=nginx 할때 외부사이트에서 이미지를 받아오나요? 외부 사이트라면 ID/패스워드 인증없이 받아오는걸까요? 외부 registry면.. 또 Proxy 설정이나, SSL 인증이 문제가 될거 같기도 한데요...

docker kubernetes

답변 1

1

조훈(Hoon Jo)

안녕하세요

우선 외부의 연결이 없으면 모든 실습이 진행되지 않습니다.

그래서 외부 연결이 필요하다는 답변을 우선 드려야 할 것 같습니다.

 

연관해서

#3 docker hub에 있는 이미지를 받아옵니다. 이때 퍼블릭 이미지를 사용하기 때문에 필요한 인증은 따로 없습니다. (시간 당 사용 제한만 있습니다.)

 

#2은 문제가 없을 것 같습니다.

 

#1은 이미지를 받아오지 못해서 지우고 다시 받으려고 시도하는 과정 중에 발생하는 메시지로 보여집니다.

좀 더 구체적으로 CNI쪽(calico)가 네트워크 플러그인이니 그쪽으로 관련 메시지가 출력되는 것 입니다.

 

인터넷이 연결이 안되는 환경에서는 모든 실습이 진행되기 어렵습니다. 이건 현재 강의 뿐만 아니라 쿠버네티스로 강의를 만들었다면 거의 모두 동일할 것으로 예상됩니다.

 

따라서 인터넷이 연결되는 환경에서 실습을 권장 드립니다.

 

0

EarthTraveler Lim

회사내에서 Proxy로 인해,

다른 Tool들도 사용시 문제가 있을때마다 적절한 Proxy설정, Insecure설정등으로 어떻게 해결해왔는데요.

쿠버네티스는 복잡하고 까막눈이어서, 사내에서 문제를 해결하면서 실습해보기가 쉽지않네요.

답변 감사드립니다👍👍👍

1

조훈(Hoon Jo)

Proxy로 정해진 도메인 1개만 등록해야 하는게 아니다보니;;; 인터넷이 되는 환경이셔야 할꺼 같습니다...

힘드신 부분이겠네요. ㅜㅜ

환경 설정에 대하여

0

50

2

실습 환경 관련 질의

0

43

2

ch4 디렉토리

0

70

2

cp-k8s-1.30.0(github_SysNet4Admin).ova 파일 확인 부탁드립니다.

0

47

2

6.2 nfs_exporter Permission denied

0

70

2

12분 13초부터의 내용 질문

0

70

1

K8S https 로 try 하는 부분에 대한 Error 확인

0

78

1

deployment 관련 문의

0

83

3

kubectl get nodes 관련 문의

0

197

5

Vagrant 도 에러, OVA도 에러... 실습환경을 만드는게 너무 힘들어요~~~~~!!!!!!

0

112

3

Tabby를 설치후 Copy할때 오류

0

84

3

nginx run 시 ImagePullBackOff 발생

0

101

4

쿠버네티스 환경 구축 질문입니다.

0

110

2

virtualbox 설치 실패

1

122

2

2.4강 brew install 시 .rb 파일 미인식 (./virtualbox-v7.1.10/virtualbox.rb)

1

158

2

워커노드 OS SWAP 질문

0

58

1

2.4.베이그런트(Vagrant)+버추얼박스/vagrant up issue

0

125

2

k run chk-info --image=sysnet4admin/chk-info 에러..

0

99

2

vagrant up 시에 Running pre-flight checks 에서 에러

0

86

2

failed to pull and unpack image \"registry.k8s.io/kube-apiserver:v1.30.14\": context canceled"

0

184

2

vagrant up을 하면 설정과 다르게 설정이 됩니다.

0

123

2

Tabby 무응답

0

126

4

ova 입력시

0

161

3

vagrant up

0

161

2