2장. Cluster Samples Operator 구성

openshift 네임스페이스에서 작동하는 Cluster Samples Operator는 RHEL(Red Hat Enterprise Linux) 기반 OpenShift Container Platform 이미지 스트림 및 OpenShift Container Platform 템플릿을 설치하고 업데이트합니다.

2.1. Cluster Samples Operator 이해

설치 중에 Operator는 기본 구성 오브젝트를 생성한 후 샘플 이미지 스트림 및 빠른 시작 템플릿을 비롯한 템플릿을 생성합니다.

참고

인증 정보가 필요한 다른 레지스트리에서 이미지 스트림을 원활하게 가져오기 위해, 클러스터 관리자는 이미지 가져오기에 필요한 openshift 네임스페이스에서 Docker config.json 파일의 콘텐츠가 포함된 추가 시크릿을 생성할 수 있습니다.

Cluster Samples Operator 구성은 클러스터 전체 리소스이며 배포는 openshift-cluster-samples-operator 네임스페이스에 들어 있습니다.

Cluster Samples Operator 이미지에는 관련 OpenShift Container Platform 릴리스의 이미지 스트림 및 템플릿 정의가 포함되어 있습니다. 각 샘플이 생성되거나 업데이트되면 Cluster Samples Operator에 OpenShift Container Platform 버전을 나타내는 주석이 포함됩니다. Operator는 이 주석을 사용하여 각 샘플이 릴리스 버전과 일치하는지 확인합니다. 인벤토리 외부 샘플은 건너뛰기한 샘플과 마찬가지로 무시됩니다. Operator가 관리하는 샘플에서 버전 주석을 수정하거나 삭제해야 하는 수정 사항은 자동으로 취소됩니다.

참고

Jenkins 이미지는 설치의 이미지 페이로드에 포함되어 있으며 이미지 스트림에 직접 태그됩니다.

Cluster Samples Operator 구성 리소스에는 삭제 시 다음 항목을 정리하는 종료자가 포함되어 있습니다.

  • Operator가 관리하는 이미지 스트림
  • Operator가 관리하는 템플릿
  • Operator가 생성한 구성 리소스
  • 클러스터 상태 리소스

샘플 리소스를 삭제하면 Cluster Samples Operator에서 기본 구성을 사용하여 리소스를 다시 생성합니다.

2.1.1. Cluster Samples Operator의 관리 상태 사용

Cluster Samples Operator는 기본적으로 또는 글로벌 프록시가 구성된 경우 Managed 상태로 부트 스트랩됩니다. Managed 상태에서는 Cluster Samples Operator가 레지스트리에서 샘플 이미지 스트림과 이미지를 가져오고 필수 샘플 템플릿이 설치되었는지 확인하기 위해 적극적으로 리소스를 관리하며 구성 요소를 활성 상태로 유지합니다.

Cluster Samples Operator가 Removed으로 부트 스트랩되는 상황은 다음과 같습니다.

  • 새로 설치 후 초기 시작에서 3분이 경과해도 Cluster Samples Operator가 registry.redhat.io에 접속할 수 없는 경우
  • Cluster Samples Operator가 IPv6 네트워크에 있음을 탐지하는 경우
  • 이미지 컨트롤러 구성 매개변수 가 기본 이미지 레지스트리를 사용하거나 samplesRegistry 설정에서 지정한 이미지 레지스트리를 사용하여 이미지 스트림을 생성하지 못하도록 합니다.
참고

OpenShift Container Platform의 경우 기본 이미지 레지스트리는 registry.redhat.io 입니다.

그러나 Cluster Samples Operator가 IPv6 네트워크에 있고 OpenShift Container Platform 글로벌 프록시가 구성되어 있음을 감지하면 IPv6 검사가 모든 검사를 대체합니다. 결과적으로 Cluster Samples Operator가 Removed 로 부트 스트랩됩니다.

중요

IPv6 설치는 현재 registry.redhat.io에서 지원되지 않습니다. Cluster Samples Operator는 대부분의 샘플 이미지 스트림과 이미지를 registry.redhat.io에서 가져옵니다.

2.1.1.1. 제한된 네트워크 설치

registry.redhat.io에 액세스할 수 없을 때 Removed로 부트 스트랩하면 네트워크 제한이 이미 있는 경우 제한된 네트워크 설치를 원활하게 수행할 수 있습니다. 네트워크 액세스가 제한되어 있을 때 Removed 상태로 부트 스트랩하면 클러스터 관리자가 샘플이 필요한지 판단할 시간이 더 늘어납니다. 관리 상태가 Removed로 설정되면 Cluster Samples Operator가 샘플 이미지 스트림 가져오기에 실패했다는 경고를 제출하지 않기 때문입니다. Cluster Samples Operator가 Managed로 표시될 때 샘플 이미지 스트림을 설치하려고 하는 경우 실패한 가져오기가 있으면 초기 설치 후 2시간이 경과했을 때 경고가 시작됩니다.

