11.3. ImagePolicy 승인 플러그인 구성


클러스터에서 실행할 수 있는 이미지를 구성하려면 master-config.yaml 파일에서 ImagePolicy 승인 플러그인을 구성합니다. 필요에 따라 하나 이상의 규칙을 설정할 수 있습니다.

  • 특정 주석이 있는 이미지를 거부합니다.

    이 규칙을 사용하여 특정 주석이 설정된 이미지를 모두 거부합니다. 다음은 images.openshift.io/deny-execution 주석을 사용하여 모든 이미지를 거부합니다.

    - name: execution-denied
      onResources:
      - resource: pods
      - resource: builds
      reject: true
      matchImageAnnotations:
      - key: images.openshift.io/deny-execution 1
        value: "true"
      skipOnResolutionFailure: true
    1
    특정 이미지가 해로운 것으로 간주된 경우 관리자는 이 주석을 설정하여 해당 이미지에 플래그를 지정할 수 있습니다.
  • 사용자가 Docker Hub에서 이미지를 실행할 수 있도록 활성화합니다.

    사용자가 Docker Hub의 이미지를 사용할 수 있도록 하려면 이 규칙을 사용합니다.

    - name: allow-images-from-dockerhub
      onResources:
        - resource: pods
        - resource: builds
        matchRegistries:
        - docker.io

다음은 master-config.yaml 파일에서 여러 ImagePolicy 추가 기능 플러그인 규칙을 설정하는 구성 예입니다.

주석이 있는 예제 파일

admissionConfig:
  pluginConfig:
    openshift.io/ImagePolicy:
      configuration:
        kind: ImagePolicyConfig
        apiVersion: v1
        resolveImages: AttemptRewrite 1
        executionRules: 2
        - name: execution-denied
          # Reject all images that have the annotation images.openshift.io/deny-execution set to true.
          # This annotation may be set by infrastructure that wishes to flag particular images as dangerous
          onResources: 3
          - resource: pods
          - resource: builds
          reject: true 4
          matchImageAnnotations: 5
          - key: images.openshift.io/deny-execution
            value: "true"
          skipOnResolutionFailure: true 6
        - name: allow-images-from-internal-registry
          # allows images from the internal registry and tries to resolve them
          onResources:
          - resource: pods
          - resource: builds
          matchIntegratedRegistry: true
        - name: allow-images-from-dockerhub
          onResources:
          - resource: pods
          - resource: builds
          matchRegistries:
          - docker.io
        resolutionRules: 7
        - targetResource:
            resource: pods
          localNames: true
          policy: AttemptRewrite
        - targetResource: 8
            group: batch
            resource: jobs
          localNames: true 9
          policy: AttemptRewrite

1
이미지를 변경할 수 없는 이미지 다이제스트로 확인하고 Pod의 이미지 가져오기 사양을 업데이트합니다.
2
들어오는 리소스에 대해 평가할 규칙 배열입니다. reject: true 규칙만 있는 경우 기본값은 모두 허용됩니다. 수락 규칙이 있는 경우 규칙에서 reject: false인 ImagePolicy의 기본 동작이 deny-all 로 전환됩니다.
3
규칙을 적용할 리소스를 나타냅니다. 아무것도 지정되지 않은 경우 기본값은 pods 입니다.
4
이 규칙이 일치하면 포드가 거부되어야 함을 나타냅니다.
5
이미지 오브젝트의 메타데이터와 일치시킬 주석 목록입니다.
6
이미지를 확인할 수 없는 경우 포드에 실패하지 마십시오.
7
Kubernetes 리소스에서 이미지 스트림을 사용하도록 허용하는 규칙 배열입니다. 기본 구성을 사용하면 Pod, replicationcontrollers, replicasets, statefulsets, daemonsets, 배포 및 작업이 이미지 필드에서 동일한 프로젝트 이미지 스트림 태그 참조를 사용할 수 있습니다.
8
이 규칙이 적용되는 그룹 및 리소스를 식별합니다. resource가 * 이면 이 규칙은 해당 그룹의 모든 리소스에 적용됩니다.
9
LocalNames 는 리소스 또는 대상 이미지 스트림에 로컬 이름 확인이 활성화된 경우에만 단일 세그먼트 이름(예 : ruby:2.5)을 네임스페이스-로컬 이미지 스트림 태그로 해석할 수 있습니다.
참고

일반적으로 기본 레지스트리 접두사(예: docker.io 또는 registry.redhat.io )를 사용하여 가져오는 인프라 이미지를 사용하는 경우 해당 이미지는 레지스트리 접두사가 없으므로 matchRegistries 값과 일치하지 않습니다. 인프라 이미지에 이미지 정책과 일치하는 레지스트리 접두사가 있도록 하려면 master-config .yaml 파일에 imageConfig. format 값을 설정합니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.