7.3.6. ImagePolicy 승인 플러그인
승인 제어 플러그인은 API에 대한 요청을 가로채고, 구성된 규칙에 따라 확인을 수행하며, 해당 규칙에 따라 특정 조치를 허용하거나 거부합니다. OpenShift Container Platform에서는 다음을 제어할 수 있는 ImagePolicy
승인 플러그인을 사용하여 환경에서 실행되는 허용된 이미지를 제한할 수 있습니다.
- 이미지 소스: 이미지를 가져오는 데 사용할 수 있는 레지스트리
- 이미지 해상도: 태그 변경 때문에 이미지가 변경되지 않도록 포드가 불변 다이제스트와 함께 실행되도록 강제 시행
- 컨테이너 이미지 레이블 제한 사항: 이미지에 특정 레이블이 있거나 없도록 강제 시행
- 이미지 주석 제한 사항: 통합 컨테이너 레지스트리의 이미지에 특정 주석이 있거나 없도록 강제 시행
ImagePolicy
승인 플러그인은 현재 베타로 간주됩니다.
프로시저
ImagePolicy
플러그인이 활성화된 경우 모든 마스터 노드에서/etc/origin/master/master-config.yaml
파일을 수정하여 외부 레지스트리를 사용할 수 있도록 수정해야 합니다.admissionConfig: pluginConfig: openshift.io/ImagePolicy: configuration: kind: ImagePolicyConfig apiVersion: v1 executionRules: - name: allow-images-from-other-registries onResources: - resource: pods - resource: builds matchRegistries: - docker.io - <my.registry.example.com> - registry.redhat.io
참고ImagePolicy
를 활성화하려면 애플리케이션을 배포할 때oc new-app kubernetes/guestbook
대신oc new-app docker.io/kubernetes/guestbook
과 같은 레지스트리를 지정해야 합니다. 그렇지 않으면 실패합니다.설치 시 승인 플러그인을 활성화하도록
openshift_master_admission_plugin_config
변수와 함께 모든pluginConfig
구성을 포함하는json
형식 문자열을 사용할 수 있습니다.openshift_master_admission_plugin_config={"openshift.io/ImagePolicy":{"configuration":{"kind":"ImagePolicyConfig","apiVersion":"v1","executionRules":[{"name":"allow-images-from-other-registries","onResources":[{"resource":"pods"},{"resource":"builds"}],"matchRegistries":["docker.io","*my.registry.example.com*","registry.redhat.io"]}]}}}