Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Docs 菜单
Docs 主页
/
Enterprise Kubernetes Operator
/ /

MongoDB Enterprise Kubernetes Operator kubectl oc 安装设置

要提供可选设置,请在克隆 Kubernetes Operator 存储库的目录中编辑与部署类型相对应的 YAML文件:

  • 使用 kubectl 的普通Kubernetes :mongodb-enterprise.yaml

  • 使用 oc 的OpenShift :mongodb-enterprise-openshift.yaml

如果要添加的设置在YAML文件中不存在,请将其作为键值对映射的新数组添加到spec.template.spec.containers.name.env 中。 collection:

  • spec.template.spec.containers.name.env.name键的值设置为设置的名称。

  • spec.template.spec.containers.name.env.value键的值设置为该设置的值。

要填写container映像的值,请参阅container映像。

1spec:
2 template:
3 spec:
4 serviceAccountName: mongodb-enterprise-operator
5 containers:
6 - name: mongodb-enterprise-operator
7 image: <operatorVersionUrl>
8 imagePullPolicy: <policyChoice>
9 env:
10 - name: INIT_APPDB_IMAGE_REPOSITORY
11 value: quay.io/mongodb/mongodb-enterprise-init-appdb-ubi

URLKubernetesOperatorMongoDB Agent 从中下载用于非静态数据库部署的 助手映像的存储库的 。包括MongoDB Agent版本。 要学习;了解更多信息,请参阅容器映像。

1spec:
2 template:
3 spec:
4 serviceAccountName: mongodb-enterprise-operator
5 containers:
6 - name: mongodb-enterprise-operator
7 image: <operatorVersionUrl>
8 imagePullPolicy: <policyChoice>
9 env:
10 - name: AGENT_IMAGE
11 value: quay.io/mongodb/mongodb-agent-ubi:<version>

包含应用程序数据库使用的 MongoDB Agent 的映像版本。

默认值为 10.2.15.5958-1_4.2.11-ent。

1spec:
2 template:
3 spec:
4 serviceAccountName: mongodb-enterprise-operator
5 containers:
6 - name: mongodb-enterprise-operator
7 image: <operatorVersionUrl>
8 imagePullPolicy: <policyChoice>
9 env:
10 - name: APPDB_AGENT_VERSION
11 value: 10.2.15.5958-1_4.2.11-ent

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

1spec:
2 template:
3 spec:
4 serviceAccountName: mongodb-enterprise-operator
5 containers:
6 - name: mongodb-enterprise-operator
7 image: <operatorVersionUrl>
8 imagePullPolicy: <policyChoice>
9 env:
10 - name: APPDB_IMAGE_REPOSITORY
11 value: quay.io/mongodb/mongodb-enterprise-appdb-ubi

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

默认值为10

1spec:
2 template:
3 spec:
4 serviceAccountName: mongodb-enterprise-operator
5 containers:
6 - name: mongodb-enterprise-operator
7 image: <operatorVersionUrl>
8 imagePullPolicy: <policyChoice>
9 env:
10 - name: CLUSTER_CLIENT_TIMEOUT
11 value: 10

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

1spec:
2 template:
3 spec:
4 serviceAccountName: mongodb-enterprise-operator
5 containers:
6 - name: mongodb-enterprise-operator
7 image: <operatorVersionUrl>
8 imagePullPolicy: <policyChoice>
9 env:
10 - name: DATABASE_VERSION
11 value: 1.31

Kubernetes Operator 部署的MongoDB Enterprise数据库映像的拉取策略。

Kubernetes 操作符接受以下值: AlwaysIfNotPresentNever

默认值为“始终”

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

1spec:
2 template:
3 spec:
4 serviceAccountName: mongodb-enterprise-operator
5 containers:
6 - name: mongodb-enterprise-operator
7 image: <operatorVersionUrl>
8 imagePullPolicy: <policyChoice>
9 env:
10 - name: INIT_APPDB_IMAGE_REPOSITORY
11 value: quay.io/mongodb/mongodb-enterprise-init-appdb-ubi

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

