오류 없이 컨테이너 이미지를 끌어올 수 있도록 포드 및 배포 규격에서 레지스트리 자격 증명 암호 및 참조를 생성합니다.

Docker Hub에는 이미지를 끌어오기 위한 계정이 필요합니다. Docker Hub 자격 증명을 사용하여 Kubernetes 암호를 생성하고 포드 및 배포 규격에서 이 암호를 참조할 수 있습니다.

이 방법은 다른 개인 레지스트리에도 사용할 수 있습니다.

사전 요구 사항

Ubuntu 클라이언트 시스템에 Docker를 설치합니다. https://docs.docker.com/engine/install/ubuntu/의 내용을 참조하십시오.

프로시저

  1. docker version을 실행하고 Docker가 설치되어 있는지 확인합니다.
  2. docker login -u USERNAME을 실행합니다.
  3. Docker Hub 암호를 입력합니다.
  4. cat ~/.docker/config.json을 실행합니다.
  5. 다음 명령을 실행하여 Docker Hub 액세스 자격 증명이 포함된 regcred라는 일반 암호를 생성합니다.
    kubectl create secret generic regcred \
        --from-file=.dockerconfigjson=/home/ubuntu/.docker/config.json \
        --type=kubernetes.io/dockerconfigjson
    
    secret/regcred created이 표시되어야 합니다.
  6. 암호를 확인합니다.
    kubectl get secrets
    
    NAME                  TYPE                                  DATA   AGE
    default-token-w7wqk   kubernetes.io/service-account-token   3      6h28m
    regcred               kubernetes.io/dockerconfigjson        1      3h22m
    
    YAML에서 regcred 암호를 참조합니다.
  7. 컨테이너 이미지에 대한 배포 규격 또는 포드의 imagePullSecrets 섹션에서 regcred 암호를 참조합니다.
    예:
    apiVersion: v1
    kind: Pod
    metadata:
      name: ping-pod
      namespace: default
    spec:
      containers:
      - image: busybox:1.34
        name: busybox
        command: ["ping", "-c"]
        args: ["1", "8.8.8.8"]
      imagePullSecrets:
      - name: regcred
      restartPolicy: Never