티스토리 뷰
GKE에서 docker hub에 있는 private 이미지를 pull하려면 인증이 필요하다. 이 인증을 어떤 타이밍에 어떻게 해주느냐가 관건인데, Secret을 만들고 Pod나 Deployment 생성시 Secret을 걸어주면 된다.
시크릿 생성하기
kubectl create secret docker-registry regcred --docker-server=<your-registry-server> --docker-username=<your-name> --docker-password=<your-pword> --docker-email=<your-email>
# <your-registry-server> : 프라이빗 도커 저장소의 FQDN. 도커허브는 https://index.docker.io/v2/ 이다.
# <your-name> : 도커 사용자의 계정
# <your-pword> : 도커 사용자의 비밀번호
# <your-email> : 도커 사용자의 이메일 주소
시크릿과 Pod 혹은 Deployment 연결하기
Pod나 Deployment 생성하는 yaml 파일에 아래와 같이 추가해주면 된다.
...
spec:
containers:
- name: private-reg-container
image: <your-private-image>
imagePullSecrets: # 이 부분!
- name: regcred
그리고 Pod나 Deployment이 성공적으로 생성된 것을 확인하면 끝.
시크릿 확인하기
위와 같은 과정으로 만든 시크릿을 확인하려면 아래의 명령어를 이용한다.
kubectl get secret regcred --output=yaml
위 명령어의 결과 중 .dockerconfigjson을 주목하면 된다. 이것은 base64로 인코딩되어있기 때문에 디코딩해주면 결과는 아래와 같다.
{"auths":{"your.private.registry.example.com":{"username":"janedoe","password":"xxxxxxxxxxx","email":"jdoe@example.com","auth":"c3R...zE2"}}}
출처 : https://kubernetes.io/ko/docs/tasks/configure-pod-container/pull-image-private-registry/
300x250
'공부흔적 > 쿠버네티스' 카테고리의 다른 글
Service에서 Pod를 어떻게 찾아서 접근하는지? (0) | 2022.04.27 |
---|---|
특정 profile yaml파일을 선택해서 파드 만들기 (0) | 2021.07.15 |
[대세는 쿠버네티스] GKE환경에서 대시보드 혹은 cmd창으로 생성하기, 노드에 접근하기 (0) | 2021.07.01 |
[대세는 쿠버네티스] GKE에서 서비스 생성시 external IP를 설정하는 문제 (0) | 2021.06.30 |
[대세는 쿠버네티스] GKE에서 dashboard 접근에 문제가 있을 때 (0) | 2021.06.30 |