默认值为1.31

1spec:
2 template:
3 spec:
4 serviceAccountName: mongodb-enterprise-operator
5 containers:
6 - name: mongodb-enterprise-operator
7 image: <operatorVersionUrl>
8 imagePullPolicy: <policyChoice>
9 env:
10 - name: INIT_APPDB_VERSION
11 value: 1.31

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

1spec:
2 template:
3 spec:
4 serviceAccountName: mongodb-enterprise-operator
5 containers:
6 - name: mongodb-enterprise-operator
7 image: <operatorVersionUrl>
8 imagePullPolicy: <policyChoice>
9 env:
10 - name: INIT_DATABASE_IMAGE_REPOSITORY
11 value: quay.io/mongodb/mongodb-enterprise-init-database-ubi

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

默认值为1.31

1spec:
2 template:
3 spec:
4 serviceAccountName: mongodb-enterprise-operator
5 containers:
6 - name: mongodb-enterprise-operator
7 image: <operatorVersionUrl>
8 imagePullPolicy: <policyChoice>
9 env:
10 - name: INIT_DATABASE_VERSION
11 value: 1.31

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

1spec:
2 template:
3 spec:
4 serviceAccountName: mongodb-enterprise-operator
5 containers:
6 - name: mongodb-enterprise-operator
7 image: <operatorVersionUrl>
8 imagePullPolicy: <policyChoice>
9 env:
10 - name: INIT_OPS_MANAGER_IMAGE_REPOSITORY
11 value: quay.io/mongodb/mongodb-enterprise-init-ops-manager-ubi

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

默认值为1.31

1spec:
2 template:
3 spec:
4 serviceAccountName: mongodb-enterprise-operator
5 containers:
6 - name: mongodb-enterprise-operator
7 image: <operatorVersionUrl>
8 imagePullPolicy: <policyChoice>
9 env:
10 - name: INIT_OPS_MANAGER_VERSION
11 value: 1.31

由就绪探针维护的轮换readiness.log备份文件的路径。

默认值为 /var/log/mongodb-mms-automation/readiness.log

1spec:
2 template:
3 spec:
4 serviceAccountName: mongodb-enterprise-operator
5 containers:
6 - name: mongodb-enterprise-operator
7 image: <operatorVersionUrl>
8 imagePullPolicy: <policyChoice>
9 env:
10 - name: LOG_FILE_PATH
11 value: /var/log/mongodb-mms-automation/readiness.log

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

如果您想在 OpenShift 中或限制性环境中运行 Kubernetes 操作符,则该值必须为true

默认值为false

1spec:
2 template:
3 spec:
4 serviceAccountName: mongodb-enterprise-operator
5 containers:
6 - name: mongodb-enterprise-operator
7 image: <operatorVersionUrl>
8 imagePullPolicy: <policyChoice>
9 env:
10 - name: MANAGED_SECURITY_CONTEXT
11 value: false

默认值为true

1spec:
2 template:
3 spec:
4 serviceAccountName: mongodb-enterprise-operator
5 containers:
6 - name: mongodb-enterprise-operator
7 image: <operatorVersionUrl>
8 imagePullPolicy: <policyChoice>
9 env:
10 - name: MANAGED_SECURITY_CONTEXT
11 value: true

URLKubernetesOperatorMongoDB Agent 从中下载用于数据库部署的 助手映像的存储库的 。要了解更多信息,请参阅容器映像。

1spec:
2 template:
3 spec:
4 serviceAccountName: mongodb-enterprise-operator
5 containers:
6 - name: mongodb-enterprise-operator
7 image: <operatorVersionUrl>
8 imagePullPolicy: <policyChoice>
9 env:
10 - name: MDB_AGENT_IMAGE_REPOSITORY
11 value: quay.io/mongodb/mongodb-agent-ubi

在Kubernetes Operator1.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 Operator 自动更新后缀,请将MDB_APPDB_ASSUME_OLD_FORMATmongodb.appdbAssumeOldFormat设置为true 。 例如,如果要从自己的存储库镜像此映像,则可能需要停止自动更改后缀。

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

