4.15. Operator의 초기 설정
컨트롤 플레인이 초기화된 후 일부 Operator를 즉시 구성하여 모두 사용 가능하도록 해야 합니다.
사전 요구 사항
- 컨트롤 플레인이 초기화되어 있습니다.
프로세스
클러스터 구성 요소가 온라인 상태인지 확인합니다.
$ watch -n5 oc get clusteroperators
출력 예
NAME VERSION AVAILABLE PROGRESSING DEGRADED SINCE authentication 4.12.0 True False False 19m baremetal 4.12.0 True False False 37m cloud-credential 4.12.0 True False False 40m cluster-autoscaler 4.12.0 True False False 37m config-operator 4.12.0 True False False 38m console 4.12.0 True False False 26m csi-snapshot-controller 4.12.0 True False False 37m dns 4.12.0 True False False 37m etcd 4.12.0 True False False 36m image-registry 4.12.0 True False False 31m ingress 4.12.0 True False False 30m insights 4.12.0 True False False 31m kube-apiserver 4.12.0 True False False 26m kube-controller-manager 4.12.0 True False False 36m kube-scheduler 4.12.0 True False False 36m kube-storage-version-migrator 4.12.0 True False False 37m machine-api 4.12.0 True False False 29m machine-approver 4.12.0 True False False 37m machine-config 4.12.0 True False False 36m marketplace 4.12.0 True False False 37m monitoring 4.12.0 True False False 29m network 4.12.0 True False False 38m node-tuning 4.12.0 True False False 37m openshift-apiserver 4.12.0 True False False 32m openshift-controller-manager 4.12.0 True False False 30m openshift-samples 4.12.0 True False False 32m operator-lifecycle-manager 4.12.0 True False False 37m operator-lifecycle-manager-catalog 4.12.0 True False False 37m operator-lifecycle-manager-packageserver 4.12.0 True False False 32m service-ca 4.12.0 True False False 38m storage 4.12.0 True False False 37m
- 사용할 수 없는 Operator를 구성합니다.
추가 리소스
4.15.1. 기본 OperatorHub 카탈로그 소스 비활성화
Red Hat 및 커뮤니티 프로젝트에서 제공하는 콘텐츠를 소싱하는 Operator 카탈로그는 OpenShift Container Platform을 설치하는 동안 기본적으로 OperatorHub용으로 구성됩니다. 제한된 네트워크 환경에서는 클러스터 관리자로서 기본 카탈로그를 비활성화해야 합니다.
프로세스
OperatorHub
오브젝트에disableAllDefaultSources: true
를 추가하여 기본 카탈로그의 소스를 비활성화합니다.$ oc patch OperatorHub cluster --type json \ -p '[{"op": "add", "path": "/spec/disableAllDefaultSources", "value": true}]'
또는 웹 콘솔을 사용하여 카탈로그 소스를 관리할 수 있습니다. 관리
4.15.2. 이미지 레지스트리 스토리지 구성
기본 스토리지를 제공하지 않는 플랫폼에서는 처음에 Image Registry Operator를 사용할 수 없습니다. 설치한 후에 스토리지를 사용하도록 레지스트리를 구성하여 Registry Operator를 사용 가능하도록 만들어야 합니다.
프로덕션 클러스터에 필요한 영구 볼륨을 구성하는 과정의 지침이 표시됩니다. 해당하는 경우, 프로덕션 환경 외 클러스터에서만 사용할 수 있는 저장 위치로서 빈 디렉터리를 구성하는 과정의 지침이 표시됩니다.
업그레이드 중에 Recreate
롤아웃 전략을 사용하여 이미지 레지스트리의 블록 스토리지 유형 사용을 허용하기 위한 추가 지침이 제공됩니다.
4.15.2.1. 이미지 레지스트리의 관리 상태 변경
이미지 레지스트리를 시작하려면 Image Registry Operator 구성의 managementState
를 Removed
에서 Managed
로 변경해야 합니다.
프로세스
managementState
Image Registry Operator 구성을Removed
에서Managed
로 변경합니다. 예를 들면 다음과 같습니다.$ oc patch configs.imageregistry.operator.openshift.io cluster --type merge --patch '{"spec":{"managementState":"Managed"}}'
4.15.2.2. 베어메탈 및 기타 수동 설치를 위한 레지스트리 스토리지 구성
클러스터 관리자는 설치한 후 스토리지를 사용하도록 레지스트리를 구성해야 합니다.
사전 요구 사항
-
cluster-admin
역할의 사용자로 클러스터에 액세스할 수 있어야 합니다. - 베어 메탈과 같이 수동으로 프로비저닝된 RHCOS(Red Hat Enterprise Linux CoreOS) 노드를 사용하는 클러스터가 있어야 합니다.
Red Hat OpenShift Data Foundation과 같이 클러스터용 영구 스토리지를 프로비저닝합니다.
중요OpenShift Container Platform은 복제본이 하나만 있는 경우 이미지 레지스트리 스토리지에 대한
ReadWriteOnce
액세스를 지원합니다.ReadWriteOnce
액세스에는 레지스트리가Recreate
롤아웃 전략을 사용해야 합니다. 두 개 이상의 복제본으로 고 가용성을 지원하는 이미지 레지스트리를 배포하려면ReadWriteMany
액세스가 필요합니다.- "100Gi" 용량이 필요합니다.
프로세스
스토리지를 사용하도록 레지스트리를 구성하기 위해
configs.imageregistry/cluster
리소스에서spec.storage.pvc
를 변경합니다.참고공유 스토리지를 사용하는 경우 보안 설정을 검토하여 외부 액세스를 방지합니다.
레지스트리 pod가 없는지 확인합니다.
$ oc get pod -n openshift-image-registry -l docker-registry=default
출력 예
No resources found in openshift-image-registry namespace
참고출력에 레지스트리 Pod가 있는 경우 이 절차를 계속할 필요가 없습니다.
레지스트리 구성을 확인합니다.
$ oc edit configs.imageregistry.operator.openshift.io
출력 예
storage: pvc: claim:
image-registry-storage
PVC의 자동 생성을 허용하도록claim
필드를 비워 둡니다.clusteroperator
상태를 확인합니다.$ oc get clusteroperator image-registry
출력 예
NAME VERSION AVAILABLE PROGRESSING DEGRADED SINCE MESSAGE image-registry 4.12 True False False 6h50m
이미지를 빌드 및 푸시할 수 있도록 레지스트리의 관리가 설정되어 있는지 확인하십시오.
다음을 실행합니다.
$ oc edit configs.imageregistry/cluster
다음으로 라인을 변경하십시오.
managementState: Removed
다음으로 변경
managementState: Managed
4.15.2.3. 프로덕션 환경 외 클러스터에서 이미지 레지스트리의 스토리지 구성
이미지 레지스트리 Operator에 대한 스토리지를 구성해야 합니다. 프로덕션 환경 외 클러스터의 경우, 이미지 레지스트리를 빈 디렉터리로 설정할 수 있습니다. 이렇게 하는 경우 레지스트리를 다시 시작하면 모든 이미지가 손실됩니다.
프로세스
이미지 레지스트리 스토리지를 빈 디렉터리로 설정하려면 다음을 수행하십시오.
$ oc patch configs.imageregistry.operator.openshift.io cluster --type merge --patch '{"spec":{"storage":{"emptyDir":{}}}}'
주의프로덕션 환경 외 클러스터에 대해서만 이 옵션을 구성하십시오.
Image Registry Operator가 구성 요소를 초기화하기 전에 이 명령을 실행하면
oc patch
명령이 실패하며 다음 오류가 발생합니다.Error from server (NotFound): configs.imageregistry.operator.openshift.io "cluster" not found
몇 분 후에 명령을 다시 실행하십시오.
4.15.2.4. 베어메탈용 블록 레지스트리 스토리지 구성
클러스터 관리자로서 업그레이드 중에 이미지 레지스트리가 블록 스토리지 유형을 사용할 수 있도록 허용하기 위해 Recreate
롤아웃 전략을 사용할 수 있습니다.
블록 스토리지 볼륨 또는 블록 영구 볼륨은 지원되지만 프로덕션 클러스터에서 이미지 레지스트리와 함께 사용하는 것은 권장되지 않습니다. 레지스트리가 블록 스토리지에 구성된 설치는 레지스트리가 둘 이상의 복제본을 가질 수 없기 때문에 가용성이 높지 않습니다.
이미지 레지스트리와 함께 블록 스토리지 볼륨을 사용하도록 선택하는 경우 파일 시스템 PVC(영구 볼륨 클레임)를 사용해야 합니다.
프로세스
다음 명령을 입력하여 이미지 레지스트리 스토리지를 블록 스토리지 유형으로 설정하고,
Recreate
롤아웃 전략을 사용하도록 레지스트리를 패치하고, 하나의 (1
) 복제본으로만 실행됩니다.$ oc patch config.imageregistry.operator.openshift.io/cluster --type=merge -p '{"spec":{"rolloutStrategy":"Recreate","replicas":1}}'
블록 스토리지 장치에 PV를 프로비저닝하고 해당 볼륨의 PVC를 생성합니다. 요청된 블록 볼륨은 RWO(ReadWriteOnce) 액세스 모드를 사용합니다.
VMware vSphere
PersistentVolumeClaim
개체를 정의하려면 다음 내용이 포함된pvc.yaml
파일을 생성합니다.kind: PersistentVolumeClaim apiVersion: v1 metadata: name: image-registry-storage 1 namespace: openshift-image-registry 2 spec: accessModes: - ReadWriteOnce 3 resources: requests: storage: 100Gi 4
다음 명령을 입력하여 파일에서
PersistentVolumeClaim
오브젝트를 생성합니다.$ oc create -f pvc.yaml -n openshift-image-registry
올바른 PVC를 참조하도록 레지스트리 구성을 편집하려면 다음 명령을 입력합니다.
$ oc edit config.imageregistry.operator.openshift.io -o yaml
출력 예
storage: pvc: claim: 1
- 1
- 사용자 정의 PVC를 생성하면
image-registry-storage
PVC의 기본 자동 생성을 위해claim
필드를 비워 둘 수 있습니다.