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: 도커로그인_시크릿이름
반응형