k8s 리소스에서 Private Registry를 통해 Image를 가져오는 방법

Donghyun Kim·2023년 5월 10일
1

Ip주소가 아닌 Host Alias를 사용하는 경우

apiVersion: v1
kind: Pod
metadata:
  name: private-reg
spec:
  hostAliases:
    - ip: "<ip>"
      hostnames:
        - "<hostname>"

Yaml파일의 spec: 다음 단락에 hostAliases 옵션을 추가하여 ip와 host alias를 작성하여 kubernetes 리소스가 해당 image 경로를 찾을 수 있도록 설정한다.

Private Registry 인증하기

저장소에 인증하기 위한 k8s secret을 생성한다.

kubectl create secret docker-registry regcred --docker-server=<your-registry-server> --docker-username=<your-name> --docker-password=<your-pword> --docker-email=<your-email>

secret 디코딩 값 검증

kubectl get secret regcred --output="jsonpath={.data.\.dockerconfigjson}" | base64 --decode

secret을 사용하는 리소스 생성

apiVersion: v1
kind: Pod
metadata:
  name: private-reg
spec:
  containers:
  - name: private-reg-container
    image: <your-private-image>
  imagePullSecrets:
  - name: regcred

imagePullSecrets 옵션을 추가해주고 해당 secret 명을 작성하여
image를 가져올 때 해당 secret을 통해 인증할 수 있도록 작성해준다.

profile
"Hello World"

0개의 댓글