강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của ijb189604
ijb189604

câu hỏi đã được viết

Bắt đầu với Kubernetes một cách dễ dàng (v1.35)

2.1.Lý do tích hợp môi trường thực hành Kubernetes-v1.30

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

Viết

·

171

0

질문 답변을 제공하지만, 강의 비용에는 Q&A는 포함되어 있지 않습니다.
다만 실습이 안되거나, 잘못된 내용의 경우는 알려주시면 가능한 빠르게 조치하겠습니다!

[질문 전 답변]
1. 강의에서 다룬 내용과 관련된 질문인가요? [예 | 아니요]
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? [예 | 아니요]
3. 질문 잘하기 법을 읽어보셨나요? [예 | 아니요]
(https://inf.run/DvsRD)
4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
5. vagrant up 에서 발생하는 문제는 주로 호스트 시스템(Windows, MacOS)과 연관된 다양한 조건에 의해 발생합니다. 따라서 이를 모두 제가 파악할 수 없어서 해결이 어렵습니다. vagrant up으로 진행이 어렵다면 제공해 드리는 가상 머신(VM) 이미지를 import해서 진행하시기 바랍니다.
(https://inf.run/Ljaer)

 

Vagrant up을 하면, kubeadm init 단계에서 이미지를 가져오지 못하고 아래아 같이 멈추어 있습니다.

ping google.com을 통해 외부 연결은 정상적으로 되는건 확인했습니다.

어떤 부분을 더 체크해야 할까요?

==> cp-k8s-1.30.1: Running provisioner: shell...                                                                                                                                                                   

cp-k8s-1.30.1: Running: /var/folders/p7/4nthz5pn0g983598nhw8gqd00000gn/T/vagrant-shell20250627-87887-ucssq0.sh

cp-k8s-1.30.1: I0627 19:51:36.035198 3710 version.go:256] remote version is much newer: v1.33.2; falling back to: stable-1.30

cp-k8s-1.30.1: [init] Using Kubernetes version: v1.30.14

cp-k8s-1.30.1: [preflight] Running pre-flight checks

cp-k8s-1.30.1: [preflight] Pulling images required for setting up a Kubernetes cluster

cp-k8s-1.30.1: [preflight] This might take a minute or two, depending on the speed of your internet connection

cp-k8s-1.30.1: [preflight] You can also perform this action in beforehand using 'kubeadm config images pull'

cp-k8s-1.30.1: W0627 19:51:36.766582 3710 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.

 

 

Log:

 

sudo journalctl -u containerd -f --since "10 minutes ago"       
Jun 27 19:51:35 cp-k8s systemd[1]: Started containerd container runtime.                                                                                                                                           

Jun 27 19:51:36 cp-k8s containerd[3591]: time="2025-06-27T19:51:36.782079946+09:00" level=info msg="PullImage \"registry.k8s.io/kube-apiserver:v1.30.14\""

Jun 27 19:54:57 cp-k8s containerd[3591]: time="2025-06-27T19:54:57.270115838+09:00" level=info msg="PullImage \"registry.k8s.io/kube-apiserver:v1.30.14\""

Jun 27 19:56:35 cp-k8s containerd[3591]: time="2025-06-27T19:56:35.785071330+09:00" level=error msg="PullImage \"registry.k8s.io/kube-apiserver:v1.30.14\" failed" error="rpc error: code = Canceled desc = failed

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

Jun 27 19:57:26 cp-k8s containerd[3591]: time="2025-06-27T19:57:26.762161620+09:00" level=error msg="PullImage \"registry.k8s.io/kube-apiserver:v1.30.14\" failed" error="failed to pull and unpack image \"registr

y.k8s.io/kube-apiserver:v1.30.14\": failed to copy: read tcp 10.0.2.15:48760->52.219.124.238:443: read: connection reset by peer"

Jun 27 19:57:26 cp-k8s containerd[3591]: time="2025-06-27T19:57:26.770337247+09:00" level=info msg="PullImage \"registry.k8s.io/kube-apiserver:v1.30.14\""

 

 


[질문 하기]

dockerkubernetes

Câu trả lời 2

0

kubernetes님의 프로필 이미지
kubernetes
Người chia sẻ kiến thức

안녕하세요

현재 환경에 보안 부분(랩탑, 네트워크)를 제가 알 수 없어서요. 그거 관련처럼 보여지는데요.

개인 랩탑(회사 수준의 보안 프로그램이 없는) + 집(특별히 보안 설정이 걸리지 않은 네트워크)에서 혹시 해보고 알려주실 수 있을까요?

ijb189604님의 프로필 이미지
ijb189604
Người đặt câu hỏi

안녕하세요. 조훈님

집에서 MAC 환경에서 테스트 하고 있습니다.

다른 서버에서 파일 다운로드는 잘 되는데 유독 registry.k8s.io 여기서 이미지 다운로드가 잘 안되네요.

3일째 계속 kubeadm init을 하고 있고, etcd 다운로드에 멈추어 있습니다.

 

I0701 07:43:24.889861    3876 kubelet.go:196] the value of KubeletConfiguration.cgroupDriver is empty; setting it to "systemd"                                                                                     

