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'
에이전트.name
MongoDB Agent 이미지의 이름입니다. 이 설정은 레지스트리에 추가됩니다. 에이전트 를 실행하고 MDB_AGENT_IMAGE_REPOSITORY 환경 변수를 StatefulSet 가 생성된 전체URL로 설정합니다. 데이터베이스 배포를 위한 MongoDB Agent 이미지를 다운로드합니다. 학습 보려면 컨테이너 이미지를 참조하세요.
기본값 은 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.28
database.version
Kubernetes 연산자가 배포하는 MongoDB Enterprise 데이터베이스 이미지의 버전입니다.
database: name: mongodb-enterprise-database version: 1.28
initAppDb.name
애플리케이션 데이터베이스 시작 스크립트 및 준비성 프로브가 포함된 initContainer
이미지의 이름입니다.
기본값은 mongodb-enterprise-init-appdb 입니다.
database: name: mongodb-enterprise-init-appdb version: 1.28
initAppDb.version
애플리케이션 데이터베이스 시작 스크립트 및 준비성 프로브가 포함된 initContainer
이미지의 버전입니다.
기본값은 1.28 입니다.
database: name: mongodb-enterprise-init-appdb version: 1.28
initDatabase.name
MongoDB Agent 시작 스크립트 및 준비성 프로브가 포함된 initContainer
이미지의 이름입니다.
기본값은 MongoDB Enterprise-init-데이터베이스 입니다.
database: name: mongodb-enterprise-init-database version: 1.28
initDatabase.version
MongoDB Agent 시작 스크립트 및 준비성 프로브가 포함된 initContainer
이미지의 버전입니다.
기본값은 1.28 입니다.
database: name: mongodb-enterprise-init-database version: 1.28
initOpsManager.name
Ops Manager 시작 스크립트 및 준비성 프로브가 포함된 initContainer
이미지의 버전입니다.
기본값은 mongodb-enterprise-init-ops-manager 입니다.
database: name: mongodb-enterprise-init-ops-manager version: 1.28
initOpsManager.version
Ops Manager 시작 스크립트 및 준비성 프로브가 포함된 initContainer
이미지의 버전입니다.
기본값은 1.28 입니다.
database: name: mongodb-enterprise-init-ops-manager version: 1.28
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 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-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 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-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가 ClusterRole 을 생성할지 여부를 결정합니다. Kubernetes 연산자가 인증서를 사용하여 TLS 인증서에 서명할 수 있도록 합니다 .k8s.io API.
needsCAInfrastructure: true
기본값은 true 입니다.
operator.deployment_name
Kubernetes 연산자 컨테이너의 이름입니다.
기본값은 mongodb-enterprise-operator 입니다.
operator: deployment_name: mongodb-enterprise-operator
operator.env
Kubernetes 연산자 배포 환경의 레이블입니다. 이 값은 기본 시간 초과와 로깅 수준 및 형식에 영향을 줍니다.
값은 다음과 같습니다. | 로그 수준이 다음으로 설정된 경우 | 로그 형식이 다음으로 설정된 경우 |
---|---|---|
dev | debug | text |
prod | 정보 | 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
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.28 입니다.
operator: version: 1.28
operator.watchNamespace
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
operator.watchedResources
Kubernetes 연산자가 감시하는 사용자 지정 리소스입니다.
Kubernetes Operator는 CustomResourceDefinitions 는 지정한 리소스만 감시합니다.
Kubernetes Operator는 다음 값을 허용합니다:
값 | 설명 |
---|---|
mongodb | 데이터베이스 리소스에 대한 CustomResourceDefinitions를 설치하고 해당 리소스를 감시합니다. |
mongodbusers | MongoDB 사용자 리소스에 대한 CustomResourceDefinitions를 설치하고 해당 리소스를 확인합니다. |
opsmanagers | Ops Manager 리소스용 CustomResourceDefinitions를 설치하고 해당 리소스를 확인합니다. |
operator: watchedResources: - mongodbusers - mongodb - opsmanagers
opsManager.name
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/
레지스트리.appDb
Kubernetes 연산자가 애플리케이션 데이터베이스 이미지를 다운로드하는 리포지토리의 URL 입니다.
기본값은 quay.io/mongodb 입니다.
registry: appDb: quay.io/mongodb
기본값 은 registration.connect.redhat.com/mongodb 입니다.
registry: appDb: registry.connect.redhat.com/mongodb
레지스트리.imagePullSecrets
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>
레지스트리.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
CPU 및 메모리 소비 한도 사양 Kubernetes 연산자의.
예시
# operator cpu requests and limits resources: requests: cpu: 500m memory: 200Mi
연산자.resources.limits
CPU 및 메모리 소비 한도 사양 Kubernetes 연산자의.
예시
# 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