5.4.2.2. 워크로드에 풀 시크릿 사용
워크로드가 OpenShift Container Platform의 프라이빗 레지스트리에서 이미지를 가져올 수 있도록 하려면 oc secrets link 명령을 입력하거나 워크로드 구성 YAML 파일에 직접 정의하여 서비스 계정에 가져오기 보안을 연결할 수 있습니다.
프로세스
다음 명령을 입력하여 서비스 계정에 가져오기 보안을 연결합니다. 서비스 계정 이름은 Pod에서 사용하는 서비스 계정의 이름과 일치해야 합니다. 기본 서비스 계정은
default입니다.$ 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>