I0701 07:43:24.892338 3876 version.go:187] fetching Kubernetes version from URL: https://dl.k8s.io/release/stable-1.txt

I0701 07:43:25.870526 3876 version.go:256] remote version is much newer: v1.33.2; falling back to: stable-1.30

I0701 07:43:25.870564 3876 version.go:187] fetching Kubernetes version from URL: https://dl.k8s.io/release/stable-1.30.txt

[init] Using Kubernetes version: v1.30.14

[preflight] Running pre-flight checks

I0701 07:43:26.528888 3876 checks.go:561] validating Kubernetes and kubeadm version

I0701 07:43:26.529030 3876 checks.go:166] validating if the firewall is enabled and active

I0701 07:43:26.533031 3876 checks.go:201] validating availability of port 6443

I0701 07:43:26.533189 3876 checks.go:201] validating availability of port 10259

I0701 07:43:26.533207 3876 checks.go:201] validating availability of port 10257

I0701 07:43:26.533214 3876 checks.go:278] validating the existence of file /etc/kubernetes/manifests/kube-apiserver.yaml

I0701 07:43:26.533232 3876 checks.go:278] validating the existence of file /etc/kubernetes/manifests/kube-controller-manager.yaml

I0701 07:43:26.533236 3876 checks.go:278] validating the existence of file /etc/kubernetes/manifests/kube-scheduler.yaml

I0701 07:43:26.533238 3876 checks.go:278] validating the existence of file /etc/kubernetes/manifests/etcd.yaml

I0701 07:43:26.533309 3876 checks.go:428] validating if the connectivity type is via proxy or direct

I0701 07:43:26.533337 3876 checks.go:467] validating http connectivity to first IP address in the CIDR

I0701 07:43:26.533344 3876 checks.go:467] validating http connectivity to first IP address in the CIDR

I0701 07:43:26.533351 3876 checks.go:102] validating the container runtime

I0701 07:43:26.544965 3876 checks.go:637] validating whether swap is enabled or not

I0701 07:43:26.545190 3876 checks.go:368] validating the presence of executable crictl

I0701 07:43:26.545204 3876 checks.go:368] validating the presence of executable conntrack

I0701 07:43:26.545211 3876 checks.go:368] validating the presence of executable ip

I0701 07:43:26.545220 3876 checks.go:368] validating the presence of executable iptables

I0701 07:43:26.545230 3876 checks.go:368] validating the presence of executable mount

I0701 07:43:26.545237 3876 checks.go:368] validating the presence of executable nsenter

I0701 07:43:26.545245 3876 checks.go:368] validating the presence of executable ebtables

I0701 07:43:26.545251 3876 checks.go:368] validating the presence of executable ethtool

I0701 07:43:26.545256 3876 checks.go:368] validating the presence of executable socat

I0701 07:43:26.545262 3876 checks.go:368] validating the presence of executable tc

I0701 07:43:26.545267 3876 checks.go:368] validating the presence of executable touch

I0701 07:43:26.545275 3876 checks.go:514] running all checks

I0701 07:43:26.552015 3876 checks.go:399] checking whether the given node name is valid and reachable using net.LookupHost

I0701 07:43:26.552048 3876 checks.go:603] validating kubelet version

I0701 07:43:26.575242 3876 checks.go:128] validating if the "kubelet" service is enabled and active

I0701 07:43:26.579493 3876 checks.go:201] validating availability of port 10250

I0701 07:43:26.579532 3876 checks.go:327] validating the contents of file /proc/sys/net/ipv4/ip_forward

I0701 07:43:26.579579 3876 checks.go:201] validating availability of port 2379

I0701 07:43:26.579773 3876 checks.go:201] validating availability of port 2380

I0701 07:43:26.579797 3876 checks.go:241] validating the existence and emptiness of directory /var/lib/etcd

[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'

I0701 07:43:26.579840 3876 checks.go:830] using image pull policy: IfNotPresent

W0701 07:43:26.589241 3876 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.

I0701 07:43:26.597638 3876 checks.go:862] image exists: registry.k8s.io/kube-apiserver:v1.30.14

I0701 07:43:26.610517 3876 checks.go:862] image exists: registry.k8s.io/kube-controller-manager:v1.30.14

I0701 07:43:26.618696 3876 checks.go:862] image exists: registry.k8s.io/kube-scheduler:v1.30.14

I0701 07:43:26.631148 3876 checks.go:862] image exists: registry.k8s.io/kube-proxy:v1.30.14

