선택적 설정을 제공하려면 Kubernetes 연산자 리포지토리를 복제한 디렉토리에서 배포 유형에 해당하는 YAML 파일을 편집합니다.
Vanilla Kubernetes using kubectl: mongodb-kubernetes.yaml
oc를 사용한 OpenShift : mongodb-kubernetes-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 이미지를 참조하세요 .
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: INIT_DATABASE_IMAGE_REPOSITORY value: quay.io/mongodb/mongodb-kubernetes-init-databaseAGENT_IMAGE
Kubernetes Operator가 비정적 데이터베이스 배포를 위해 MongoDB Agent 이미지를 다운로드하는리포지토리 의 URL . MongoDB Agent 버전을 포함합니다. 자세한 학습 은 Kubernetes 연산자 컨테이너 이미지 계획하기를 참조하세요.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: AGENT_IMAGE value: quay.io/mongodb/mongodb-agent:<version>CLUSTER_CLIENT_TIMEOUT
Kubernetes Operator가 클러스터의 Kubernetes API 서버 엔드포인트에 연결을 시도하는 시간(초)입니다. 이 시간 제한은 다중 Kubernetes 클러스터 MongoDB 배포의 모든 Kubernetes 클러스터에 대해 설정하다 됩니다. Kubernetes Operator가 지정된 시간 내에 Kubernetes API 서버 로부터 응답을 받지 못하면 클러스터 상태를 '비정상'으로 기록합니다. 자세한학습 은 Kubernetes 클러스터 문제 해결을 참조하세요.
기본값은 10 입니다.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: CLUSTER_CLIENT_TIMEOUT value: 10DATABASE_VERSION
Kubernetes 연산자가 배포하는 MongoDB Enterprise 데이터베이스 이미지의 버전입니다.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: DATABASE_VERSION value: 1.15.0IMAGE_PULL_POLICY
Kubernetes Operator가 배포하는 MongoDB 엔터프라이즈 데이터베이스 이미지에 대한가져오기 정책입니다.
Kubernetes 연산자는 항상, IfNotPresent, 절대 값을 허용하지 않습니다.
기본값은 항상 입니다.
INIT_DATABASE_IMAGE_REPOSITORY
MongoDB Agent 시작 스크립트 및 준비성 프로브가 포함된 initContainer 이미지가 다운로되는 리포지토리의 URL 입니다.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: INIT_DATABASE_IMAGE_REPOSITORY value: quay.io/mongodb/mongodb-kubernetes-init-databaseINIT_DATABASE_VERSION
MongoDB Agent 시작 스크립트 및 준비성 프로브가 포함된 initContainer 이미지의 버전입니다.
기본값은 1.15.0입니다.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: INIT_DATABASE_VERSION value: 1.15.0INIT_OPS_MANAGER_IMAGE_REPOSITORY
MongoDB Ops Manager 시작 스크립트 및 준비성 프로브가 포함된 initContainer 이미지가 다운로드되는 리포지토리의 URL 입니다.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: INIT_OPS_MANAGER_IMAGE_REPOSITORY value: quay.io/mongodb/mongodb-kubernetes-init-ops-managerINIT_OPS_MANAGER_VERSION
Ops Manager 시작 스크립트 및 준비성 프로브가 포함된 initContainer 이미지의 버전입니다.
기본값은 1.15.0입니다.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: INIT_OPS_MANAGER_VERSION value: 1.15.0LOG_FILE_PATH
Readiness Probe에서 유지 관리하는 순환된 readiness.log 백업 파일의 경로입니다.
기본값은 /var/log/mongodb-mms-automation/readiness.log입니다.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: LOG_FILE_PATH value: /var/log/mongodb-mms-automation/readiness.logMANAGED_SECURITY_CONTEXT
Kubernetes Operator가 Kubernetes cluster가 managed하는 securityContext 설정을 상속할지 여부를 결정하는 플래그입니다.
OpenShift 또는 제한적인 환경에서 Kubernetes Operator를 실행하려면 이 값이 true 여야 합니다.
기본값은 false 입니다.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: MANAGED_SECURITY_CONTEXT value: false기본값은 true 입니다.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: MANAGED_SECURITY_CONTEXT value: trueMDB_AGENT_IMAGE_REPOSITORY
Kubernetes Operator가 데이터베이스 배포를 위해 MongoDB Agent 이미지를 다운로드하는 리포지토리 의URL . 자세한 학습 은 Kubernetes 연산자 컨테이너 이미지 계획하기를 참조하세요.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: MDB_AGENT_IMAGE_REPOSITORY value: quay.io/mongodb/mongodb-agentMDB_APPDB_ASSUME_OLD_FORMAT
기본값은 false 이며, 이미지 접미사를 자동으로 업데이트합니다.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: MDB_APPDB_ASSUME_OLD_FORMAT value: falseMDB_AUTOMATIC_RECOVERY_ENABLE
Kubernetes 연산자가 파드당 MongoDB 리소스에 대한 자동 복구를 활성화할지 여부를 결정하는 플래그입니다.
기본값은 true 입니다.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: MDB_AUTOMATIC_RECOVERY_ENABLE value: falseMDB_AUTOMATIC_RECOVERY_BACKOFF_TIME_S
Kubernetes 연산자가 MongoDB 리소스를 자동으로 복구하기 전에 사용자 지정 리소스가 Pending 또는 Failed 상태로 유지될 수 있는 시간(초)입니다.
기본값은 1200 초(20분)입니다.
자동 복구를 비활성화하려면 MDB_AUTOMATIC_RECOVERY_ENABLE 환경 변수를 false 로 설정하다 합니다.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: MDB_AUTOMATIC_RECOVERY_BACKOFF_TIME_S value: 3600MDB_DEFAULT_ARCHITECTURE
모든 배포에서 사용하는 컨테이너 아키텍처를 결정합니다.
런타임에 MongoDB 바이너리를 다운로드하는 기본 비정적 컨테이너 또는
런타임에 변경되지 않는 정적 컨테이너(공개 미리 보기) 입니다.
단일 배포서버 에 대해 정적 컨테이너를 활성화하려면 metadata.annotations.mongodb.com/v1.architecture MongoDB 리소스에서 를 대신 사용합니다.
기본값은 non-static입니다.
정적 컨테이너를 활성화하려면 static 으로 설정합니다.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: MDB_DEFAULT_ARCHITECTURE value: staticMDB_DEFAULT_IMAGE_TYPE
정적 컨테이너를 사용하는 모든 배포(공개 미리 보기)와 애플리케이션 데이터베이스에 대한 mongodb-enterprise-server 이미지의 기본값 변형을 결정합니다.
허용되는 값은 다음과 같습니다.
ubi8ubi9ubi9-slim
설정하지 않으면 정적 컨테이너를 사용하는 배포에서는 ubi9, 비정적 애플리케이션 데이터베이스에서는 ubi8을(를) 사용합니다.
단일 배포서버 에 대한 이미지 변형을 설정하다 하려면 MongoDB 리소스 에서 metadata.annotations.mongodb.com/v1.containerImageType를 대신 사용합니다. 주석이 이 설정보다 우선합니다.
지원되지 않는 값을 설정하다 하면 Kubernetes Operator는 해당 값을 무시하고 경고를 기록합니다.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: MDB_DEFAULT_IMAGE_TYPE value: ubi9-slimMDB_WITH_AGENT_FILE_LOGGING
kubectl describe 실행 때와 같이 로그 파일을 표준 출력으로 출력할지 여부를 제어합니다.
기본값은 true입니다.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: MDB_WITH_AGENT_FILE_LOGGING value: trueMDB_MAX_CONCURRENT_RECONCILES
Kubernetes Operator가 수행할 수 있는 동시 조정 프로세스의 수입니다.
예시
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - env: - name: MDB_MAX_CONCURRENT_RECONCILES value: "10"MDB_OPERATOR_TELEMETRY_ENABLED
Kubernetes Operator가 분석을 위해 원격 분석을 수집하고 MongoDB 로 전송할 수 있습니다. Kubernetes Operator가 MongoDB 에 원격 분석을 전송하려면MDB_OPERATOR_TELEMETRY_SEND_ENABLED도 로 설정하다 해야 합니다.true
기본값 은 true입니다. false로 설정하다 하면 Kubernetes Operator가 MongoDB 에 원격 분석을 수집하거나 전송하지 않습니다.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - env: - name: MDB_OPERATOR_TELEMETRY_ENABLED value: "true"MDB_OPERATOR_TELEMETRY_SEND_ENABLED
Kubernetes Operator가 분석을 위해 MongoDB에 원격 분석을 보낼 수 있도록 합니다. Kubernetes Operator가 원격 분석을 전송하려면MDB_OPERATOR_TELEMETRY_ENABLED도 로 설정하다 해야 합니다.true
기본값 은 true입니다. false로 설정하다 경우, Kubernetes Operator는 mongodb-kubernetes-operator-telemetry라는 ConfigMap에서 원격 분석을 수집하지만 MongoDB 로 전송하지는 않습니다.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - env: - name: MDB_OPERATOR_TELEMETRY_SEND_ENABLED value: "true"MDB_PROPAGATE_PROXY_ENV
Kubernetes Operator가 프록시 제한 환경에서 작동할 수 있도록 합니다. 표준 프록시 설정(HTTP_PROXY, HTTPS_PROXY, NO_PROXY)과 함께 이 변수를 true로 설정하여 이러한 프록시 설정을 Kubernetes Operator Pod에서 MongoDB Agents로 전파하여 모든 구성 요소가 지정된 프록시를 통해 효과적으로 통신할 수 있도록 합니다. .
예시
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - env: - name: MDB_PROPAGATE_PROXY_ENV value: "true" - name: HTTP_PROXY value: "http://example-http-proxy:7312" - name: HTTPS_PROXY value: "https://secure-proxy:3242" - name: NO_PROXY value: "google.com"MONGODB_Enterprise_DATABASE_IMAGE
Kubernetes 연산자가 배포하는 MongoDB Enterprise 데이터베이스 이미지의 URL 입니다.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: MONGODB_ENTERPRISE_DATABASE_IMAGE value: quay.io/mongodb/mongodb-kubernetes-databaseMONGODB_REPO_URL
공식 MongoDB 서버 이미지에 대한 기본 리포지토리의 URL.
기본값은 quay.io/mongodb입니다.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: MONGODB_REPO_URL value: quay.io/mongodbOPERATOR_ENV
Kubernetes 연산자 배포 환경의 레이블입니다. 이 값은 기본 시간 초과와 로깅 수준 및 형식에 영향을 줍니다.
값은 다음과 같습니다. | 로그 수준이 다음으로 설정된 경우 | 로그 형식이 다음으로 설정된 경우 |
|---|---|---|
| debug | text |
| 정보 | JSON |
기본값은 prod 입니다.
OPS_MANAGER_IMAGE_PULL_POLICY
Kubernetes Operator가 배포하는 MongoDB Ops Manager 이미지에 대한가져오기 정책입니다.
Kubernetes 연산자는 항상, IfNotPresent 및 절대 값을 허용하지 않습니다.
기본값은 항상 입니다.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: OPS_MANAGER_IMAGE_PULL_POLICY value: AlwaysOPS_MANAGER_IMAGE_REPOSITORY
Ops Manager 리소스 의 이미지가 다운로드되는 리포지토리의URL 입니다.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: OPS_MANAGER_IMAGE_REPOSITORY value: quay.io/mongodb/mongodb-enterprise-ops-manager-ubiREADINESS_PROBE_LOGGER_BACKUPS
준비성 프로브에서 유지 관리하는 순환된 readiness.log 백업 파일의 수입니다.
기본값은 5 입니다.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: READINESS_PROBE_LOGGER_BACKUPS value: 1READINESS_PROBE_LOGGER_COMPRESS
Readiness Probe에서 유지 관리하는 순환된 readiness.log 백업 파일을 readiness.log.gz 파일로 압축할지 여부를 제어합니다.
기본값 은 false 이며, readiness.log 파일은 압축되지 않은 상태로 유지됩니다.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: READINESS_PROBE_LOGGER_COMPRESS value: trueREADINESS_PROBE_LOGGER_MAX_SIZE
readiness.log 파일의 최대 크기(MB)입니다.
기본값은 100 입니다.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: READINESS_PROBE_LOGGER_MAX_SIZE value: 125READINESS_PROBE_LOGGER_MAX_AGE
파일 타임스탬프의 날짜부터 시작하여 로테이션된 readiness.log 파일을 보관할 최대 일수입니다. 0 으로 설정하면 Kubernetes Operator는 기간을 기준으로 readiness.log 파일을 제거하지 않고 대신 READINESS_PROBE_LOGGER_BACKUPS 에 따라 보존을 결정합니다.
기본값은 0 입니다.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: READINESS_PROBE_LOGGER_MAX_AGE value: 3WATCH_NAMESPACE
Kubernetes Operator가 MongoDB 리소스 변경 사항을 감시하는 네임스페이스입니다. 이 네임스페이스 기본값 과 다른 경우 Kubernetes Operator ServiceAccount가 이 네임스페이스 액세스 할 수 있는지 확인합니다.
모든 네임스페이스를 감시하려면 *를 지정하고
mongodb-kubernetes-operatorKubernetes Operator를 실행 데 사용하는 ServiceAccount에 ClusterRole을 할당합니다.모든 네임스페이스의 하위 집합 을 감시하려면 쉼표로 구분된 목록으로 지정하고 각 쉼표를 백슬래시로 이스케이프 처리한 다음 목록을 따옴표로 묶습니다(예:
"operator.watchNamespace=ns1\,ns2".
네임스페이스의 하위 집합을 감시하는 것은 단일 Kubernetes 연산자 인스턴스가 다른 클러스터 리소스 유형을 감시하는 배포에서 유용합니다. 예를 들어, 네임스페이스의 한 하위 집합에서 MongoDB 리소스를 감시하고 네임스페이스의 다른 하위 집합에서 MongoDBMultiCluster 리소스를 감시하도록 Kubernetes 연산자를 구성할 수 있습니다. 리소스 조정 중에 경합 상태를 방지하려면 Kubernetes 연산자가 감시하려는 각 사용자 지정 리소스 유형에 대해 범위를 네임스페이스의 고유한 하위 집합으로 설정해야 합니다.
중요
Kubernetes Operator를 배포 하나 이상의 네임스페이스 가 아닌 하나 이상의 네임스페이스에 MongoDB Ops Manager 및 MongoDB 리소스를 배포 하려면 Kubernetes Operator 배포를 위한 MongoDB 컨트롤러 범위 설정 에서 사용해야 하는 값과 수행해야 할 추가 단계를 참조하세요.
기본값은 <metadata.namespace> 입니다.