Docs 菜单
Docs 主页
/
MongoDB Enterprise Kubernetes Operator
/ /

MongoDB Enterprise Kubernetes Operator Helm 安装设置

在此页面上

  • 代理
  • 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
  • 需要 CA 基础架构
  • Operator.deployment_name
  • Operator.env
  • 操作符.maxConcurrentReconciles
  • 操作符.mdbDefaultArchitecture
  • Operator.name
  • Operator.vaultSecretBackend.enabled
  • Operator.vaultSecretBackend.tlsSecretRef
  • Operator.version
  • Operator.watchNamespace
  • Operator.watchedResources
  • opsManager.name
  • 注册表。代理
  • registry.appDb
  • registry.imagePullSecrets
  • registry.initAppDb
  • registry.initOpsManager
  • registry.operator
  • registry.opsManager
  • 操作符.resources.requests
  • 操作符.resources.limits
  • subresourceEnabled
  • webhook.installClusterRole

要提供可选设置,请使用 --set参数将其传递给 Helm。 使用以下列出部署类型值设置的文件:

  • Vanilla Kubernetes: values.yaml

  • OpenShift: values-openshift.yaml

要了解可选的 Kubernetes Operator 安装设置,请参阅Operator Helm 安装设置。

按以下示例运行命令,指定的选项将传递到配置中:

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

MongoDB Agent映像的名称。 此设置将附加到 URLMongoDB Agent注册表中。代理 ,并将 MDB_AGENT_IMAGE_REPOSITORY 环境变量设置为完整的 ,而 StatefulSet 下载用于数据库部署的 映像。要学习;了解更多信息,请参阅容器映像。

默认值为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.27

Kubernetes 操作符部署的 MongoDB Enterprise 数据库映像的版本。

database:
name: mongodb-enterprise-database
version: 1.27

包含应用程序数据库启动脚本和就绪探针的initContainer映像的名称。

默认值为mongodb-enterprise-init-appdb

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

包含应用程序数据库启动脚本和就绪探针的initContainer映像版本。

默认值为1.27

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

包含 MongoDB Agent 启动脚本和就绪探针的initContainer映像的名称。

默认值为MongoDB Enterprise-init-数据库

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

包含 MongoDB Agent 启动脚本和就绪探针的initContainer映像的版本。

默认值为1.27

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

包含 Ops Manager 启动脚本和就绪探针的initContainer映像版本。

默认值为MongoDB Enterprise-init-ops-经理

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

包含 Ops Manager 启动脚本和就绪探针的initContainer映像版本。

默认值为1.27

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

用于确定 Kubernetes 操作符 是否继承 Kubernetes 集群托管的securityContext设置的标志。

如果您想在 OpenShift 中或限制性环境中运行 Kubernetes 操作符,则该值必须为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 Operator1.20 中, 容器注册表 更改了 应用程序数据库 映像,并且映像使用新的标签后缀。升级 Kubernetes Operator时,Kubernetes Operator 会自动将引用新容器注册表的所有映像的早期后缀-ent更新为-ubi8MDB_IMAGE_TYPEmongodb.imageType 中设置的后缀。

例如,Kubernetes 操作符 将quay.io/mongodb/mongodb-enterprise-server:4.4.5-ent更改为quay.io/mongodb/mongodb-enterprise-server:4.4.5-ubi8

要阻止 Kubernetes Operator 自动更新后缀,请将MDB_APPDB_ASSUME_OLD_FORMATmongodb.appdbAssumeOldFormat设置为true 。 例如,如果要从自己的存储库镜像此映像,则可能需要停止自动更改后缀。

默认值为false ,它会自动更新图像后缀。

mongodb:
appdbAssumeOldFormat: false

应用程序数据库映像的后缀。

在 Kubernetes Operator1.20 中, 容器注册表 更改了 应用程序数据库 映像,并且映像使用新的标签后缀。升级 Kubernetes Operator时,Kubernetes Operator 会自动将引用新容器注册表的所有映像的早期后缀-ent更新为-ubi8MDB_IMAGE_TYPEmongodb.imageType 中设置的后缀。

