제한된 네트워크에 배포
이 MongoDB Enterprise MongoDB 튜토리얼에서는 제한된 Kubernetes 네트워크 OpenShift 환경에서 Operator를 사용하여 Operator, MongoDB Ops Manager 인스턴스 및 복제본 세트를 배포하는 방법을 보여줍니다.
절차
연산자 카탈로그를 미러링하고 기본 카탈로그를 비활성화합니다.
Red Hat 연산자 카탈로그에는 OLM 이 클러스터에 연산자 및 해당 종속성을 설치하기 위해 쿼리하는 메타데이터가 포함되어 있습니다. Operator 카탈로그 사본을 만든 다음 cluster 관리자로 기본 카탈로그를 비활성화해야 합니다.
연산자 번들의 relatedImages
에는 다음 이미지가 나열되어 있습니다.
연산자가 직접 사용하는 이미지로,
mongodb-enterprise-init-database-ubi
,mongodb-enterprise-init-ops-manager-ubi
,mongodb-enterprise-init-appdb-ubi
,mongodb-enterprise-init-database-ubi
의 현재 버전입니다.현재 지원되는 모든 MongoDB Ops Manager, AppDB 및
mongodb-agent-ubi
이미지로, MongoDB Ops Manager 배포에서 구성할 수 있습니다.
init
이미지의 경우 최신 Kubernetes 연산자 버전에 있는 버전만 사용합니다.
연산자 번들이 참조하는 모든 관련 이미지의 크기가 26 GB를 초과합니다.
미러링 명령은 지원되지 않는 버전의 AppDB 이미지를 선택하지 않습니다. 지원되지 않는 다른 버전을 사용하려면 이러한 이미지를 미러 레지스트리에 수동으로 제공해야 합니다. 특정 연산자 버전에 대한 다른 버전은 배포에 대한 이미지를 참조하세요.
환경 변수에 정의된 이미지의 전체 목록은 RELATED_IMAGE_*
CSV 파일을 참조하세요.
미러링하려면 연결이 끊긴 설치를 위한 이미지 미러링을 참조하세요.
카탈로그를 미러링하기 위해 명령을 실행하면
oc adm catalog mirror
imageContentSourcePolicy.yaml
파일이 생성되며,이를 적용 해야 합니다. 원본 소스를 미러링된 이미지에 다시 매핑합니다. 예를 들면 다음과 같습니다.oc apply -f ./<output dir>/imageContentSourcePolicy.yaml 자세한 내용 은 연결이 끊긴 클러스터에 사용할 미러링 연산자 카탈로그를 참조하세요. . 각 MongoDB Ops Manager 버전에 대해 지원되는 MongoDB 버전 목록은 호환되는 MongoDB 버전을 참조하세요.
기본 카탈로그를 비활성화하려면
OperatorHub
객체에disableAllDefaultSources: true
를 추가합니다.
로컬 모드에서 MongoDB Ops Manager를 배포합니다.
로컬 모드에서 MongoDB Ops Manager를 배포하려면 다음을 수행해야 합니다.
다음 예시 MongoDB Ops Manager Kubernetes 객체 를
.yaml
복사합니다. 파일로 저장합니다.spec.configuration
에서 MongoDB Ops Manager 구성 설정automation.versions.source: local
을(를) 사용하여 로컬 모드를 활성화합니다.영구 볼륨 정의 Ops Manager StatefulSet가 MongoDB 설치 아카이브를 저장합니다. Kubernetes Operator로 생성한 MongoDB 데이터베이스 리소스 컨테이너에서 실행 중인 MongoDB Agent는 인터넷이 아닌 Ops Manager에서 설치 아카이브를 다운로드합니다.
1 apiVersion: mongodb.com/v1 2 kind: MongoDBOpsManager 3 metadata: 4 name: ops-manager-localmode 5 spec: 6 replicas: 2 7 version: "6.0.0" 8 adminCredentials: ops-manager-admin-secret 9 configuration: 10 # this enables local mode in Ops Manager 11 automation.versions.source: local 12 statefulSet: 13 spec: 14 # the Persistent Volume Claim will be created for each Ops Manager Pod 15 volumeClaimTemplates: 16 - metadata: 17 name: mongodb-versions 18 spec: 19 accessModes: [ "ReadWriteOnce" ] 20 resources: 21 requests: 22 storage: "20Gi" 23 template: 24 spec: 25 containers: 26 - name: mongodb-ops-manager 27 volumeMounts: 28 - name: mongodb-versions 29 # this is the directory in each Pod where all MongoDB 30 # archives must be put 31 mountPath: /mongodb-ops-manager/mongodb-releases 32 backup: 33 enabled: false 34 applicationDatabase: 35 members: 3 36 persistent: true 설정에 대해 자세히 알아보려면 Ops Manager 리소스 배포를 참조하세요.
oc
을 네임스페이스의 기본값으로 구성합니다.oc config set-context $(oc config current-context) --namespace=<metadata.namespace> 다음 MongoDB Ops Manager 리소스 설정을 복사하여 기존 MongoDB Ops Manager 리소스에 붙여넣고 MongoDB Ops Manager 구성 파일을 저장합니다.
1 configuration: 2 # this enables local mode in Ops Manager 3 automation.versions.source: local 4 statefulSet: 5 spec: 6 # the Persistent Volume Claim will be created for each Ops Manager Pod 7 volumeClaimTemplates: 8 - metadata: 9 name: mongodb-versions 10 spec: 11 accessModes: [ "ReadWriteOnce" ] 12 resources: 13 requests: 14 storage: "20Gi" 15 template: 16 spec: 17 containers: 18 - name: mongodb-ops-manager 19 volumeMounts: 20 - name: mongodb-versions 21 # this is the directory in each Pod where all MongoDB 22 # archives must be put 23 mountPath: /mongodb-ops-manager/mongodb-releases MongoDB 설치 아카이브를 MongoDB Ops Manager 영구 볼륨에 복사합니다.
MongoDB 설치 아카이브를 복사하는 방법을 알아보려면 로컬 모드를 사용하도록 MongoDB Ops Manager 리소스 구성 절차의 10 단계를 참조하세요.
자격 증명을 생성하고 비밀로 저장합니다.
다음 명령을 실행합니다:
참고
다음 매개변수에 대한 공개 키 및 개인 키 값을 입력합니다. 자세한 내용은 Kubernetes Operator에 대한 자격 증명 생성을 참조하세요.
oc \ create secret generic ops-manager-admin-key \ --from-literal="publicKey=<publicKey>" \ --from-literal="privateKey=<privateKey>" 다음과 유사한 ConfigMap을 만듭니다.
cat <<EOF | oc apply -f - apiVersion: v1 kind: ConfigMap metadata: name: my-project namespace: mongodb data: projectName: myProjectName # this is an optional parameter orgId: 5b890e0feacf0b76ff3e7183 # this is a required parameter baseUrl: https://ops.example.com:8443 EOF ConfigMap의 설정에 대해 자세히 알아보려면 OpenShift 빠른 시작의 7 단계를 참조하세요.
로컬 모드에서 Ops Manager를 배포하는 방법에 대해 자세히 알아보려면 로컬 모드 를 사용하도록 Ops Manager 리소스 구성을 참조하세요.
MongoDB database 리소스를 배포합니다.
복제본 세트 배포 또는 샤드 클러스터 배포를 수행할 수 있습니다. 자세한 내용 은 MongoDB database 리소스 배포를 참조하세요.