MongoDBMongoDB Enterprise Kubernetes Operator 엔터프라이즈 Kubernetes Operator kubectl 및 oc 설치 설정
이 페이지의 내용
- AGENT_IMAGE
- APPDB_AGENT_VERSION
- APPDB_IMAGE_REPOSITORY
- CLUSTER_CLIENT_TIMEOUT
- DATABASE_VERSION
- IMAGE_PULL_POLICY
- INIT_APPDB_IMAGE_REPOSITORY
- INIT_APPDB_VERSION
- INIT_DATABASE_IMAGE_REPOSITORY
- INIT_DATABASE_VERSION
- INIT_OPS_MANAGER_IMAGE_REPOSITORY
- INIT_OPS_MANAGER_VERSION
- MANAGED_SECURITY_CONTEXT
- MDB_AGENT_IMAGE_REPOSITORY
- MDB_APPDB_ASSUME_OLD_FORMAT
- MDB_AUTOMATIC_RECOVERY_ENABLE
- MDB_AUTOMATIC_RECOVERY_BACKOFF_TIME_S
- MDB_DEFAULT_ARCHITECTURE
- MDB_IMAGE_TYPE
- MONGODB_Enterprise_DATABASE_IMAGE
- OPERATOR_ENV
- OPS_MANAGER_IMAGE_PULL_POLICY
- OPS_MANAGER_IMAGE_REPOSITORY
- READINESS_PROBE_LOGGER_BACKUPS
- READINESS_PROBE_LOGGER_MAX_SIZE
- READINESS_PROBE_LOGGER_MAX_AGE
- WATCH_NAMESPACE
선택적 설정을 제공하려면 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 키의 값을 설정의 값으로 설정합니다.
컨테이너 이미지의 값을 입력하려면 컨테이너 이미지를 참조하세요.
예시
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.25
IMAGE_PULL_POLICY
pull 정책 Kubernetes Operator가 배포하는 MongoDB Enterprise 데이터베이스 이미지의 경우.
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: IMAGE_PULL_POLICY 11 value: Always
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.25 입니다.
예시
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.25
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.25 입니다.
예시
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.25
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.25 입니다.
예시
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.25
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 Operator 1.20 에서 컨테이너 레지스트리 가 애플리케이션 데이터베이스 이미지에 대해 변경되었으며 이미지는 새 태그를 지정하다 접미사를 사용합니다. Kubernetes Operator를 업그레이드 하면 Kubernetes Operator Kubernetes 새 컨테이너 레지스트리를 -ubi8
또는 MDB_IMAGE_TYPE 또는 mongodb.imageType에 설정하다 접미사로 참조하는 모든 이미지에 대해 이전 접미사 -ent
를 자동으로 업데이트합니다.
예를 들어, 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 Operator 1.20 에서 컨테이너 레지스트리 가 애플리케이션 데이터베이스 이미지에 대해 변경되었으며 이미지는 새 태그를 지정하다 접미사를 사용합니다. Kubernetes Operator를 업그레이드 하면 Kubernetes Operator Kubernetes 새 컨테이너 레지스트리를 -ubi8
또는 MDB_IMAGE_TYPE 또는 mongodb.imageType에 설정하다 접미사로 참조하는 모든 이미지에 대해 이전 접미사 -ent
를 자동으로 업데이트합니다.
예를 들어, 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
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 입니다.
예시
spec: template: spec: serviceAccountName: mongodb-enterprise-operator containers: - name: mongodb-enterprise-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: OPERATOR_ENV value: prod
OPS_MANAGER_IMAGE_PULL_POLICY
pull 정책 Operator가 배포하는 MongoDB Ops Manager 이미지의 경우.Kubernetes
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_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 가 액세스할 수 있는지 확인하세요. 이 네임스페이스.
모든 네임스페이스 를 감시하려면 * 를 지정하고 ClusterRole 을
mongodb-enterprise-operator
할당합니다. Kubernetes Operator를 실행하는 데 사용하는 ServiceAccount에 추가합니다.모든 네임스페이스의 하위 집합 을 감시하려면 쉼표로 구분된 목록으로 지정하고 각 쉼표를 백슬래시로 이스케이프 처리한 다음 목록을 따옴표로 묶습니다(예:
"operator.watchNamespace=ns1\,ns2"
.
네임스페이스의 하위 집합을 감시하는 것은 단일 Kubernetes 연산자 인스턴스가 다른 클러스터 리소스 유형을 감시하는 배포에서 유용합니다. 예를 들어, 네임스페이스의 한 하위 집합에서 MongoDB
리소스를 감시하고 네임스페이스의 다른 하위 집합에서 MongoDBMultiCluster
리소스를 감시하도록 Kubernetes 연산자를 구성할 수 있습니다. 리소스 조정 중에 경합 상태를 방지하려면 Kubernetes 연산자가 감시하려는 각 사용자 지정 리소스 유형에 대해 범위를 네임스페이스의 고유한 하위 집합으로 설정해야 합니다.
중요
하나 이상의 네임스페이스 에 MongoDB Ops Manager 및 리소스를 MongoDB
Kubernetes 배포하려면 다음을 수행합니다. Operator를 배포하는 경우 외에 사용해야 하는 값과 수행해야 할 추가 단계는 배포의 범위 설정 을 참조하세요.MongoDB Enterprise Kubernetes Operator
기본값은 <metadata.namespace> 입니다.
예시
spec: template: spec: serviceAccountName: mongodb-enterprise-operator containers: - name: mongodb-enterprise-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: WATCH_NAMESPACE value: <testNamespace>