Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

11.5. ImagePolicy 승인 플러그인 테스트

  1. openshift/image-policy-check 를 사용하여 구성을 테스트합니다.

    예를 들어 위의 정보를 사용한 다음 다음과 같이 테스트합니다.

    $ oc import-image openshift/image-policy-check:latest --confirm
  2. 이 YAML을 사용하여 포드를 생성합니다. 포드가 생성되어야 합니다.

    apiVersion: v1
    kind: Pod
    metadata:
      generateName: test-pod
    spec:
      containers:
      - image: docker.io/openshift/image-policy-check:latest
        name: first
  3. 다른 레지스트리를 가리키는 다른 포드를 생성합니다. 포드는 거부해야 합니다.

    apiVersion: v1
    kind: Pod
    metadata:
      generateName: test-pod
    spec:
      containers:
      - image: different-registry/openshift/image-policy-check:latest
        name: first
  4. 가져온 이미지를 사용하여 내부 레지스트리를 가리키는 포드를 생성합니다. 포드가 생성되어야 하며 이미지 사양을 보면 태그 대신 다이제스트가 표시되어야 합니다.

    apiVersion: v1
    kind: Pod
    metadata:
      generateName: test-pod
    spec:
      containers:
      - image: <internal registry IP>:5000/<namespace>/image-policy-check:latest
        name: first
  5. 가져온 이미지를 사용하여 내부 레지스트리를 가리키는 포드를 생성합니다. 포드가 생성되어야 하며 이미지 사양을 보는 경우 태그가 수정되지 않아야 합니다.

    apiVersion: v1
    kind: Pod
    metadata:
      generateName: test-pod
    spec:
      containers:
      - image: <internal registry IP>:5000/<namespace>/image-policy-check:v1
        name: first
  6. 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
  7. 이 Pod를 다시 생성하면 Pod가 거부되어야 합니다.

    apiVersion: v1
    kind: Pod
    metadata:
      generateName: test-pod
    spec:
      containers:
      - image: <internal registry IP>:5000/<namespace>/image-policy-check:latest
        name: first