4.13. 연결이 끊긴 클러스터의 이미지 스트림 구성
연결이 끊긴 환경에 OpenShift Container Platform을 설치한 후 Cluster Samples Operator 및 must-gather
이미지 스트림에 대한 이미지 스트림을 구성합니다.
4.13.1. 미러링을 위한 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
로 설정하여 미러링된 이미지 스트림을 설치합니다.
4.13.2. 대체 레지스트리 또는 미러링된 레지스트리에서 Cluster Samples Operator 이미지 스트림 사용
Cluster Samples Operator에 의해 관리되는 openshift
네임스페이스에 있는 대부분의 이미지 스트림은 registry.redhat.io의 Red Hat 레지스트리에 있는 이미지를 참조합니다. 미러링은 이러한 이미지 스트림에 적용되지 않습니다.
jenkins
, jenkins-agent-maven
및 jenkins-agent-nodejs
이미지스트림은 설치 페이로드에서 가져오고 Samples Operator로 관리되므로 해당 이미지 스트림에 대한 추가 미러링 절차가 필요하지 않습니다.
Sample Operator 설정 파일에서 samplesRegistry
필드를 registry.redhat.io로 설정하는 것은 Jenkins 이미지 및 이미지 스트림을 제외하고 registry.redhat.io로 전송되기 때문에 중복될 수 있습니다.
설치 페이로드의 일부인 cli
, installer
, must-gather
및 test
이미지 스트림은 Cluster Samples Operator가 관리하지 않습니다. 이러한 내용은 이 절차에서 다루지 않습니다.
연결이 끊긴 환경에서 Cluster Samples Operator를 Managed
로 설정해야 합니다. 이미지 스트림을 설치하려면 미러링된 레지스트리가 있습니다.
사전 요구 사항
-
cluster-admin
역할의 사용자로 클러스터에 액세스할 수 있어야 합니다. - 미러 레지스트리의 풀 시크릿을 생성합니다.
프로세스
미러링할 특정 이미지 스트림의 이미지에 액세스합니다. 예를 들면 다음과 같습니다.
$ oc get is <imagestream> -n openshift -o json | jq .spec.tags[].from.name | grep registry.redhat.io
제한된 네트워크 환경에서 필요한 모든 이미지 스트림과 관련된 registry.redhat.io의 이미지를 지정된 미러 중 하나로 미러링합니다.
$ oc image mirror registry.redhat.io/rhscl/ruby-25-rhel7:latest ${MIRROR_ADDR}/rhscl/ruby-25-rhel7:latest
클러스터의 이미지 구성 오브젝트를 생성합니다.
$ oc create configmap registry-config --from-file=${MIRROR_ADDR_HOSTNAME}..5000=$path/ca.crt -n openshift-config
클러스터의 이미지 설정 오브젝트에서 미러에 필요한 신뢰할 수 있는 CA를 추가합니다.
$ oc patch image.config.openshift.io/cluster --patch '{"spec":{"additionalTrustedCA":{"name":"registry-config"}}}' --type=merge
미러 설정에 정의된 미러 위치의
hostname
부분을 포함하도록 Cluster Samples Operator 설정 오브젝트에서samplesRegistry
필드를 업데이트합니다.$ oc edit configs.samples.operator.openshift.io -n openshift-cluster-samples-operator
참고현재 이미지 스트림 가져오기 프로세스에서 미러 또는 검색 메커니즘이 사용되지 않기 때문에 이 작업이 필요합니다.
Cluster Samples Operator 구성 오브젝트의
skippedImagestreams
필드에 미러링되지 않은 이미지 스트림을 추가합니다. 또는 샘플 이미지 스트림을 모두 지원할 필요가 없는 경우 Cluster Samples Operator 구성 오브젝트에서 Cluster Samples Operator를Removed
로 설정합니다.참고이미지 스트림 가져오기가 실패했으나 Cluster Samples Operator가 주기적으로 재시도하거나 재시도하지 않는 것처럼 보이면 Cluster Samples Operator는 경고를 발행합니다.
openshift
네임스페이스의 여러 템플릿은 이미지 스트림을 참조합니다. 따라서Removed
를 사용하여 이미지 스트림과 템플릿을 모두 제거하면 누락된 이미지 스트림으로 인해 기능이 제대로 작동하지 않을 경우 템플릿을 사용할 가능성이 없어집니다.
4.13.3. 지원 데이터 수집을 위해 클러스터 준비
제한된 네트워크를 사용하는 클러스터는 Red Hat 지원을 위한 디버깅 데이터를 수집하기 위해 기본 must-gather 이미지를 가져와야합니다. must-gather 이미지는 기본적으로 가져 오지 않으며 제한된 네트워크의 클러스터는 원격 저장소에서 최신 이미지를 가져 오기 위해 인터넷에 액세스할 수 없습니다.
절차
미러 레지스트리의 신뢰할 수 있는 CA를 Cluster Samples Operator 설정의 일부로 클러스터의 이미지 구성 오브젝트에 추가하지 않은 경우 다음 단계를 수행합니다.
클러스터의 이미지 구성 오브젝트를 생성합니다.
$ oc create configmap registry-config --from-file=${MIRROR_ADDR_HOSTNAME}..5000=$path/ca.crt -n openshift-config
클러스터의 이미지 설정 오브젝트에서 미러에 필요한 신뢰할 수 있는 CA를 추가합니다.
$ oc patch image.config.openshift.io/cluster --patch '{"spec":{"additionalTrustedCA":{"name":"registry-config"}}}' --type=merge
설치 페이로드에서 기본 must-gather 이미지를 가져옵니다.
$ oc import-image is/must-gather -n openshift
oc adm must-gather
명령을 실행하는 경우 다음 예와 같이 --image
플래그를 사용하고 페이로드 이미지를 가리키십시오.
$ oc adm must-gather --image=$(oc adm release info --image-for must-gather)