1spec:
2 template:
3 spec:
4 serviceAccountName: mongodb-enterprise-operator
5 containers:
6 - name: mongodb-enterprise-operator
7 image: <operatorVersionUrl>
8 imagePullPolicy: <policyChoice>
9 env:
10 - name: MDB_APPDB_ASSUME_OLD_FORMAT
11 value: false

用于确定 Kubernetes 操作符 是否为每个 Pod 的MongoDB资源启用自动恢复的标志。

默认值为true

1spec:
2 template:
3 spec:
4 serviceAccountName: mongodb-enterprise-operator
5 containers:
6 - name: mongodb-enterprise-operator
7 image: <operatorVersionUrl>
8 imagePullPolicy: <policyChoice>
9 env:
10 - name: MDB_AUTOMATIC_RECOVERY_ENABLE
11 value: false

在 Kubernetes 操作符自动恢复MongoDB资源之前,自定义资源可以保持PendingFailed状态的秒数。

默认值为1200秒(20 分钟)。

要禁用自动恢复,请将MDB_AUTOMATIC_RECOVERY_ENABLE环境变量设立为false

1spec:
2 template:
3 spec:
4 serviceAccountName: mongodb-enterprise-operator
5 containers:
6 - name: mongodb-enterprise-operator
7 image: <operatorVersionUrl>
8 imagePullPolicy: <policyChoice>
9 env:
10 - name: MDB_AUTOMATIC_RECOVERY_BACKOFF_TIME_S
11 value: 3600

确定所有部署使用的容器架构:

要为单个部署启用静态容器,请改用metadata.annotations.mongodb.com/v1.architecture MongoDB资源 中的

默认为 non-static

要启用静态容器,请设置为static

1spec:
2 template:
3 spec:
4 serviceAccountName: mongodb-enterprise-operator
5 containers:
6 - name: mongodb-enterprise-operator
7 image: <operatorVersionUrl>
8 imagePullPolicy: <policyChoice>
9 env:
10 - name: MDB_DEFAULT_ARCHITECTURE
11 value: static

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

在Kubernetes Operator1.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 Operator 自动更新后缀,请将MDB_APPDB_ASSUME_OLD_FORMATmongodb.appdbAssumeOldFormat设置为true 。 例如,如果要从自己的存储库镜像此映像,则可能需要停止自动更改后缀。

默认为 -ubi8

1spec:
2 template:
3 spec:
4 serviceAccountName: mongodb-enterprise-operator
5 containers:
6 - name: mongodb-enterprise-operator
7 image: <operatorVersionUrl>
8 imagePullPolicy: <policyChoice>
9 env:
10 - name: MDB_IMAGE_TYPE
11 value: ubi8

控制日志文件是否输出到标准输出,例如当您运行kubectl describe时。

默认为 true

1spec:
2 template:
3 spec:
4 serviceAccountName: mongodb-enterprise-operator
5 containers:
6 - name: mongodb-enterprise-operator
7 image: <operatorVersionUrl>
8 imagePullPolicy: <policyChoice>
9 env:
10 - name: MDB_WITH_AGENT_FILE_LOGGING
11 value: true

Kubernetes Operator 可以执行的并发协调进程的数量。

例子

1spec:
2 template:
3 spec:
4 serviceAccountName: mongodb-enterprise-operator
5 containers:
6 - env:
7 - name: MDB_MAX_CONCURRENT_RECONCILES
8 value: "10"

使Kubernetes Operator 能够在代理受限的环境中运行。将此变量设置为 true 以及标准代理设置(HTTP_PROXYHTTPS_PROXYNO_PROXY),以将这些代理设置从Kubernetes Operator Pod 传播到MongoDB助手,从而允许所有组件通过指定的代理。

例子

1spec:
2 template:
3 spec:
4 serviceAccountName: mongodb-enterprise-operator
5 containers:
6 - env:
7 - name: MDB_PROPAGATE_PROXY_ENV
8 value: "true"
9 - name: HTTP_PROXY
10 value: "http://example-http-proxy:7312"
11 - name: HTTPS_PROXY
12 value: "https://secure-proxy:3242"
13 - name: NO_PROXY
14 value: "google.com"

