Menu Close

Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

11.5. 测试 ImagePolicy Admission 插件

  1. 使用 openshift/image-policy-check 来测试您的配置。

    例如,使用以上信息,然后测试如下:

    $ oc import-image openshift/image-policy-check:latest --confirm
  2. 使用此 YAML 创建 pod。应当创建 pod。

    apiVersion: v1
    kind: Pod
    metadata:
      generateName: test-pod
    spec:
      containers:
      - image: docker.io/openshift/image-policy-check:latest
        name: first
  3. 创建指向其他注册表的另一个 pod。pod 应该被拒绝。

    apiVersion: v1
    kind: Pod
    metadata:
      generateName: test-pod
    spec:
      containers:
      - image: different-registry/openshift/image-policy-check:latest
        name: first
  4. 使用导入的镜像创建指向内部注册表的 pod。pod 应该被创建,如果您查看镜像规格,您应该会看到一个摘要来代替标签。

    apiVersion: v1
    kind: Pod
    metadata:
      generateName: test-pod
    spec:
      containers:
      - image: <internal registry IP>:5000/<namespace>/image-policy-check:latest
        name: first
  5. 使用导入的镜像创建指向内部注册表的 pod。pod 应该被创建,如果您查看镜像规格,您应该会看到该标签未修改。

    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 annotate 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