Docs Menu
Docs Home
/
MongoDB Enterprise Kubernetes 연산자
/ /

MongoDB Enterprise Kubernetes Operator Helm 설치 설정

이 페이지의 내용

  • 에이전트.name
  • appDb.name
  • appDb.version
  • database.name
  • database.version
  • initAppDb.name
  • initAppDb.version
  • initDatabase.name
  • initDatabase.version
  • initOpsManager.name
  • initOpsManager.version
  • managedSecurityContext
  • mongodb.appdbAssumeOldFormat
  • mongodb.imageType
  • multiCluster.clusterClientTimeout
  • namespace
  • requiresCAIn프라이(가)
  • operator.deployment_name
  • operator.env
  • 연산자.maxConcurrentReconciles
  • 연산자.mdbDefaultArchive
  • operator.name
  • operator.vaultSecretBackend.enabled
  • operator.vaultSecretBackend.tlsSecretRef
  • operator.version
  • operator.watchNamespace
  • operator.watchedResources
  • opsManager.name
  • 레지스트리. 에이전트
  • 레지스트리.appDb
  • 레지스트리.imagePullSecrets
  • 레지스트리.initAppDb
  • 레지스트리.initOpsManager
  • registry.operator
  • 레지스트리.opsManager
  • 연산자.resources.requests
  • 연산자.resources.limits
  • subresourceEnabled
  • webhook.installClusterRole

선택적 설정을 제공하려면 --set 인수를 사용하여 Helm에 전달합니다. 배포 유형에 대한 값 설정을 나열하는 다음 파일을 사용합니다.

  • Vanilla Kubernetes: values.yaml

  • OpenShift: values-openshift.yaml

선택적 Kubernetes 연산자 설치 설정에 대해 자세히 알아보려면 연산자 Helm 설치 설정을 참조하세요.

다음 예제에서와 같이 명령을 실행하면 지정한 옵션이 구성에 전달됩니다.

helm upgrade enterprise-operator mongodb/enterprise-operator \
--set registry.pullPolicy='IfNotPresent'

MongoDB Agent 이미지의 이름입니다. 이 설정은 레지스트리에 추가됩니다. 에이전트 를 실행하고 MDB_AGENT_IMAGE_REPOSITORY 환경 변수를 StatefulSet 가 생성된 전체URL로 설정합니다. 데이터베이스 배포를 위한 MongoDB Agent 이미지를 다운로드합니다. 학습 보려면 컨테이너 이미지를 참조하세요.

기본값 은 mongodb-agent-ubi 입니다.

agent:
name: mongodb-agent-ubi

애플리케이션 데이터베이스 이미지의 이름입니다.

기본값은 mongodb-enterprise-appdb 입니다.

appDb:
name: mongodb-enterprise-appdb
version: 10.2.15.5958-1_4.2.11-ent

애플리케이션 데이터베이스가 사용하는 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

MongoDB Enterprise 데이터베이스 이미지의 이름입니다.

기본값은 MongoDB Enterprise데이터베이스 입니다.

database:
name: mongodb-enterprise-database
version: 1.28

Kubernetes 연산자가 배포하는 MongoDB Enterprise 데이터베이스 이미지의 버전입니다.

database:
name: mongodb-enterprise-database
version: 1.28

애플리케이션 데이터베이스 시작 스크립트 및 준비성 프로브가 포함된 initContainer 이미지의 이름입니다.

기본값은 mongodb-enterprise-init-appdb 입니다.

database:
name: mongodb-enterprise-init-appdb
version: 1.28

애플리케이션 데이터베이스 시작 스크립트 및 준비성 프로브가 포함된 initContainer 이미지의 버전입니다.

기본값은 1.28 입니다.

database:
name: mongodb-enterprise-init-appdb
version: 1.28

MongoDB Agent 시작 스크립트 및 준비성 프로브가 포함된 initContainer 이미지의 이름입니다.

