ECR에서 이미지를 받아오지 못하고있습니다
115
작성한 질문수 19
ECR에서 이미지를 못받아 오는거같습니다... 무슨 문제일까요..
NAME READY STATUS RESTARTS AGE
spring-deployment-6fdbd9cd87-j8ljj 0/1 ErrImagePull 0 6m1s
spring-deployment-6fdbd9cd87-mchqp 0/1 ErrImagePull 0 6m1s
spring-deployment-6fdbd9cd87-tp5x6 0/1 ErrImagePull 0 6m1sError from server (BadRequest): container "spring-container" in pod "spring-deployment-6fdbd9cd87-j8ljj" is waiting to start: trying and failing to pull imageEvents:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 4m7s default-scheduler Successfully assigned default/spring-deployment-6fdbd9cd87-j8ljj to ip
Normal Pulling 70s (x5 over 4m6s) kubelet Pulling image "960452239058.dkr.ecr.ap-northeast-2.amazonaws.com/kube-ecr:1.0"
Warning Failed 70s (x5 over 4m6s) kubelet Failed to pull image "960452239058.dkr.ecr.ap-northeast-2.amazonaws.com/kube-ecr:1.0": rpc error: code = NotFound desc = failed to pull and unpack image "960452239058.dkr.ecr.ap-northeast-2.amazonaws.com/kube-ecr:1.0": no match for platform in manifest: not found
Warning Failed 70s (x5 over 4m6s) kubelet Error: ErrImagePull
Normal BackOff 10s (x15 over 4m5s) kubelet Back-off pulling image "960452239058.dkr.ecr.ap-northeast-2.amazonaws.com/kube-ecr:1.0"
Warning Failed 10s (x15 over 4m5s) kubelet Error: ImagePullBackOff
아키텍처 불일치 문제 같은데
ARM64용 이미지 빌드 및 푸시를 해서 해결하려니
Dockerfile이 없다고
ERROR: failed to solve: failed to read dockerfile: open Dockerfile: no such file or directory
꼬리에 꼬리를 무는게 뭔가 잘못된방향으로 가는거 같아서 도움이 필요합니다..
답변 2
0
안녕하세요 gogo님! 질문 잘 해주셨어요~~
에러 메시지를 보니 아키텍처 불일치 문제는 맞는 것 같습니다!
이 부분은 문제점을 잘 파악하신 것 같네요
하지만 Dockerfile이 없어서 에러가 뜬 부분에서 문제가 생긴 것 같네요..!!
어떤 명령어를 입력했을 때 아래와 같은 에러 메시지가 떴는 지
화면 캡쳐 한 번 해주실 수 있을까요~??
ERROR: failed to solve: failed to read dockerfile: open Dockerfile: no such file or directory
그리고 명령어를 실행시키는 경로에 Dockerfile이 있는 지 여부도 캡쳐해서 보여주세요~~
0
# 멀티 아키텍처 이미지 빌드 (AMD64와 ARM64 모두 지원)
docker buildx create --name multiarchbuilder --use
docker buildx build --platform linux/amd64,linux/arm64 -t 960452239058.dkr.ecr.ap-northeast-2.amazonaws.com/kube-ecr:1.0 --push .
# 이 경우 YAML 파일의 이미지 참조를 변경할 필요가 없습니다위 명령어를 입력했을때 에러가 떴습니다!
명령어를 실행시키는 경로에 Dockerfile이 있는 지 여부도 캡쳐해서 보여주세요~~
=> spring-backend안에는 Dockerfile 있었어요!
현재 인스턴스를 삭제해놔서 캡쳐해서 보여드릴수가없어요 😂
0
아하 그렇군요..!!
보여주신 명령어를 Dockerfile이 있는 경로에서 실행시키시면
아마 말씀해주신 에러가 안 뜨지 않았을까 조심스럽게 추측해봅니다!
혹시 나중에 다시 인스턴스를 생성해서 테스트를 했는데도
똑같은 에러가 발생한다면 다시 한 번 질문 남겨주세요:D
0
안녕하세요, 인프런 AI 인턴입니다. gogo님.
ECR에서 이미지를 가져오지 못하고 있는 문제는 여러 가지 원인에 의해 발생할 수 있습니다. 주로 이미지의 플랫폼이 쿠버네티스 노드와 일치하지 않거나, 인증 문제가 있을 수 있습니다. 아래에 제안드리는 해결 방법들을 확인해 보세요.
문제 해결 방법
이미지 플랫폼 확인:
- 먼저, ECR 이미지가 어떤 플랫폼(예: amd64, arm64)으로 빌드되어 있는지 확인하세요. 이는
docker inspect명령어를 사용하여 로컬 환경에서 확인할 수 있습니다.
docker inspect --format='{{.Os}}/{{.Architecture}}' 960452239058.dkr.ecr.ap-northeast-2.amazonaws.com/kube-ecr:1.0- 먼저, ECR 이미지가 어떤 플랫폼(예: amd64, arm64)으로 빌드되어 있는지 확인하세요. 이는
노드의 플랫폼 확인:
- 쿠버네티스 노드의 플랫폼과 이미지의 플랫폼이 일치해야 합니다. 예를 들어, 노드가 amd64 기반이라면 해당 아키텍처에 맞춰 이미지가 빌드되어야 합니다.
- 쿠버네티스 노드의 플랫폼과 이미지의 플랫폼이 일치해야 합니다. 예를 들어, 노드가 amd64 기반이라면 해당 아키텍처에 맞춰 이미지가 빌드되어야 합니다.
ECR 로그인:
- Amazon ECR에 대한 인증이 제대로 설정되어 있는지 확인하세요. 이를 위해 다음과 같은 명령어로 ECR에 로그인이 되어 있는지 확인합니다.
aws ecr get-login-password --region ap-northeast-2 | docker login --username AWS --password-stdin 960452239058.dkr.ecr.ap-northeast-2.amazonaws.com- Amazon ECR에 대한 인증이 제대로 설정되어 있는지 확인하세요. 이를 위해 다음과 같은 명령어로 ECR에 로그인이 되어 있는지 확인합니다.
IAM 권한 확인:
- EC2 인스턴스나 각 노드에 연결된 IAM 역할에
AmazonEC2ContainerRegistryReadOnly또는AmazonEC2ContainerRegistryFullAccess권한이 있는지 확인하세요.
- EC2 인스턴스나 각 노드에 연결된 IAM 역할에
관련 질문 URL 및 게시물
- no match platform - 이미지의 플랫폼 차이로 인한 문제와 해결 방법에 대해 다루고 있는 게시물입니다.
- EC2에서 쿠버네티스로 백엔드(Spring Boot) 서버 띄우기 - ImagePullBackOff 오류와 관련된 여러 해결 방법들이 제안되어 있습니다.
이 방법들을 시도하신 후에도 문제가 계속된다면, 오류 메시지와 함께 더 자세한 정보를 제공해 주시면 추가로 분석하고 도와드리겠습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
실습을 가상환경에서 해도 따라하는데 지장이 없나요?
0
53
2
쿠버네티스 학습
0
52
1
Docker Desktop 설치 관련 질문드립니다!
0
69
2
섹션 3 (14강) 04:52 분경 yaml 파일 작성에 대한 질문드립니다.
0
87
2
쿠버네티스 다음 강의
0
76
2
html 적용이 되지 않음
0
67
1
ERROR [internal] load metadata for docker.io/library/openjdk:17-jdk
0
132
2
이미지가 없다고 에러가 계속 떠요
0
85
2
Deployment-service 연결 과정에서 오류..?
0
67
2
Secret이 외부 노출을 어떤 식으로 피할 수 있게 하는지
0
71
2
Secret을 활용한 환경변수 분리 강의자료 문의
0
67
2
도커 쿠버네티스 기다림 오류 문제..
0
135
2
쿠버네티스 고급편은 언제 나오나요?
0
87
1
질문있습니다.
0
68
2
pdf 자료에 섹션3 누락
0
70
3
pvc CrashLoopBackOff 문제
0
129
6
AMI 유형
0
65
2
마스터 노드 vs 워커 노드
0
118
2
aws eks --region ap-northeast-2 update-kubeconfig --name kube-practice 권한 거부
0
116
2
30000 Port로 접속이 안됩니다 ㅠㅠ
0
145
3
안녕하세요. 실습 환경 질문드립니다.
0
77
1
50강 빌드파일
0
62
2
빌드(jar 패키징) 오류 공유
0
73
2
Secret 질문
0
112
3





