선택적 설정을 제공하려면 Kubernetes 연산자 리포지토리를 복제한 디렉토리에서 배포 유형에 해당하는 YAML 파일을 편집합니다.
kubectl을 사용하는 바닐라 Kubernetes : mongodb-enterprise.yaml
oc를 사용한 OpenShift : mongodb-enterprise-openshift.yaml
추가하려는 설정이 YAML 파일에 없는 경우 이를 spec.emplate.spec.containers.name.env에 키-값 쌍 매핑의 새 배열로 추가합니다. collection:
spec. Template.spec.containers.name.env.name 키 값을 설정 이름으로 설정합니다.
spec.sample.spec.containers.name.env.value 키의 값을 설정의 값으로 설정합니다.
container 이미지의 값을 입력하려면 container 이미지를 참조하세요 .
1 spec: 2 template: 3 spec: 4 serviceAccountName: mongodb-enterprise-operator 5 containers: 6 - name: mongodb-enterprise-operator 7 image: <operatorVersionUrl> 8 imagePullPolicy: <policyChoice> 9 env: 10 - name: INIT_APPDB_IMAGE_REPOSITORY 11 value: quay.io/mongodb/mongodb-enterprise-init-appdb-ubi
AGENT_IMAGE
Kubernetes Operator가 비정적 데이터베이스 배포를 위해 MongoDB Agent 이미지를 다운로드하는 리포지토리 의 URL 입니다. MongoDB Agent 버전을 포함합니다. 학습 보려면 컨테이너 이미지를 참조하세요.
1 spec: 2 template: 3 spec: 4 serviceAccountName: mongodb-enterprise-operator 5 containers: 6 - name: mongodb-enterprise-operator 7 image: <operatorVersionUrl> 8 imagePullPolicy: <policyChoice> 9 env: 10 - name: AGENT_IMAGE 11 value: quay.io/mongodb/mongodb-agent-ubi:<version>
APPDB_AGENT_VERSION
애플리케이션 데이터베이스가 사용하는 MongoDB Agent가 포함된 이미지의 버전입니다.
기본값은 10.2.15.5958-1_4.2.11-ent입니다.
1 spec: 2 template: 3 spec: 4 serviceAccountName: mongodb-enterprise-operator 5 containers: 6 - name: mongodb-enterprise-operator 7 image: <operatorVersionUrl> 8 imagePullPolicy: <policyChoice> 9 env: 10 - name: APPDB_AGENT_VERSION 11 value: 10.2.15.5958-1_4.2.11-ent
APPDB_IMAGE_REPOSITORY
Kubernetes 연산자가 애플리케이션 데이터베이스 이미지를 다운로드하는 리포지토리의 URL 입니다.
1 spec: 2 template: 3 spec: 4 serviceAccountName: mongodb-enterprise-operator 5 containers: 6 - name: mongodb-enterprise-operator 7 image: <operatorVersionUrl> 8 imagePullPolicy: <policyChoice> 9 env: 10 - name: APPDB_IMAGE_REPOSITORY 11 value: quay.io/mongodb/mongodb-enterprise-appdb-ubi
CLUSTER_CLIENT_TIMEOUT
Kubernetes Operator가 클러스터의 Kubernetes API 서버 엔드포인트에 연결을 시도하는 시간(초)입니다. 이 시간 제한은 다중 Kubernetes 클러스터 MongoDB 배포의 모든 Kubernetes 클러스터에 대해 설정하다 됩니다. Kubernetes Operator가 지정된 시간 내에 Kubernetes API 서버 로부터 응답을 받지 못하면 클러스터 상태를 '비정상'으로 기록합니다. 자세한 학습 은 Kubernetes 클러스터 문제 해결을 참조하세요.
기본값은 10 입니다.
1 spec: 2 template: 3 spec: 4 serviceAccountName: mongodb-enterprise-operator 5 containers: 6 - name: mongodb-enterprise-operator 7 image: <operatorVersionUrl> 8 imagePullPolicy: <policyChoice> 9 env: 10 - name: CLUSTER_CLIENT_TIMEOUT 11 value: 10
DATABASE_VERSION
Kubernetes 연산자가 배포하는 MongoDB Enterprise 데이터베이스 이미지의 버전입니다.
1 spec: 2 template: 3 spec: 4 serviceAccountName: mongodb-enterprise-operator 5 containers: 6 - name: mongodb-enterprise-operator 7 image: <operatorVersionUrl> 8 imagePullPolicy: <policyChoice> 9 env: 10 - name: DATABASE_VERSION 11 value: 1.27
IMAGE_PULL_POLICY
Kubernetes Operator가 배포하는 MongoDB 엔터프라이즈 데이터베이스 이미지에 대한가져오기 정책입니다.
Kubernetes 연산자는 항상, IfNotPresent, 절대 값을 허용하지 않습니다.
기본값은 항상 입니다.
INIT_APPDB_IMAGE_REPOSITORY
애플리케이션 데이터베이스 시작 스크립트 및 준비성 프로브가 포함된 initContainer
이미지가 다운로드되는 리포지토리의 URL 입니다.
1 spec: 2 template: 3 spec: 4 serviceAccountName: mongodb-enterprise-operator 5 containers: 6 - name: mongodb-enterprise-operator 7 image: <operatorVersionUrl> 8 imagePullPolicy: <policyChoice> 9 env: 10 - name: INIT_APPDB_IMAGE_REPOSITORY 11 value: quay.io/mongodb/mongodb-enterprise-init-appdb-ubi
INIT_APPDB_VERSION
애플리케이션 데이터베이스 시작 스크립트 및 준비성 프로브가 포함된 initContainer
이미지의 버전입니다.
기본값은 1.27 입니다.
1 spec: 2 template: 3 spec: 4 serviceAccountName: mongodb-enterprise-operator 5 containers: 6 - name: mongodb-enterprise-operator 7 image: <operatorVersionUrl> 8 imagePullPolicy: <policyChoice> 9 env: 10 - name: INIT_APPDB_VERSION 11 value: 1.27
INIT_DATABASE_IMAGE_REPOSITORY
MongoDB Agent 시작 스크립트 및 준비성 프로브가 포함된 initContainer
이미지가 다운로드되는 리포지토리의 URL 입니다.
1 spec: 2 template: 3 spec: 4 serviceAccountName: mongodb-enterprise-operator 5 containers: 6 - name: mongodb-enterprise-operator 7 image: <operatorVersionUrl> 8 imagePullPolicy: <policyChoice> 9 env: 10 - name: INIT_DATABASE_IMAGE_REPOSITORY 11 value: quay.io/mongodb/mongodb-enterprise-init-database-ubi
INIT_DATABASE_VERSION
MongoDB Agent 시작 스크립트 및 준비성 프로브가 포함된 initContainer
이미지의 버전입니다.
기본값은 1.27 입니다.
1 spec: 2 template: 3 spec: 4 serviceAccountName: mongodb-enterprise-operator 5 containers: 6 - name: mongodb-enterprise-operator 7 image: <operatorVersionUrl> 8 imagePullPolicy: <policyChoice> 9 env: 10 - name: INIT_DATABASE_VERSION 11 value: 1.27
INIT_OPS_MANAGER_IMAGE_REPOSITORY
Ops Manager 시작 스크립트 및 준비성 프로브가 포함된 initContainer
이미지가 다운로드되는 리포지토리의 URL 입니다.
1 spec: 2 template: 3 spec: 4 serviceAccountName: mongodb-enterprise-operator 5 containers: 6 - name: mongodb-enterprise-operator 7 image: <operatorVersionUrl> 8 imagePullPolicy: <policyChoice> 9 env: 10 - name: INIT_OPS_MANAGER_IMAGE_REPOSITORY 11 value: quay.io/mongodb/mongodb-enterprise-init-ops-manager-ubi
INIT_OPS_MANAGER_VERSION
Ops Manager 시작 스크립트 및 준비성 프로브가 포함된 initContainer
이미지의 버전입니다.
기본값은 1.27 입니다.
1 spec: 2 template: 3 spec: 4 serviceAccountName: mongodb-enterprise-operator 5 containers: 6 - name: mongodb-enterprise-operator 7 image: <operatorVersionUrl> 8 imagePullPolicy: <policyChoice> 9 env: 10 - name: INIT_OPS_MANAGER_VERSION 11 value: 1.27
LOG_FILE_PATH
Readiness Probe에서 유지 관리하는 순환된 readiness.log
백업 파일의 경로입니다.
기본값은 /var/log/mongodb-mms-automation/readiness.log
입니다.
1 spec: 2 template: 3 spec: 4 serviceAccountName: mongodb-enterprise-operator 5 containers: 6 - name: mongodb-enterprise-operator 7 image: <operatorVersionUrl> 8 imagePullPolicy: <policyChoice> 9 env: 10 - name: LOG_FILE_PATH 11 value: /var/log/mongodb-mms-automation/readiness.log
MANAGED_SECURITY_CONTEXT
Kubernetes Operator가 Kubernetes cluster가 managed하는 securityContext 설정을 상속할지 여부를 결정하는 플래그입니다.
OpenShift 또는 제한적인 환경에서 Kubernetes Operator를 실행하려면 이 값이 true 여야 합니다.
기본값은 false 입니다.
1 spec: 2 template: 3 spec: 4 serviceAccountName: mongodb-enterprise-operator 5 containers: 6 - name: mongodb-enterprise-operator 7 image: <operatorVersionUrl> 8 imagePullPolicy: <policyChoice> 9 env: 10 - name: MANAGED_SECURITY_CONTEXT 11 value: false
기본값은 true 입니다.
1 spec: 2 template: 3 spec: 4 serviceAccountName: mongodb-enterprise-operator 5 containers: 6 - name: mongodb-enterprise-operator 7 image: <operatorVersionUrl> 8 imagePullPolicy: <policyChoice> 9 env: 10 - name: MANAGED_SECURITY_CONTEXT 11 value: true
MDB_AGENT_IMAGE_REPOSITORY
Kubernetes Operator가 데이터베이스 배포를 위해 MongoDB Agent 이미지를 다운로드하는 리포지토리의 URL 입니다. 자세히 알아보려면 컨테이너 이미지를 참조하세요.
1 spec: 2 template: 3 spec: 4 serviceAccountName: mongodb-enterprise-operator 5 containers: 6 - name: mongodb-enterprise-operator 7 image: <operatorVersionUrl> 8 imagePullPolicy: <policyChoice> 9 env: 10 - name: MDB_AGENT_IMAGE_REPOSITORY 11 value: quay.io/mongodb/mongodb-agent-ubi
MDB_APPDB_ASSUME_OLD_FORMAT
Kubernetes 1.20 연산자 에서 애플리케이션 데이터베이스 이미지에 대한 컨테이너 레지스트리가 변경되었으며 이미지는 새 태그를 지정하다 접미사를 사용합니다. Kubernetes Operator를 업그레이드 하면 Kubernetes Operator가-ent
새 컨테이너 레지스트리를 -ubi8
또는 MDB_IMAGE_TYPE 또는 mongodb.imageType에설정하다 접미사로 참조하는 모든 이미지에 대해 이전 접미사 를 자동으로 업데이트합니다.
예를 들어, Kubernetes 연산자는 quay.io/mongodb/mongodb-enterprise-server:4.4.5-ent
을 quay.io/mongodb/mongodb-enterprise-server:4.4.5-ubi8
로 변경합니다.
Kubernetes 연산자가 접미사를 자동으로 업데이트하지 않도록 하려면 MDB_APPDB_ASSUME_OLD_FORMAT 또는 mongodb.appdbAssumeOldFormat 을 true
로 설정합니다. 예를 들어, 자체 리포지토리에서 이 이미지를 미러링하는 경우 자동 접미사 변경을 중지할 수 있습니다.
기본값은 false
이며, 이미지 접미사를 자동으로 업데이트합니다.
1 spec: 2 template: 3 spec: 4 serviceAccountName: mongodb-enterprise-operator 5 containers: 6 - name: mongodb-enterprise-operator 7 image: <operatorVersionUrl> 8 imagePullPolicy: <policyChoice> 9 env: 10 - name: MDB_APPDB_ASSUME_OLD_FORMAT 11 value: false
MDB_AUTOMATIC_RECOVERY_ENABLE
Kubernetes 연산자가 파드당 MongoDB
리소스에 대한 자동 복구를 활성화할지 여부를 결정하는 플래그입니다.
기본값은 true 입니다.
1 spec: 2 template: 3 spec: 4 serviceAccountName: mongodb-enterprise-operator 5 containers: 6 - name: mongodb-enterprise-operator 7 image: <operatorVersionUrl> 8 imagePullPolicy: <policyChoice> 9 env: 10 - name: MDB_AUTOMATIC_RECOVERY_ENABLE 11 value: false
MDB_AUTOMATIC_RECOVERY_BACKOFF_TIME_S
Kubernetes 연산자가 MongoDB
리소스를 자동으로 복구하기 전에 사용자 지정 리소스가 Pending
또는 Failed
상태로 유지될 수 있는 시간(초)입니다.
기본값은 1200 초(20분)입니다.
자동 복구를 비활성화하려면 MDB_AUTOMATIC_RECOVERY_ENABLE 환경 변수를 false
로 설정하다 합니다.
1 spec: 2 template: 3 spec: 4 serviceAccountName: mongodb-enterprise-operator 5 containers: 6 - name: mongodb-enterprise-operator 7 image: <operatorVersionUrl> 8 imagePullPolicy: <policyChoice> 9 env: 10 - name: MDB_AUTOMATIC_RECOVERY_BACKOFF_TIME_S 11 value: 3600
MDB_DEFAULT_ARCHITECTURE
모든 배포에서 사용하는 컨테이너 아키텍처를 결정합니다.
런타임에 MongoDB 바이너리를 다운로드하는 기본 비정적 컨테이너 또는
런타임에 변경되지 않는 정적 컨테이너(공개 미리 보기) 입니다.
단일 배포서버 에 대해 정적 컨테이너를 활성화 하려면 metadata.annotations.mongodb.com/v1.architecture
MongoDB 리소스 에서 를 대신 사용합니다.
기본값은 non-static
입니다.
정적 컨테이너를 활성화하려면 static
으로 설정합니다.
1 spec: 2 template: 3 spec: 4 serviceAccountName: mongodb-enterprise-operator 5 containers: 6 - name: mongodb-enterprise-operator 7 image: <operatorVersionUrl> 8 imagePullPolicy: <policyChoice> 9 env: 10 - name: MDB_DEFAULT_ARCHITECTURE 11 value: static
MDB_IMAGE_TYPE
애플리케이션 데이터베이스 이미지의 접미사입니다.
Kubernetes 1.20 연산자 에서 애플리케이션 데이터베이스 이미지에 대한 컨테이너 레지스트리가 변경되었으며 이미지는 새 태그를 지정하다 접미사를 사용합니다. Kubernetes Operator를 업그레이드 하면 Kubernetes Operator가-ent
새 컨테이너 레지스트리를 -ubi8
또는 MDB_IMAGE_TYPE 또는 mongodb.imageType에설정하다 접미사로 참조하는 모든 이미지에 대해 이전 접미사 를 자동으로 업데이트합니다.
예를 들어, Kubernetes 연산자는 quay.io/mongodb/mongodb-enterprise-server:4.4.5-ent
을 quay.io/mongodb/mongodb-enterprise-server:4.4.5-ubi8
로 변경합니다.
Kubernetes 연산자가 접미사를 자동으로 업데이트하지 않도록 하려면 MDB_APPDB_ASSUME_OLD_FORMAT 또는 mongodb.appdbAssumeOldFormat 을 true
로 설정합니다. 예를 들어, 자체 리포지토리에서 이 이미지를 미러링하는 경우 자동 접미사 변경을 중지할 수 있습니다.
기본값은 -ubi8
입니다.
1 spec: 2 template: 3 spec: 4 serviceAccountName: mongodb-enterprise-operator 5 containers: 6 - name: mongodb-enterprise-operator 7 image: <operatorVersionUrl> 8 imagePullPolicy: <policyChoice> 9 env: 10 - name: MDB_IMAGE_TYPE 11 value: ubi8
MDB_WITH_AGENT_FILE_LOGGING
kubectl describe
실행 때와 같이 로그 파일을 표준 출력으로 출력할지 여부를 제어합니다.
기본값은 true
입니다.
1 spec: 2 template: 3 spec: 4 serviceAccountName: mongodb-enterprise-operator 5 containers: 6 - name: mongodb-enterprise-operator 7 image: <operatorVersionUrl> 8 imagePullPolicy: <policyChoice> 9 env: 10 - name: MDB_WITH_AGENT_FILE_LOGGING 11 value: true
MDB_MAX_CONCURRENT_RECONCILES
Kubernetes Operator가 수행할 수 있는 동시 조정 프로세스의 수입니다.
예시
1 spec: 2 template: 3 spec: 4 serviceAccountName: mongodb-enterprise-operator 5 containers: 6 - env: 7 - name: MDB_MAX_CONCURRENT_RECONCILES 8 value: "10"
MONGODB_Enterprise_DATABASE_IMAGE
Kubernetes 연산자가 배포하는 MongoDB Enterprise 데이터베이스 이미지의 URL 입니다.
1 spec: 2 template: 3 spec: 4 serviceAccountName: mongodb-enterprise-operator 5 containers: 6 - name: mongodb-enterprise-operator 7 image: <operatorVersionUrl> 8 imagePullPolicy: <policyChoice> 9 env: 10 - name: MONGODB_ENTERPRISE_DATABASE_IMAGE 11 value: quay.io/mongodb/mongodb-enterprise-database-ubi
OPERATOR_ENV
Kubernetes 연산자 배포 환경의 레이블입니다. 이 값은 기본 시간 초과와 로깅 수준 및 형식에 영향을 줍니다.
값은 다음과 같습니다. | 로그 수준이 다음으로 설정된 경우 | 로그 형식이 다음으로 설정된 경우 |
---|---|---|
| debug | text |
| 정보 | JSON |
기본값은 prod 입니다.
OPS_MANAGER_IMAGE_PULL_POLICY
Kubernetes Operator가 배포하는 Ops Manager 이미지에 대한가져오기 정책입니다.
Kubernetes 연산자는 항상, IfNotPresent 및 절대 값을 허용하지 않습니다.
기본값은 항상 입니다.
1 spec: 2 template: 3 spec: 4 serviceAccountName: mongodb-enterprise-operator 5 containers: 6 - name: mongodb-enterprise-operator 7 image: <operatorVersionUrl> 8 imagePullPolicy: <policyChoice> 9 env: 10 - name: OPS_MANAGER_IMAGE_PULL_POLICY 11 value: Always
OPS_MANAGER_IMAGE_REPOSITORY
Ops Manager 리소스 의 이미지가 다운로드되는 리포지토리의URL 입니다.
1 spec: 2 template: 3 spec: 4 serviceAccountName: mongodb-enterprise-operator 5 containers: 6 - name: mongodb-enterprise-operator 7 image: <operatorVersionUrl> 8 imagePullPolicy: <policyChoice> 9 env: 10 - name: OPS_MANAGER_IMAGE_REPOSITORY 11 value: quay.io/mongodb/mongodb-enterprise-ops-manager-ubi
READINESS_PROBE_LOGGER_BACKUPS
준비성 프로브에서 유지 관리하는 순환된 readiness.log
백업 파일의 수입니다.
기본값은 5 입니다.
1 spec: 2 template: 3 spec: 4 serviceAccountName: mongodb-enterprise-operator 5 containers: 6 - name: mongodb-enterprise-operator 7 image: <operatorVersionUrl> 8 imagePullPolicy: <policyChoice> 9 env: 10 - name: READINESS_PROBE_LOGGER_BACKUPS 11 value: 1
READINESS_PROBE_LOGGER_COMPRESS
Readiness Probe에서 유지 관리하는 순환된 readiness.log
백업 파일을 readiness.log.gz
파일로 압축할지 여부를 제어합니다.
기본값 은 false
이며, readiness.log
파일은 압축되지 않은 상태로 유지됩니다.
1 spec: 2 template: 3 spec: 4 serviceAccountName: mongodb-enterprise-operator 5 containers: 6 - name: mongodb-enterprise-operator 7 image: <operatorVersionUrl> 8 imagePullPolicy: <policyChoice> 9 env: 10 - name: READINESS_PROBE_LOGGER_COMPRESS 11 value: true
READINESS_PROBE_LOGGER_MAX_SIZE
readiness.log
파일의 최대 크기(MB)입니다.
기본값은 100 입니다.
1 spec: 2 template: 3 spec: 4 serviceAccountName: mongodb-enterprise-operator 5 containers: 6 - name: mongodb-enterprise-operator 7 image: <operatorVersionUrl> 8 imagePullPolicy: <policyChoice> 9 env: 10 - name: READINESS_PROBE_LOGGER_MAX_SIZE 11 value: 125
READINESS_PROBE_LOGGER_MAX_AGE
파일 타임스탬프의 날짜부터 시작하여 로테이션된 readiness.log
파일을 보관할 최대 일수입니다. 0 으로 설정하면 Kubernetes Operator는 기간을 기준으로 readiness.log
파일을 제거하지 않고 대신 READINESS_PROBE_LOGGER_BACKUPS
에 따라 보존을 결정합니다.
기본값은 0 입니다.
1 spec: 2 template: 3 spec: 4 serviceAccountName: mongodb-enterprise-operator 5 containers: 6 - name: mongodb-enterprise-operator 7 image: <operatorVersionUrl> 8 imagePullPolicy: <policyChoice> 9 env: 10 - name: READINESS_PROBE_LOGGER_MAX_AGE 11 value: 3
WATCH_NAMESPACE
Kubernetes Operator가 MongoDB
리소스 변경 사항을 감시하는 네임스페이스입니다. 이 네임스페이스 기본값 과 다른 경우 Kubernetes Operator ServiceAccount가 이 네임스페이스 액세스 할 수 있는지 확인합니다.
모든 네임스페이스를 감시하려면 *를 지정하고
mongodb-enterprise-operator
Kubernetes Operator를 실행 데 사용하는 ServiceAccount에 ClusterRole을 할당합니다.모든 네임스페이스의 하위 집합 을 감시하려면 쉼표로 구분된 목록으로 지정하고 각 쉼표를 백슬래시로 이스케이프 처리한 다음 목록을 따옴표로 묶습니다(예:
"operator.watchNamespace=ns1\,ns2"
.
네임스페이스의 하위 집합을 감시하는 것은 단일 Kubernetes 연산자 인스턴스가 다른 클러스터 리소스 유형을 감시하는 배포에서 유용합니다. 예를 들어, 네임스페이스의 한 하위 집합에서 MongoDB
리소스를 감시하고 네임스페이스의 다른 하위 집합에서 MongoDBMultiCluster
리소스를 감시하도록 Kubernetes 연산자를 구성할 수 있습니다. 리소스 조정 중에 경합 상태를 방지하려면 Kubernetes 연산자가 감시하려는 각 사용자 지정 리소스 유형에 대해 범위를 네임스페이스의 고유한 하위 집합으로 설정해야 합니다.
중요
Kubernetes Operator를 배포 하나 이상의 네임스페이스가 아닌 하나 이상의 네임스페이스에 Ops Manager 및 MongoDB
리소스를 배포 하려면 MongoDB 엔터프라이즈 Kubernetes Operator 배포의 범위 설정에서 사용해야 하는 값과 수행해야 할 추가 단계를 참조하세요.
기본값은 <metadata.namespace> 입니다.