docker & k8s/kubernetes

[k8s] kubectl 로 docker login 정보 등록 하는 방법 - ImagePullBackOff 로그인 문제

정선생 2024. 4. 19. 00:00
반응형

private docker registry 를 사용할 경우 로그인 정보를 넣어줘야한다. docker 라면 docker login 명령으로 해결이 가능하다.

그런데 쿠버네티스 환경에서는 어떻게 로그인 정보를 넣어야 하는지 기억이 안날때가 있다.

$ docker login <private-docker-registry-url>
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
Username: 아이디
Password: 암호
Login Succeeded!

 

해결방법

쿠버네티스에서는 시크릿에 로그인 정보를 등록해서 관리가 가능하다.

pod 혹은 deployment 를 생성하고 로그인 정보가 없으면 ImagePullBackOff 가 나올수 있다.

이때는 아래와 같이 시크릿에 도커로그인 정보를 추가하고, POD 나 DEPLOYMENT 를 구성할때, imagePullSecrets 에 해당 시크릿 이름을 넣어주면 된다.

 

도커로그인 정보를 추가하는 방법은 아래와 같다.

kubectl create secret docker-registry 도커로그인_시크릿이름 \
  --docker-server=<private-docker-registry-url> \
  --docker-username=아이디 \
  --docker-password=패스워드

 

그리고, POD or DEPLOYMENT 를 구성하는 yaml 파일에 다음과 같이 imagePullSecrets 정보를 추가하면 된다.

apiVersion: apps/v1
kind: Deployment
metadata:
...생략....
      imagePullSecrets:
        - name: 도커로그인_시크릿이름
반응형