11.5. 测试 ImagePolicy Admission 插件
使用
openshift/image-policy-check
来测试您的配置。例如,使用以上信息,然后测试如下:
$ oc import-image openshift/image-policy-check:latest --confirm
使用此 YAML 创建 pod。应当创建 pod。
apiVersion: v1 kind: Pod metadata: generateName: test-pod spec: containers: - image: docker.io/openshift/image-policy-check:latest name: first
创建指向其他 Registry 的另一个 pod。pod 应该被拒绝。
apiVersion: v1 kind: Pod metadata: generateName: test-pod spec: containers: - image: different-registry/openshift/image-policy-check:latest name: first
使用导入的镜像创建指向内部 Registry 的 pod。pod 应该被创建,如果您查看镜像规格,您应该会看到一个摘要来代替标签。
apiVersion: v1 kind: Pod metadata: generateName: test-pod spec: containers: - image: <internal registry IP>:5000/<namespace>/image-policy-check:latest name: first
使用导入的镜像创建指向内部 Registry 的 pod。pod 应该被创建,如果您查看镜像规格,您应该会看到该标签未修改。
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 annotate 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