선택적 설정을 제공하려면 --set
인수를 사용하여 Helm에 전달합니다. 배포 유형에 대한 값 설정을 나열하는 다음 파일을 사용합니다.
Vanilla Kubernetes: values.yaml
OpenShift: values-openshift.yaml
선택적 Kubernetes 연산자 설치 설정에 대해 자세히 알아보려면 연산자 Helm 설치 설정을 참조하세요.
다음 예제에서와 같이 명령을 실행하면 지정한 옵션이 구성에 전달됩니다.
helm upgrade enterprise-operator mongodb/enterprise-operator \ --set registry.pullPolicy='IfNotPresent'
에이전트.name
MongoDB Agent 이미지의 이름입니다. 이 설정은 레지스트리에 추가됩니다. 에이전트 하고 MDB_AGENT_IMAGE_REPOSITORY 환경 변수를 StatefulSet가 데이터베이스 배포를 위한 MongoDB Agent 이미지를 다운로드하는전체 URL 로 설정합니다. 자세한 학습 은 컨테이너 이미지를 참조하세요.
기본값 은 mongodb-agent-ubi 입니다.
agent: name: mongodb-agent-ubi
appDb.name
애플리케이션 데이터베이스 이미지의 이름입니다.
기본값은 mongodb-enterprise-appdb 입니다.
appDb: name: mongodb-enterprise-appdb version: 10.2.15.5958-1_4.2.11-ent
appDb.version
애플리케이션 데이터베이스가 사용하는 MongoDB Agent가 포함된 이미지의 버전입니다.
기본값은 10.2.15.5958-1_4.2.11-ent입니다.
appDb: name: mongodb-enterprise-appdb version: 10.2.15.5958-1_4.2.11-ent
database.name
MongoDB Enterprise 데이터베이스 이미지의 이름입니다.
기본값은 MongoDB Enterprise데이터베이스 입니다.
database: name: mongodb-enterprise-database version: 1.32
database.version
Kubernetes 연산자가 배포하는 MongoDB Enterprise 데이터베이스 이미지의 버전입니다.
database: name: mongodb-enterprise-database version: 1.32
initAppDb.name
애플리케이션 데이터베이스 시작 스크립트 및 준비성 프로브가 포함된 initContainer
이미지의 이름입니다.
기본값은 mongodb-enterprise-init-appdb 입니다.
database: name: mongodb-enterprise-init-appdb version: 1.32
initAppDb.version
애플리케이션 데이터베이스 시작 스크립트 및 준비성 프로브가 포함된 initContainer
이미지의 버전입니다.
기본값은 1.32 입니다.
database: name: mongodb-enterprise-init-appdb version: 1.32
initDatabase.name
MongoDB Agent 시작 스크립트 및 준비성 프로브가 포함된 initContainer
이미지의 이름입니다.
기본값은 MongoDB Enterprise-init-데이터베이스 입니다.
database: name: mongodb-enterprise-init-database version: 1.32
initDatabase.version
MongoDB Agent 시작 스크립트 및 준비성 프로브가 포함된 initContainer
이미지의 버전입니다.
기본값은 1.32 입니다.
database: name: mongodb-enterprise-init-database version: 1.32
initOpsManager.name
Ops Manager 시작 스크립트 및 준비성 프로브가 포함된 initContainer
이미지의 버전입니다.
기본값은 mongodb-enterprise-init-ops-manager 입니다.
database: name: mongodb-enterprise-init-ops-manager version: 1.32
initOpsManager.version
Ops Manager 시작 스크립트 및 준비성 프로브가 포함된 initContainer
이미지의 버전입니다.
기본값은 1.32 입니다.
database: name: mongodb-enterprise-init-ops-manager version: 1.32
managedSecurityContext
Kubernetes Operator가 Kubernetes cluster가 managed하는 securityContext 설정을 상속할지 여부를 결정하는 플래그입니다.
OpenShift 또는 제한적인 환경에서 Kubernetes Operator를 실행하려면 이 값이 true 여야 합니다.
기본값은 false 입니다.
# Set this to true if your cluster is managing SecurityContext for you. # If running OpenShift (Cloud, Minishift, etc.), set this to true. managedSecurityContext: false
기본값은 true 입니다.
# Set this to true if your cluster is managing SecurityContext for you. # If running OpenShift (Cloud, Minishift, etc.), set this to true. managedSecurityContext: true
mongodb.appdbAssumeOldFormat
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
이며, 이미지 접미사를 자동으로 업데이트합니다.
mongodb: appdbAssumeOldFormat: false
mongodb.imageType
애플리케이션 데이터베이스 이미지의 접미사입니다.
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
입니다. 일관성을 위해 ubi
이미지만 사용하는 것이 좋지만 필요한 경우 이 설정을 ubuntu2204
로 변경할 수 있습니다.
mongodb: imageType: ubi8
multiCluster.clusterClientTimeout
Kubernetes Operator가 클러스터의 Kubernetes API 서버 엔드포인트에 연결을 시도하는 시간(초)입니다. 이 시간 제한은 다중 Kubernetes 클러스터 MongoDB 배포의 모든 Kubernetes 클러스터에 대해 설정하다 됩니다. Kubernetes Operator가 지정된 시간 내에 Kubernetes API 서버 로부터 응답을 받지 못하면 클러스터 상태를 '비정상'으로 기록합니다. 자세한 학습 은 Kubernetes 클러스터 문제 해결을 참조하세요.
기본값은 10 입니다.
multiCluster: clusterClientTimeout: 10
namespace
Kubernetes Operator를 배포 하려는 네임스페이스입니다.
기본값 이외의 네임스페이스를 사용하려면 Kubernetes 연산자를 배포하려는 네임스페이스를 지정합니다.
기본값은 mongodb 입니다.
# Name of the Namespace to use namespace: mongodb
requiresCAIn프라이(가)
Kubernetes Kubernetes Operator가 credentials.k8s.io API 사용하여 TLS 인증서에 서명할 수 있도록 허용하는 ClusterRole을 생성할지 여부를 결정합니다.
needsCAInfrastructure: true
기본값은 true 입니다.
operator.deployment_name
Kubernetes 연산자 컨테이너의 이름입니다.
기본값은 mongodb-enterprise-operator 입니다.
operator: deployment_name: mongodb-enterprise-operator
operator.env
Kubernetes 연산자 배포 환경의 레이블입니다. 이 값은 기본 시간 초과와 로깅 수준 및 형식에 영향을 줍니다.
값은 다음과 같습니다. | 로그 수준이 다음으로 설정된 경우 | 로그 형식이 다음으로 설정된 경우 |
---|---|---|
| debug | text |
| 정보 | JSON |
기본값은 prod 입니다.
operator: # Execution environment for the operator, dev or prod. # Use dev for more verbose logging env: prod
연산자.maxConcurrentReconciles
Kubernetes Operator가 수행할 수 있는 최대 동시 조정 수입니다.MaxConcurrentReconciles 를 설정합니다. 자세한 학습 은 Kubernetes Operator 여러 MongoDB 복제본 세트 배포를 참조하세요.
예시
operator: # Control how many reconciles can be performed in parallel. # Increasing the number of concurrent reconciliations decreases the time needed to reconcile all watched resources, # but it might result in request load spikes and increased load on the Ops Manager API, and the Kubernetes API server generally. maxConcurrentReconciles: 10
연산자.mdbDefaultArchive
모든 배포에서 사용하는 컨테이너 아키텍처를 결정합니다.
런타임에 MongoDB 바이너리를 다운로드하는 기본 비정적 컨테이너 또는
런타임에 변경되지 않는 정적 컨테이너(공개 미리 보기) 입니다.
기본값은 non-static
입니다.
정적 컨테이너를 활성화하려면 static
으로 설정합니다.
참고
이 설정은 기존 배포를 포함한 모든 배포에 적용됩니다. 단일 배포에 대해 정적 컨테이너를 활성화하려면 metadata.annotations.mongodb.com/v1.architecture
MongoDB 리소스 에서 를 대신 사용합니다.
operator.mdbDefaultArchitecture: static
operator.name
Kubernetes가 배포, 서비스 계정, 역할, 파드와 같은 Kubernetes 연산자 객체에 할당하는 이름입니다.
이 값은 Kubernetes Operator가 있는 container 레지스트리의 이름에도 해당합니다.
기본값은 mongodb-enterprise-operator 입니다.
operator: name: mongodb-enterprise-operator
연산자.telemetry
Kubernetes Operator가 원격 분석을 수집하고 전송할 수 있도록 합니다. 다음 설정의 기본값 은 true
입니다.
operator: telemetry: # Enables telemetry. Setting this to "false" will stop all telemetry. enabled: true # Adds RBAC clusterRole for kube-system UID detection for the Kubernetes cluster UID. # Adds RBAC clusterRole for RBAC for nodes. We are listing exactly one node to detect the cluster provider (for example, eks). # Adds RBAC clusterRole for /version query for detecting Kubernetes server version. installClusterRole: true collection: # Controls how often the Kubernetes Operator collects and saves the data to the telemetry ConfigMap. It doesn't control whether this data is sent to MongoDB for analysis. # Valid time units for frequency are "m", or "h". Anything less than one minute defaults to 1h. frequency: 1h # Enables the Kubernetes Operator to collect and send cluster-level telemetry. # Note: the cluster UUID is unique but random and MongoDB has no way to map this to a customer. clusters: enabled: true # Enables the Kubernetes Operator to collect and send deployment-level telemetry. deployments: enabled: true # Enables the Kubernetes Operator to collect and send Kubernetes Operator-level telemetry. operators: enabled: true # Enables sending the collected telemetry to MongoDB. send: enabled: true # Controls how often the Kubernetes Operator sends the collected the data to MongoDB for analysis. # Valid time units are "h". Anything less than one hour defaults to 168h, which is one week. frequency: 168h
operator.vaultSecretBackend.enabled
Kubernetes Operator가 HashiCorp Vault에 시크릿을 저장할지 여부를 결정합니다. 자세한 학습 은 시크릿 스토리지 도구 설정을 참조하세요. Vault와 함께 TLS를 사용하는 경우 연산자.vaultSecretBackend.tlsSecretRef도 지정해야 합니다.
기본값은 false 입니다.
operator: # Set the following setting to "true" so that the MongoDB Kubernetes Operator stores secrets in Vault. vaultSecretBackend: false
operator.vaultSecretBackend.tlsSecretRef
Vault에서 TLS 를 사용하는 경우 필수입니다. 볼트 구성에 사용된 TLS 시크릿으로 ca.crt
항목이 포함되어 있습니다. ca.crt
항목의 내용은 Vault TLS 인증서를 생성하는 데 사용된 CA 의 인증서와 일치해야 합니다. Kubernetes Operator는 이 TLS 시크릿을 시크릿 저장소 도구에 저장합니다. 자세한 내용은 Configure Secret Storage(시크릿 스토리지 구성)를 참조하세요. operator.vaultSecretBackend.enabled 를 true
로 설정해야 합니다.
operator: vaultSecretBackend: true tlsSecretRef: "vault-tls-secret"
operator.version
배포하려는 Kubernetes 연산자의 버전입니다.
기본값은 1.32 입니다.
operator: version: 1.32
operator.watchNamespace
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> 입니다.
# Watch one namespace helm install enterprise-operator mongodb/enterprise-operator \ --set operator.watchNamespace='namespace-to-watch' <...>
# Watch both namespace-a and namespace-b helm install enterprise-operator mongodb/enterprise-operator \ --set operator.watchNamespace="namespace-a\,namespace-b"
# Operator with name `mongodb-enterprise-operator-qa-envs` will # watch ns-dev, ns-qa and ns-uat namespaces helm install mongodb-enterprise-operator-qa-envs mongodb/enterprise-operator \ --set operator.watchNamespace="ns-dev\,ns-qa\,ns-uat"
# Operator with name `mongodb-enterprise-operator-staging` will # watch ns-staging and ns-pre-prod helm install mongodb-operator helm-chart --set operator.watchNamespace="ns-staging\,ns-pre-prod" mongodb-enterprise-operator-staging
operator.watchedResources
Kubernetes 연산자가 감시하는 사용자 지정 리소스입니다.
Kubernetes Operator는 CustomResourceDefinitions를 설치하고 사용자가 지정한 리소스만 감시합니다.
Kubernetes Operator는 다음 값을 허용합니다:
값 | 설명 |
---|---|
| 데이터베이스 리소스에 대한 CustomResourceDefinitions를 설치하고 해당 리소스를 감시합니다. |
| MongoDB 사용자 리소스에 대한 CustomResourceDefinitions를 설치하고 해당 리소스를 확인합니다. |
| Ops Manager 리소스용 CustomResourceDefinitions를 설치하고 해당 리소스를 확인합니다. |
operator: watchedResources: - mongodbusers - mongodb - opsmanagers
opsManager.name
Ops Manager 이미지의 이름입니다.
기본값은 mongodb-enterprise-ops-manager 입니다.
opsManager: name: mongodb-enterprise-ops-manager
레지스트리. 에이전트
MongoDB 이미지용 Quay 컨테이너 레지스트리의URL . 에이전트 .name이 추가되고 MDB_AGENT_IMAGE_REPOSITORY 환경 변수를 StatefulSet가 데이터베이스 배포를 위한 MongoDB Agent 이미지를 다운로드하는 전체 URL 로 설정합니다. 자세한 학습 은 컨테이너 이미지를 참조하세요.
기본값은 quay.io/mongodb 입니다.
registry: agent: quay.io/mongodb/
레지스트리.appDb
Kubernetes 연산자가 애플리케이션 데이터베이스 이미지를 다운로드하는 리포지토리의 URL 입니다.
기본값은 quay.io/mongodb 입니다.
registry: appDb: quay.io/mongodb
기본값 은 registration.connect.redhat.com/mongodb 입니다.
registry: appDb: registry.connect.redhat.com/mongodb
레지스트리.imagePullSecrets
리포지토리 에서 이미지를 가져오는 데 필요한 자격 증명 이 포함된 비밀입니다.
중요
OpenShift에는 이 설정이 필요합니다. 이 파일의 imagePullSecrets
설정에 정의하거나 Helm을 사용하여 Kubernetes 연산자를 설치할 때 전달합니다. Kubernetes 연산자를 사용하여 MongoDB 리소스를 여러 네임스페이스 또는 클러스터 전체 범위 에 배포하는 경우, Kubernetes 연산자를 설치한 네임스페이스에만 시크릿을 생성하십시오. Kubernetes 연산자는 모든 감시 대상 네임스페이스에서 시크릿을 동기화합니다.
registry: # Specify the secret in the ``imagePullSecrets`` setting. If you # use the MongoDB Kubernetes Operator to deploy MongoDB resources # into multiple namespaces, create the secret only in the namespace # where you installed the Operator. The Operator synchronizes # the secret across all watched namespaces. imagePullSecrets: <openshift-pull-secret>
레지스트리.initAppDb
애플리케이션 데이터베이스 시작 스크립트 및 준비성 프로브가 포함된 initContainer
이미지가 다운로드되는 리포지토리의 URL 입니다.
기본값은 quay.io/mongodb 입니다.
registry: initAppDb: quay.io/mongodb
기본값 은 registration.connect.redhat.com/mongodb 입니다.
registry: initAppDb: registry.connect.redhat.com/mongodb
레지스트리.initOpsManager
Ops Manager 시작 스크립트 및 준비성 프로브가 포함된 initContainer
이미지가 다운로드되는 리포지토리의 URL 입니다.
기본값은 quay.io/mongodb 입니다.
registry: initOpsManager: quay.io/mongodb
기본값 은 registration.connect.redhat.com/mongodb 입니다.
registry: initOpsManager: registry.connect.redhat.com/mongodb
registry.operator
Kubernetes 연산자 이미지를 가져오는 리포지토리입니다. 비공개 리포지토리에서 Kubernetes 연산자 이미지를 가져오려면 이 값을 지정합니다.
기본값은 quay.io/mongodb 입니다.
registry: operator: quay.io/mongodb
기본값 은 registration.connect.redhat.com/mongodb 입니다.
registry: operator: registry.connect.redhat.com/mongodb
레지스트리.opsManager
Ops Manager 리소스 의 이미지가 다운로드되는 리포지토리의URL 입니다.
기본값은 quay.io/mongodb 입니다.
registry: opsManager: quay.io/mongodb
기본값 은 registration.connect.redhat.com/mongodb 입니다.
registry: opsManager: registry.connect.redhat.com/mongodb
연산자.resources.requests
Kubernetes Operator의 CPU 및 메모리 소비 한도에 대한 사양입니다.
예시
# operator cpu requests and limits resources: requests: cpu: 500m memory: 200Mi
연산자.resources.limits
Kubernetes Operator의 CPU 및 메모리 소비 한도에 대한 사양입니다.
예시
# operator cpu requests and limits resources: limits: cpu: 1100m memory: 1Gi
subresourceEnabled
Kubernetes 연산자 CustomResourceDefinition 에서 하위 리소스를 정의할 수 있는지 여부를 나타내는 플래그입니다.
기본값은 true 입니다.
subresourceEnabled: true
webhook.installClusterRole
플래그를 사용하면 Kubernetes 클러스터 역할에 대한 사용자 유효성 검사 허용 웹훅을 구성할 수 있습니다.
배포서버 에서 Kubernetes 클러스터 역할을 허용하지 않는 경우 이 플래그를 false
로 설정합니다.
기본값은 true 입니다.
webhook: installClusterRole: false