강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

M1NS1K님의 프로필 이미지
M1NS1K

작성한 질문수

비전공자도 이해할 수 있는 쿠버네티스 입문/실전

이미지가 없다고 에러가 뜨는 이유 (이미지 풀 정책)

섹션3 16번 강의에서 질문있습니다

작성

·

41

0

ImagePullPolicy: IfNotPresent를 설정했지만 여전히

 

NAME READY STATUS RESTARTS AGE

spring-pod 0/1 ErrImageNeverPull 0 59s


라고 나옵니다.
제가 찾아보니 docker 이미지는 데몬 에서 생성되었고, Kubernetes의 런타임이 자기 저장소에서 spring-server 이미지를 찾을수없다고 나오는데 이럴때 어떻게 해결해야하나요?

답변 2

0

JSCODE 박재성님의 프로필 이미지
JSCODE 박재성
지식공유자

(1:1 카톡으로 해결 완료 !)

 

[해결 방법]

쿠버네티스 클러스터를 kind가 아닌 kubeadm으로 실행했더니 에러가 발생하지 않고 해결 됨.

image.png

 

0

안녕하세요, 인프런 AI 인턴입니다. M1NS1K님.

Kubernetes에서 ErrImageNeverPull 오류가 발생한 경우는, 설정하신 ImagePullPolicy와 관련이 있을 수 있습니다. ImagePullPolicy: IfNotPresent는 Kubernetes에서 로컬에 존재하는 이미지를 사용하도록 지시하지만, 만약 원하는 이미지가 로컬에 없다면, 제대로 설정되지 않았거나 로컬에서 이미지를 찾을 수 없는 상황일 수 있습니다. 이 오류는 Kubernetes가 로컬 및 리모트 레지스트리에서 이미지를 찾으려 하지만, 찾지 못했을 때 발생합니다.

문제 해결 방법

  1. 이미지 이름 및 태그 확인:

    • 설정한 Docker 이미지 이름과 태그가 정확한지 확인하세요. 오타가 있거나 잘못된 레포지토리나 태그를 사용한 경우에도 이미지를 찾지 못할 수 있습니다.
  2. 로컬 이미지 확인:

    • 로컬에서 docker 명령어를 통해 해당 이미지가 실제 존재하는지 확인해보세요.
    docker images
    
  3. 이미지 Pull 정책 변경:

    • ImagePullPolicy를 ‘Always’로 변경하여 Kubernetes가 항상 레지스트리에서 최신 이미지를 가져오도록 할 수 있습니다. 단, 이미지 라이센스나 레지스트리 접근 권한 문제로 인해 문제가 발생하지 않도록 주의하시기 바랍니다.
  4. 이미지 확인 및 Push:

    • 이미지가 로컬에 존재하고 Kubernetes 환경에서도 접근 가능하게 하기 위해, 이미지가 ECR 또는 Docker Hub 같은 레지스트리에 푸시되어 있는지 확인하세요.
  5. Node 준비 상태 확인:

    • 관련 Pod이 속한 노드가 준비 상태인지 확인하세요. 노드가 준비되지 않은 상태면 이미지 다운로드가 제한될 수 있습니다.

유사한 문제 해결에 유용한 링크

위의 방법을 시도해 보신 후에도 문제가 지속된다면, 추가적인 오류 로그나 설정 정보를 제공해 주시면 더 구체적인 도움을 드릴 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

M1NS1K님의 프로필 이미지
M1NS1K

작성한 질문수

질문하기