트러블슈팅

카카오 클라우드 & Kubernetes 환경에 CD 트러블 슈팅 - 10

sowakemeup 2025. 8. 22. 00:54

문제:

container "user-service-container" in pod "user-service-deployment-59d7bfbcb5-4mwql" is waiting to start: trying and failing to pull image

 

401 unauthorized와 failed to authorized 라는 말이 보이는걸로 봐서는 Kakao Container Registry에 연결하려는데 권한이 없어서 일어나는 오류인 것 같다.

 

CI과정에서는 ci.yml파일에 있는 docker login을 통해 KCR에 로그인하고 push가 가능했지만, CD과정 (Kubernetes)에서는 로그인 정보를 모르기 때문에 접근이 거부당한 것 같다.

 

 

해결방법:

  1. 쿠버시크릿을 사용해서 KCR인증 시크릿을 생성

kubectl --kubeconfig=$KUBE_CONFIG create secret docker-registry kcr-secret --namespace=네임스페이스 이름 --docker-server=도커 서버 주소 --docker-username=도커 유저네임 --docker-password=도커 비밀번호

 

  1. 서비스 어카운트에 시크릿 연결

kubectl --kubeconfig=$KUBE_CONFIG patch serviceaccount default -n 네임스페이스 이름 -p '{"imagePullSecrets": [{"name": "kcr-secret"}]}'