例如,Kubernetes 操作符 将quay.io/mongodb/mongodb-enterprise-server:4.4.5-ent更改为quay.io/mongodb/mongodb-enterprise-server:4.4.5-ubi8

要阻止 Kubernetes Operator 自动更新后缀,请将MDB_APPDB_ASSUME_OLD_FORMATmongodb.appdbAssumeOldFormat设置为true 。 例如,如果要从自己的存储库镜像此映像,则可能需要停止自动更改后缀。

默认值为ubi8 。 为了保持一致性,我们建议仅使用ubi图像,但如果需要,可以将此设置更改为ubuntu2204

mongodb:
imageType: ubi8

Kubernetes Operator 尝试连接到集群的 Kubernetes API 服务器 的时间(以秒为单位) 端点。此超时时间是为多 Kubernetes 集群 MongoDB 部署中的所有 Kubernetes 集群设置的。 如果 Kubernetes Operator 在指定时间内没有从 Kubernetes API 服务器收到响应,则会将集群的状态记录为“unhealthy”(不健康)。 要了解更多信息,请参阅 Kubernetes 集群故障排除。

默认值为10

multiCluster:
clusterClientTimeout: 10

命名空间 要在其中部署 Kubernetes Operator。

要使用默认值以外的命名空间,请指定要在其中部署 Kubernetes 操作符的命名空间。

默认值为mongodb

# Name of the Namespace to use
namespace: mongodb

确定 Kubernetes 是否创建 ClusterRole 允许 Kubernetes Operator 使用证书签署 TLS 证书 。 k s.io8API。

needsCAInfrastructure: true

默认值为true

Kubernetes 操作符 container 的名称。

默认值为MongoDB Enterprise操作符

operator:
deployment_name: mongodb-enterprise-operator

Kubernetes Operator 部署环境的标签。 此值会影响默认超时以及日志记录级别和格式:

如果值为
日志级别设置为
日志格式设置为
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 操作符对象的名称,例如 Deployments、ServiceAccounts、角色 和 Pod。

此值还对应于 Kubernetes Operator 所在容器注册表的名称。

默认值为MongoDB Enterprise操作符

operator:
name: mongodb-enterprise-operator

确定Kubernetes Operator 是否将密钥存储在 HashiCorp Vault 中 。要学习;了解更多信息,请参阅设置密钥存储工具。 如果将TLS与 Vault 结合使用,则还必须指定操作符.vaultSecretBackend.tlsSecretRef。

默认值为false

operator:
# Set the following setting to "true" so that the MongoDB Kubernetes Operator stores secrets in Vault.
vaultSecretBackend: false

如果您将TLS与 Vault 结合使用,则为必填项。 在包含ca.crt条目的保管库配置中使用的 TLS 密钥。 ca.crt条目的内容必须与用于生成 Vault TLS 证书的CA证书匹配。 Kubernetes Operator 将此 TLS 密钥存储在其密钥存储工具中。 要了解更多信息,请参阅配置密钥存储。 需要将Operator.vaultSecretBackend.enabled设置为true

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

要部署的 Kubernetes Operator 版本。

默认值为1.27

operator:
version: 1.27

Kubernetes Operator 监视MongoDB资源更改的命名空间。 如果此 命名空间 与默认值不同,请确保 Kubernetes Operator ServiceAccount 可以访问 此命名空间。

  • 要监视 所有命名空间 ,请指定 * 并分配 ClusterRole mongodb-enterprise-operator用于运行 Kubernetes Operator 的 ServiceAccount。

  • 要监视所有命名空间的子集,请在逗号分隔的列表中指定它们,使用反斜杠转义每个逗号,并用引号将该列表括起来,例如"operator.watchNamespace=ns1\,ns2"

