Cloud platform/Google Cloud Platform
[GCR] registry 리전 설정 관련 주의사항
vince joe
2022. 9. 11. 02:02
GCR(Google Cloud Registry)은 Cloud Storage 버킷에 이미지를 저장합니다.
gcr.io 레지스트리에 이미지를 푸시하면 자동으로 버킷을 생성하는데요, 이 버킷의 위치는 기본적으로 us입니다.
asia.gcr.io 레지스트리는 버킷 위치가 asia 라서 아시아 서버인 경우 더 빨리 pull 받을 수 있습니다.
아무튼 그래서 github actions 워크플로에서 asia.gcr.io 레지스트리에 푸시를 하는데 계속 401 에러가 나왔습니다.
왜..? 권한도 문서에 있는대로 잘 준 것 같은데?
괜히 IAM Role만 계속 추가했다 뺐다.. 삽질을 반복했습니다
- name: Login to GCR
uses: docker/login-action@v2
with:
registry: asia.gcr.io
username: _json_key
password: ${{ secrets.GCR_JSON_KEY }}
- name: Build and push
uses: docker/build-push-action@v3
with:
context: open-market-server-app
push: true
tags: asia.gcr.io/${{ secrets.GCP_PROJECT_ID }}/server:latest
cache-from: type=gha
cache-to: type=gha,mode=max
결국 원인을 찾았는데, asia 리전의 registry로 푸시를 하면 docker login도 asia.gcr.io로 동일하게 해줘야 하는 것이었습니다.
저의 경우는 로그인은 gcr.io, 이미지 태그는 asia.gcr.io/...로 만들었더니 문제였네요 😞
참고
IAM으로 액세스 제어 | Container Registry 문서 | Google Cloud
의견 보내기 IAM으로 액세스 제어 알림 이 페이지를 개발자 프로필에 저장하여 중요 업데이트에 대한 알림을 받으세요. 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분
cloud.google.com
반응형