문서 메뉴
문서 홈
/
MongoDB Enterprise Kubernetes 연산자
/

제한된 네트워크에 배포

이 MongoDB Enterprise MongoDB 튜토리얼에서는 제한된 Kubernetes 네트워크 OpenShift 환경에서 Operator를 사용하여 Operator, MongoDB Ops Manager 인스턴스 및 복제본 세트를 배포하는 방법을 보여줍니다.

1

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 파일을 참조하세요.

  1. 미러링하려면 연결이 끊긴 설치를 위한 이미지 미러링을 참조하세요.

    카탈로그를 미러링하기 위해 명령을 실행하면 oc adm catalog mirror imageContentSourcePolicy.yaml 파일이 생성되며,이를 적용 해야 합니다. 원본 소스를 미러링된 이미지에 다시 매핑합니다. 예를 들면 다음과 같습니다.

    oc apply -f ./<output dir>/imageContentSourcePolicy.yaml

    자세한 내용 은 연결이 끊긴 클러스터에 사용할 미러링 연산자 카탈로그를 참조하세요. . 각 MongoDB Ops Manager 버전에 대해 지원되는 MongoDB 버전 목록은 호환되는 MongoDB 버전을 참조하세요.

  2. 기본 카탈로그를 비활성화하려면 OperatorHub 객체에 disableAllDefaultSources: true 를 추가합니다.

자세한 내용 은 제한된 네트워크에서 Operator Lifecycle Manager 사용하기를 참조하세요.

2

자세한 내용은 다음을 참조하세요.

  • MongoDB Enterprise Kubernetes Operator 설치 계획

  • MongoDB Enterprise Kubernetes Operator 설치

3

로컬 모드에서 MongoDB Ops Manager를 배포하려면 다음을 수행해야 합니다.

  1. 다음 예시 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에서 설치 아카이브를 다운로드합니다.

    1apiVersion: mongodb.com/v1
    2kind: MongoDBOpsManager
    3metadata:
    4 name: ops-manager-localmode
    5spec:
    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 리소스 배포를 참조하세요.

  2. oc을 네임스페이스의 기본값으로 구성합니다.

    oc config set-context $(oc config current-context) --namespace=<metadata.namespace>
  3. 다음 MongoDB Ops Manager 리소스 설정을 복사하여 기존 MongoDB Ops Manager 리소스에 붙여넣고 MongoDB Ops Manager 구성 파일을 저장합니다.

    1configuration:
    2 # this enables local mode in Ops Manager
    3 automation.versions.source: local
    4statefulSet:
    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
  4. MongoDB 설치 아카이브를 MongoDB Ops Manager 영구 볼륨에 복사합니다.

    MongoDB 설치 아카이브를 복사하는 방법을 알아보려면 로컬 모드를 사용하도록 MongoDB Ops Manager 리소스 구성 절차의 10 단계를 참조하세요.

  5. 자격 증명을 생성하고 비밀로 저장합니다.

    다음 명령을 실행합니다:

    참고

    다음 매개변수에 대한 공개 키 및 개인 키 값을 입력합니다. 자세한 내용은 Kubernetes Operator에 대한 자격 증명 생성을 참조하세요.

    oc \
    create secret generic ops-manager-admin-key \
    --from-literal="publicKey=<publicKey>" \
    --from-literal="privateKey=<privateKey>"
  6. 다음과 유사한 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 리소스 구성을 참조하세요.

4

복제본 세트 배포 또는 샤드 클러스터 배포를 수행할 수 있습니다. 자세한 내용 은 MongoDB database 리소스 배포를 참조하세요.

돌아가기

빠른 시작

다음

Kubernetes 연산자 아키텍처