在单个 Kubernetes 操作符实例监视不同集群资源类型的部署中,监视命名空间子集非常有用。例如,您可以将 Kubernetes 操作符 配置为监视一个命名空间子集中的MongoDB资源,并监视另一命名空间子集中的MongoDBMultiCluster资源。为了避免在资源协调期间出现竞争条件,对于您希望 Kubernetes 操作符监视的每种自定义资源类型,请确保将范围设置为命名空间的不同子集。

重要

将 和MongoDB Ops Manager MongoDB资源部署到一个或多个 命名空间 Kubernetes要了解必须使用的值以及可能需要执行的其他步骤,请参阅 为MongoDBEnterprise 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 Operator 监视的自定义资源。

Kubernetes Operator 安装 CustomResourceDefinitions 仅用于并监视您指定的资源。

Kubernetes Operator 接受以下值:

说明
mongodb
安装数据库资源的 CustomResourceDefinitions 并监视这些资源。
mongodbusers
为 MongoDB 用户资源安装 CustomResourceDefinitions 并监视这些资源。
opsmanagers
安装 Ops Manager 的 CustomResourceDefinitions 并监视这些资源。
operator:
watchedResources:
- mongodbusers
- mongodb
- opsmanagers

Ops Manager 映像的名称。

默认值为MongoDB Enterprise-ops-经理

opsManager:
name: mongodb-enterprise-ops-manager

Quay URL MongoDB 映像的容器注册表。Agent.name 会被追加,并将 MDB_AGENT_IMAGE_REPOSITORY 环境变量 设置URL 为MongoDB Agent 下载用于数据库部署的 映像。要了解更多信息,请参阅容器映像。

默认值为quay.io/mongodb

registry:
agent: quay.io/mongodb/

Kubernetes 操作符从存储库下载应用程序数据库映像的URL

默认值为quay.io/mongodb

registry:
appDb: quay.io/mongodb

默认值为registry.connect.redhat.com/mongodb

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

secret 包含从存储库中提取映像所需的凭证。

重要

OpenShift 需要此设置。 在此文件的imagePullSecrets设置中定义,或在使用 Helm 安装 Kubernetes 操作符时传递。如果您使用 Kubernetes Operator 将 MongoDB 资源部署到多个命名空间或在集群范围内部署 MongoDB 资源,请仅在安装 Kubernetes Operator 的命名空间中创建密钥。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>

存储库的URL ,从该存储库下载包含应用程序数据库启动脚本和就绪探针的initContainer映像。

默认值为quay.io/mongodb

registry:
initAppDb: quay.io/mongodb

默认值为registry.connect.redhat.com/mongodb

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

存储库的URL ,从该存储库下载包含 Ops Manager 启动脚本和就绪探针的initContainer映像。

默认值为quay.io/mongodb

registry:
initOpsManager: quay.io/mongodb

默认值为registry.connect.redhat.com/mongodb

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

从中拉取 Kubernetes Operator 映像的存储库。 如果要从私有存储库拉取 Kubernetes 操作符 映像,请指定此值。

默认值为quay.io/mongodb

registry:
operator: quay.io/mongodb

默认值为registry.connect.redhat.com/mongodb

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

URL 的存储库,从该存储库下载Ops Manager 资源的映像。

默认值为quay.io/mongodb

registry:
opsManager: quay.io/mongodb

默认值为registry.connect.redhat.com/mongodb

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

CPU 和内存消耗限制 规范 Kubernetes Operator 的 ID。

例子

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

CPU 和内存消耗限制 规范 Kubernetes Operator 的 ID。

例子

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

指示是否可以在 Kubernetes Operator CustomResourceDefinition 中定义子资源的标志 。

默认值为true

subresourceEnabled: true

标志允许您配置用户 验证准入 Webhook 对于Kubernetes 集群角色

如果您的部署不允许Kubernetes集群角色,请将此标志设置为false

默认值为true

webhook:
installClusterRole: false

后退

操作符“kubectl”和“oc”