2.1.1.2. 초기 네트워크 액세스를 통한 제한된 네트워크 설치

반대로, 네트워크 액세스가 가능한 동안 제한된 네트워크 또는 연결 해제된 클러스터로 설정할 클러스터가 먼저 설치되는 경우 Cluster Samples Operator는 registry.redhat.io의 콘텐츠에 액세스할 수 있기 때문에 해당 콘텐츠를 설치합니다. 필요한 샘플을 결정하고 이미지 미러를 설정하는 등의 작업을 수행할 때까지 샘플 설치를 미루도록 Cluster Samples Operator를 Removed 상태로 부트 스트랩하려면 대체 레지스트리를 통한 Samples Operator 사용 및 노드 사용자 정의 지침에 따릅니다. 둘 다 추가 리소스 섹션에 연결되어 있으며 Cluster Samples Operator 기본 구성을 재정의하여 처음에는 Removed로 표시되도록 합니다.

다음 추가 YAML 파일을 openshift-install create manifest를 통해 생성된 openshift 디렉토리에 지정해야 합니다.

managementState: Removed 상태의 Cluster Samples Operator YAML 파일 예

apiVersion: samples.operator.openshift.io/v1
kind: Config
metadata:
  name: cluster
spec:
  architectures:
  - x86_64
  managementState: Removed

2.1.2. Cluster Samples Operator의 이미지 스트림 가져오기 추적 및 오류 복구

샘플 이미지 스트림을 생성하거나 업데이트한 후 Cluster Samples Operator는 각 이미지 스트림 태그의 이미지 가져오기 진행 상황을 모니터링합니다.

가져오기에 실패하거나, Cluster Samples Operator 구성이 변경되어 해당 이미지 스트림이 skippedImagestreams 목록에 추가되거나, 관리 상태가 Removed로 변경되는 경우 Cluster Samples Operator는 oc import-image 명령에서 사용하는 것과 동일한 이미지 스트림 이미지 가져오기 API를 통해 가져오기가 성공할 때까지 약 15분마다 가져오기를 다시 시도합니다.

추가 리소스

2.1.3. 미러링을 위한 Cluster Samples Operator 지원

설치 프로세스 중에 OpenShift Container Platform은 openshift-cluster-samples-operator 네임스페이스에 imagestreamtag-to-image라는 구성 맵을 생성합니다. imagestreamtag-to-image 구성 맵에는 각 이미지 스트림 태그에 대한 이미지 채우기 항목이 포함되어 있습니다.

구성 맵의 데이터 필드에 있는 각 항목의 키 형식은 <image_stream_name>_<image_stream_tag_name>입니다.

OpenShift Container Platform의 연결이 끊긴 설치 프로세스 중에 Cluster Samples Operator의 상태가 Removed로 설정됩니다. Managed로 변경하려면 샘플이 설치됩니다.

참고

네트워크 제한 또는 중단된 환경에서 샘플을 사용하려면 네트워크 외부의 서비스에 액세스해야 할 수 있습니다. 일부 예제 서비스에는 GitHub, Maven Central, npm, RubyGems, PyPi 등이 있습니다. 클러스터 샘플 Operator의 오브젝트가 필요한 서비스에 도달할 수 있도록 하는 추가 단계가 있을 수 있습니다.

이 구성 맵을 사용하여 이미지 스트림을 가져오려면 이미지를 미러링해야 하는 이미지 참조로 사용할 수 있습니다.

  • Cluster Samples Operator가 Removed로 설정된 경우 미러링된 레지스트리를 생성하거나 사용할 기존 미러링된 레지스트리를 확인할 수 있습니다.
  • 새 구성 맵을 가이드로 사용하여 미러링된 레지스트리에 샘플을 미러링합니다.
  • Cluster Samples Operator 구성 개체의 skippedImagestreams 필드에 미러링되지 않은 이미지 스트림을 추가합니다.
  • Cluster Samples Operator 구성 개체의 samplesRegistry 를 미러링된 레지스트리로 설정합니다.
  • 그런 다음 Cluster Samples Operator를 Managed로 설정하여 미러링된 이미지 스트림을 설치합니다.

자세한 내용은 대체 레지스트리 또는 미러링된 레지스트리에서 Cluster Samples Operator 이미지 스트림 사용을 참조하십시오.