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. 创建指向其他 Registry 的另一个 pod。pod 应该被拒绝。

    apiVersion: v1
    kind: Pod
    metadata:
      generateName: test-pod
    spec:
      containers:
      - image: different-registry/openshift/image-policy-check:latest
        name: first
  4. 使用导入的镜像创建指向内部 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
  5. 使用导入的镜像创建指向内部 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
  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
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.