Kubernetes 操作符部署的 MongoDB Enterprise 数据库映像的URL

1spec:
2 template:
3 spec:
4 serviceAccountName: mongodb-enterprise-operator
5 containers:
6 - name: mongodb-enterprise-operator
7 image: <operatorVersionUrl>
8 imagePullPolicy: <policyChoice>
9 env:
10 - name: MONGODB_ENTERPRISE_DATABASE_IMAGE
11 value: quay.io/mongodb/mongodb-enterprise-database-ubi

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

如果值为
日志级别设置为
日志格式设置为

dev

debug

text

prod

信息

JSON

默认值为prod

Kubernetes Operator 部署的Ops Manager映像的拉取策略。

Kubernetes Operator 接受以下值: AlwaysIfNotPresent从不

默认值为“始终”

1spec:
2 template:
3 spec:
4 serviceAccountName: mongodb-enterprise-operator
5 containers:
6 - name: mongodb-enterprise-operator
7 image: <operatorVersionUrl>
8 imagePullPolicy: <policyChoice>
9 env:
10 - name: OPS_MANAGER_IMAGE_PULL_POLICY
11 value: Always

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

1spec:
2 template:
3 spec:
4 serviceAccountName: mongodb-enterprise-operator
5 containers:
6 - name: mongodb-enterprise-operator
7 image: <operatorVersionUrl>
8 imagePullPolicy: <policyChoice>
9 env:
10 - name: OPS_MANAGER_IMAGE_REPOSITORY
11 value: quay.io/mongodb/mongodb-enterprise-ops-manager-ubi

由就绪探针维护的轮换readiness.log备份文件的数量。

默认值为5

1spec:
2 template:
3 spec:
4 serviceAccountName: mongodb-enterprise-operator
5 containers:
6 - name: mongodb-enterprise-operator
7 image: <operatorVersionUrl>
8 imagePullPolicy: <policyChoice>
9 env:
10 - name: READINESS_PROBE_LOGGER_BACKUPS
11 value: 1

控制是否将由就绪探针维护的轮换readiness.log备份文件压缩为readiness.log.gz文件。

默认值为false ,即不压缩readiness.log文件。

1spec:
2 template:
3 spec:
4 serviceAccountName: mongodb-enterprise-operator
5 containers:
6 - name: mongodb-enterprise-operator
7 image: <operatorVersionUrl>
8 imagePullPolicy: <policyChoice>
9 env:
10 - name: READINESS_PROBE_LOGGER_COMPRESS
11 value: true

readiness.log文件的最大大小(以 MB 为单位)。

默认值为100

1spec:
2 template:
3 spec:
4 serviceAccountName: mongodb-enterprise-operator
5 containers:
6 - name: mongodb-enterprise-operator
7 image: <operatorVersionUrl>
8 imagePullPolicy: <policyChoice>
9 env:
10 - name: READINESS_PROBE_LOGGER_MAX_SIZE
11 value: 125

轮换的readiness.log文件的最大保留天数,从文件时间戳中的日期开始。 如果设置为0,Kubernetes 操作符不会根据期限删除readiness.log文件,而是依赖READINESS_PROBE_LOGGER_BACKUPS来确定保留。

默认值为0

1spec:
2 template:
3 spec:
4 serviceAccountName: mongodb-enterprise-operator
5 containers:
6 - name: mongodb-enterprise-operator
7 image: <operatorVersionUrl>
8 imagePullPolicy: <policyChoice>
9 env:
10 - name: READINESS_PROBE_LOGGER_MAX_AGE
11 value: 3

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

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

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

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

重要

要将Ops Manager和MongoDB 资源部署到部署Kubernetes Operator 以外的一个或多个命名空间,请参阅为MongoDB Enterprise Kubernetes Operator 部署设置范围,了解必须使用的值以及可能需要执行的其他步骤。

默认值为<metadata.namespace>

后退

企业版安装设置