기본값은 MongoDB Enterprise-init-데이터베이스 입니다.

database:
name: mongodb-enterprise-init-database
version: 1.28

MongoDB Agent 시작 스크립트 및 준비성 프로브가 포함된 initContainer 이미지의 버전입니다.

기본값은 1.28 입니다.

database:
name: mongodb-enterprise-init-database
version: 1.28

Ops Manager 시작 스크립트 및 준비성 프로브가 포함된 initContainer 이미지의 버전입니다.

기본값은 mongodb-enterprise-init-ops-manager 입니다.

database:
name: mongodb-enterprise-init-ops-manager
version: 1.28

Ops Manager 시작 스크립트 및 준비성 프로브가 포함된 initContainer 이미지의 버전입니다.

기본값은 1.28 입니다.

database:
name: mongodb-enterprise-init-ops-manager
version: 1.28

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

Kubernetes Operator 1.20 에서 container 레지스트리 이 애플리케이션 데이터베이스 이미지에 대해 변경되었으며 이미지는 새 태그 접미사를 사용합니다. Kubernetes Operator를 업그레이드하면 Kubernetes Operator 가 새 컨테이너 레지스트리를 -ubi8 또는 MDB_IMAGE_TYPE 또는 mongodb.imageType에 설정된 접미사로 참조하는 모든 이미지에 대해 이전 접미사 -ent 를 자동으로 업데이트합니다.

예를 들어, Kubernetes 연산자는 quay.io/mongodb/mongodb-enterprise-server:4.4.5-entquay.io/mongodb/mongodb-enterprise-server:4.4.5-ubi8 로 변경합니다.

Kubernetes 연산자가 접미사를 자동으로 업데이트하지 않도록 하려면 MDB_APPDB_ASSUME_OLD_FORMAT 또는 mongodb.appdbAssumeOldFormattrue 로 설정합니다. 예를 들어, 자체 리포지토리에서 이 이미지를 미러링하는 경우 자동 접미사 변경을 중지할 수 있습니다.

기본값은 false 이며, 이미지 접미사를 자동으로 업데이트합니다.

mongodb:
appdbAssumeOldFormat: false

애플리케이션 데이터베이스 이미지의 접미사입니다.

Kubernetes Operator 1.20 에서 container 레지스트리 이 애플리케이션 데이터베이스 이미지에 대해 변경되었으며 이미지는 새 태그 접미사를 사용합니다. Kubernetes Operator를 업그레이드하면 Kubernetes Operator 가 새 컨테이너 레지스트리를 -ubi8 또는 MDB_IMAGE_TYPE 또는 mongodb.imageType에 설정된 접미사로 참조하는 모든 이미지에 대해 이전 접미사 -ent 를 자동으로 업데이트합니다.

예를 들어, Kubernetes 연산자는 quay.io/mongodb/mongodb-enterprise-server:4.4.5-entquay.io/mongodb/mongodb-enterprise-server:4.4.5-ubi8 로 변경합니다.

Kubernetes 연산자가 접미사를 자동으로 업데이트하지 않도록 하려면 MDB_APPDB_ASSUME_OLD_FORMAT 또는 mongodb.appdbAssumeOldFormattrue 로 설정합니다. 예를 들어, 자체 리포지토리에서 이 이미지를 미러링하는 경우 자동 접미사 변경을 중지할 수 있습니다.

기본값은 ubi8 입니다. 일관성을 위해 ubi 이미지만 사용하는 것이 좋지만 필요한 경우 이 설정을 ubuntu2204 로 변경할 수 있습니다.

mongodb:
imageType: ubi8

Kubernetes Operator가 클러스터의 Kubernetes API 서버 에 연결을 시도하는 시간(초) 엔드포인트. 이 시간 제한은 다중 Kubernetes 클러스터 MongoDB 배포의 모든 Kubernetes 클러스터에 대해 설정됩니다. Kubernetes Operator가 지정된 시간 내에 Kubernetes API 서버로부터 응답을 받지 못하면 클러스터 상태를 '비정상'으로 기록합니다. 자세한 내용은 Kubernetes 클러스터 문제 해결을 참조하세요.