I0701 07:43:26.640611 3876 checks.go:862] image exists: registry.k8s.io/coredns/coredns:v1.11.1

I0701 07:43:26.653343 3876 checks.go:862] image exists: registry.k8s.io/pause:3.9

I0701 07:43:26.663923 3876 checks.go:870] pulling: registry.k8s.io/etcd:3.5.12-0

kubernetes님의 프로필 이미지
kubernetes
Người chia sẻ kiến thức

안녕하세요

퍼블릭 공간에 있는 VM에서 위의 이미지를 내려받아봤는데 문제 없이 받아집니다.

docker pull registry.k8s.io/kube-apiserver:v1.30.1
v1.30.1: Pulling from kube-apiserver
b2ce0e066077: Pull complete 
2bdf44d7aa71: Pull complete 
058cf3d8c2ba: Pull complete 
b6824ed73363: Pull complete 
7c12895b777b: Pull complete 
33e068de2649: Pull complete 
5664b15f108b: Pull complete 
27be814a09eb: Pull complete 
4aa0ea1413d3: Pull complete 
3f4e2c586348: Pull complete 
9aee425378d2: Pull complete 
6625e293fdbf: Pull complete 
7049b48d24f8: Pull complete 
Digest: sha256:0d4a3051234387b78affbcde283dcde5df21e0d6d740c80c363db1cbb973b4ea
Status: Downloaded newer image for registry.k8s.io/kube-apiserver:v1.30.1
registry.k8s.io/kube-apiserver:v1.30.1^C

(왜 빨간색이지...)

이에 현재 사용하시는 어떤 환경과 연관이 있을꺼 같은데...

제가 추정할 수 있는 정보가 없어서요.

집 외에 다른 네트워크를 이용해 보시거나, 다른 랩탑을 이용하시거나

관련 설정을 변경하시거나 하는 방법을 통해서 문제를 해결하셔야 할 것 같습니다.

0

안녕하세요, 인프런 AI 인턴입니다. 임재봉님이 겪고 계신 이미지를 가져오는 문제에 대해 도와드리겠습니다.

명령어 vagrant up 실행 후 kubeadm init 단계에서 이미지 다운로드가 실패하는 상황은 종종 네트워크 문제, DNS 설정, 또는 Docker/Containerd의 설정 문제로 인해 발생할 수 있습니다. 질문 내용을 바탕으로 몇 가지 해결 방법을 안내해 드리겠습니다:

1. 네트워크 설정 확인

  • DNS 설정: 클러스터 내의 모든 노드에서 DNS 설정을 확인하세요. /etc/resolv.conf 파일에 DNS 서버(예: 8.8.8.8 또는 1.1.1.1)가 올바르게 설정되어 있는지 확인합니다.
  • 화면에 표시된 네트워크 관련 에러 메시지: read: connection reset by peer는 네트워크가 불안정하거나, 외부 레지스트리와의 연결이 중단되었음을 나타냅니다. 다른 네트워크로 전환하거나 VPN을 사용하는 것도 시도해 볼 수 있습니다.

2. 로그 및 오류 메시지 분석

  • 제공한 로그에서 “rpc error: code = Canceled” 및 “connection reset by peer” 오류가 나타나고 있습니다. 이는 연결 중단이나 제한으로 인해 발생할 수 있습니다.

3. Docker/Containerd 설정 수정

  • 네트워크 미러 설정: 특정 레지스트리에 대한 미러 설정을 추가하여 다운로드 속도를 개선할 수 있습니다. /etc/docker/daemon.json 파일에 레지스트리 URL을 추가하거나, containerd의 구성 파일에서 미러를 설정할 수 있습니다.

4. 디버깅 수행

  • curl 등의 명령어를 사용하여 외부 네트워크 연결이 정상적으로 이루어지고 있는지, 다른 웹사이트 접근이 원활한지를 확인합니다.

5. 이미 확인한 외부 네트워크

  • 외부 인터넷 연결이 이미 정상적으로 동작하는 것으로 보이니, 위의 설정들을 다시 한 번 꼼꼼히 확인해보세요.

관련 문제에 대한 정보를 확인할 수 있는 이전 질문 사례입니다: vagrant up 실행시 오류 발생

현재 베타 기능으로 인해 답변이 만족스럽지 않을 수 있습니다.🙂 추가적으로 도움이 필요하시면 이어서 질문해 주세요. 지식 공유자께서도 직접적인 해결을 제공해 주실 수 있습니다. 🙏

지금까지 사용자의 문제와 유사한 해결 방법을 제공해 드렸습니다. 추가적으로 궁금한 점이 있으시면 계속 질문해 주세요. 감사합니다.

Hình ảnh hồ sơ của ijb189604
ijb189604

câu hỏi đã được viết

Đặt câu hỏi