5.4.2.2. 워크로드에 풀 시크릿 사용
풀 시크릿을 사용하여 워크로드가 다음 방법 중 하나를 사용하여 프라이빗 레지스트리에서 이미지를 가져올 수 있습니다.
-
보안을
ServiceAccount에 연결하면 해당 서비스 계정을 사용하여 모든 Pod에 보안을 자동으로 적용합니다. -
작업 구성에서
imagePullSecrets를 직접 정의하면 GitOps 또는 ArgoCD와 같은 환경에 유용합니다.
프로세스
서비스 계정에 보안을 추가하여 Pod의 이미지를 가져오는 데 시크릿을 사용할 수 있습니다. 서비스 계정 이름은 Pod에서 사용하는 서비스 계정의 이름과 일치해야 합니다. 기본 서비스 계정은
default입니다.다음 명령을 입력하여 가져오기 보안을
ServiceAccount에 연결합니다.$ oc secrets link default <pull_secret_name> --for=pull변경 사항을 확인하려면 다음 명령을 입력합니다.
$ oc get serviceaccount default -o yaml출력 예
apiVersion: v1 imagePullSecrets: - name: default-dockercfg-123456 - name: <pull_secret_name> kind: ServiceAccount metadata: annotations: openshift.io/internal-registry-pull-secret-ref: <internal_registry_pull_secret> creationTimestamp: "2025-03-03T20:07:52Z" name: default namespace: default resourceVersion: "13914" uid: 9f62dd88-110d-4879-9e27-1ffe269poe3 secrets: - name: <pull_secret_name>
시크릿을 서비스 계정에 연결하는 대신 Pod 또는 워크로드 정의에서 직접 참조할 수 있습니다. 이는 ArgoCD와 같은 GitOps 워크플로우에 유용합니다. 예를 들면 다음과 같습니다.
Pod 사양의 예
apiVersion: v1 kind: Pod metadata: name: <secure_pod_name> spec: containers: - name: <container_name> image: quay.io/my-private-image imagePullSecrets: - name: <pull_secret_name>ArgoCD 워크플로우의 예
apiVersion: argoproj.io/v1alpha1 kind: Workflow metadata: generateName: <example_workflow> spec: entrypoint: <main_task> imagePullSecrets: - name: <pull_secret_name>