기본값은 10 입니다.

multiCluster:
clusterClientTimeout: 10

네임스페이스 Kubernetes Operator를 배포하려는 경우.

기본값 이외의 네임스페이스를 사용하려면 Kubernetes 연산자를 배포하려는 네임스페이스를 지정합니다.

기본값은 mongodb 입니다.

# Name of the Namespace to use
namespace: mongodb

Kubernetes가 ClusterRole 을 생성할지 여부를 결정합니다. Kubernetes 연산자가 인증서를 사용하여 TLS 인증서에 서명할 수 있도록 합니다 .k8s.io API.

needsCAInfrastructure: true

기본값은 true 입니다.

Kubernetes 연산자 컨테이너의 이름입니다.

기본값은 mongodb-enterprise-operator 입니다.

operator:
deployment_name: mongodb-enterprise-operator

Kubernetes 연산자 배포 환경의 레이블입니다. 이 값은 기본 시간 초과와 로깅 수준 및 형식에 영향을 줍니다.

값은 다음과 같습니다.
로그 수준이 다음으로 설정된 경우
로그 형식이 다음으로 설정된 경우
dev
debug
text
prod
정보
JSON

기본값은 prod 입니다.

operator:
# Execution environment for the operator, dev or prod.
# Use dev for more verbose logging
env: prod

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

모든 배포에서 사용하는 컨테이너 아키텍처를 결정합니다.

기본값은 non-static입니다.

정적 컨테이너를 활성화하려면 static 으로 설정합니다.

참고

이 설정은 기존 배포를 포함한 모든 배포에 적용됩니다. 단일 배포에 대해 정적 컨테이너를 활성화하려면 metadata.annotations.mongodb.com/v1.architecture MongoDB 리소스 에서 를 대신 사용합니다.

operator.mdbDefaultArchitecture: static

Kubernetes가 배포, 서비스 계정, 역할, 파드와 같은 Kubernetes 연산자 객체에 할당하는 이름입니다.

이 값은 Kubernetes Operator가 있는 container 레지스트리의 이름에도 해당합니다.

기본값은 mongodb-enterprise-operator 입니다.

operator:
name: mongodb-enterprise-operator

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

Vault에서 TLS 를 사용하는 경우 필수입니다. 볼트 구성에 사용된 TLS 시크릿으로 ca.crt 항목이 포함되어 있습니다. ca.crt 항목의 내용은 Vault TLS 인증서를 생성하는 데 사용된 CA 의 인증서와 일치해야 합니다. Kubernetes Operator는 이 TLS 시크릿을 시크릿 저장소 도구에 저장합니다. 자세한 내용은 Configure Secret Storage(시크릿 스토리지 구성)를 참조하세요. operator.vaultSecretBackend.enabledtrue 로 설정해야 합니다.

operator:
vaultSecretBackend: true
tlsSecretRef: "vault-tls-secret"

배포하려는 Kubernetes 연산자의 버전입니다.

기본값은 1.28 입니다.

operator:
version: 1.28

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> 입니다.

# 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

Kubernetes 연산자가 감시하는 사용자 지정 리소스입니다.

Kubernetes Operator는 CustomResourceDefinitions 는 지정한 리소스만 감시합니다.

Kubernetes Operator는 다음 값을 허용합니다:

설명
mongodb
데이터베이스 리소스에 대한 CustomResourceDefinitions를 설치하고 해당 리소스를 감시합니다.
mongodbusers
MongoDB 사용자 리소스에 대한 CustomResourceDefinitions를 설치하고 해당 리소스를 확인합니다.
opsmanagers
Ops Manager 리소스용 CustomResourceDefinitions를 설치하고 해당 리소스를 확인합니다.
operator:
watchedResources:
- mongodbusers
- mongodb
- opsmanagers

