11.5. ImagePolicy 승인 플러그인 테스트
openshift/image-policy-check
를 사용하여 구성을 테스트합니다.예를 들어 위의 정보를 사용한 다음 다음과 같이 테스트합니다.
$ oc import-image openshift/image-policy-check:latest --confirm
이 YAML을 사용하여 포드를 생성합니다. 포드가 생성되어야 합니다.
apiVersion: v1 kind: Pod metadata: generateName: test-pod spec: containers: - image: docker.io/openshift/image-policy-check:latest name: first
다른 레지스트리를 가리키는 다른 포드를 생성합니다. 포드는 거부해야 합니다.
apiVersion: v1 kind: Pod metadata: generateName: test-pod spec: containers: - image: different-registry/openshift/image-policy-check:latest name: first
가져온 이미지를 사용하여 내부 레지스트리를 가리키는 포드를 생성합니다. 포드가 생성되어야 하며 이미지 사양을 보면 태그 대신 다이제스트가 표시되어야 합니다.
apiVersion: v1 kind: Pod metadata: generateName: test-pod spec: containers: - image: <internal registry IP>:5000/<namespace>/image-policy-check:latest name: first
가져온 이미지를 사용하여 내부 레지스트리를 가리키는 포드를 생성합니다. 포드가 생성되어야 하며 이미지 사양을 보는 경우 태그가 수정되지 않아야 합니다.
apiVersion: v1 kind: Pod metadata: generateName: test-pod spec: containers: - image: <internal registry IP>:5000/<namespace>/image-policy-check:v1 name: first
oc get istag/image-policy-check:latest
에서 다이제스트를 가져와서oc 주석 images/<digest> images.openshift.io/deny-execution=true
에 사용합니다. 예를 들면 다음과 같습니다.$ oc annotate images/sha256:09ce3d8b5b63595ffca6636c7daefb1a615a7c0e3f8ea68e5db044a9340d6ba8 images.openshift.io/deny-execution=true
이 Pod를 다시 생성하면 Pod가 거부되어야 합니다.
apiVersion: v1 kind: Pod metadata: generateName: test-pod spec: containers: - image: <internal registry IP>:5000/<namespace>/image-policy-check:latest name: first