Ops Manager 이미지의 이름입니다.

기본값은 mongodb-enterprise-ops-manager 입니다.

opsManager:
name: mongodb-enterprise-ops-manager

Quay URLMongoDB 이미지용 container 레지스트리. Agent.name 이 추가되고 MDB_AGENT_IMAGE_REPOSITORY 환경 변수를 StatefulSet 가 생성된 전체 URL로 설정합니다. 데이터베이스 배포를 위한 MongoDB Agent 이미지를 다운로드합니다. 자세히 알아보려면 컨테이너 이미지를 참조하세요.

기본값은 quay.io/mongodb 입니다.

registry:
agent: quay.io/mongodb/

Kubernetes 연산자가 애플리케이션 데이터베이스 이미지를 다운로드하는 리포지토리의 URL 입니다.

기본값은 quay.io/mongodb 입니다.

registry:
appDb: quay.io/mongodb

기본값 은 registration.connect.redhat.com/mongodb 입니다.

registry:
appDb: registry.connect.redhat.com/mongodb

secret 에는 리포지토리에서 이미지를 가져오는 데 필요한 자격 증명이 포함되어 있습니다.

중요

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>

애플리케이션 데이터베이스 시작 스크립트 및 준비성 프로브가 포함된 initContainer 이미지가 다운로드되는 리포지토리의 URL 입니다.

기본값은 quay.io/mongodb 입니다.

registry:
initAppDb: quay.io/mongodb

기본값 은 registration.connect.redhat.com/mongodb 입니다.

registry:
initAppDb: registry.connect.redhat.com/mongodb

Ops Manager 시작 스크립트 및 준비성 프로브가 포함된 initContainer 이미지가 다운로드되는 리포지토리의 URL 입니다.

기본값은 quay.io/mongodb 입니다.

registry:
initOpsManager: quay.io/mongodb

기본값 은 registration.connect.redhat.com/mongodb 입니다.

registry:
initOpsManager: registry.connect.redhat.com/mongodb

Kubernetes 연산자 이미지를 가져오는 리포지토리입니다. 비공개 리포지토리에서 Kubernetes 연산자 이미지를 가져오려면 이 값을 지정합니다.

기본값은 quay.io/mongodb 입니다.

registry:
operator: quay.io/mongodb

기본값 은 registration.connect.redhat.com/mongodb 입니다.

registry:
operator: registry.connect.redhat.com/mongodb

Ops Manager 리소스 의 이미지가 다운로드되는 리포지토리의URL 입니다.

기본값은 quay.io/mongodb 입니다.

registry:
opsManager: quay.io/mongodb

기본값 은 registration.connect.redhat.com/mongodb 입니다.

registry:
opsManager: registry.connect.redhat.com/mongodb

CPU 및 메모리 소비 한도 사양 Kubernetes 연산자의.

예시

# operator cpu requests and limits
resources:
requests:
cpu: 500m
memory: 200Mi

CPU 및 메모리 소비 한도 사양 Kubernetes 연산자의.

예시

# operator cpu requests and limits
resources:
limits:
cpu: 1100m
memory: 1Gi

Kubernetes 연산자 CustomResourceDefinition 에서 하위 리소스를 정의할 수 있는지 여부를 나타내는 플래그입니다. .

기본값은 true 입니다.

subresourceEnabled: true

플래그를 사용하면 사용자 유효성 검사 허용 웹훅 을 구성할 수 있습니다. Kubernetes 클러스터 역할 의 경우 .

배포서버 에서 Kubernetes 클러스터 역할을 허용하지 않는 경우 이 플래그를 false 로 설정합니다.

기본값은 true 입니다.

webhook:
installClusterRole: false

돌아가기

연산자 `kubectl` & `oc`