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

MongoDB Enterprise Kubernetes Operator kubectl oc 安装设置

在此页面上

  • AGENT_IMAGE
  • APPDB_AGENT_VERSION
  • APPDB_IMAGE_REPOSITORY
  • CLUSTER_CLIENT_TIMEOUT
  • DATABASE_VERSION
  • IMAGE_PULL_POLICY
  • INIT_APPDB_IMAGE_REPOSITORY
  • INIT_APPDB_VERSION
  • INIT_DATABASE_IMAGE_REPOSITORY
  • INIT_DATABASE_VERSION
  • INIT_OPS_MANAGER_IMAGE_REPOSITORY
  • INIT_OPS_MANAGER_VERSION
  • LOG_FILE_PATH
  • MANAGED_SECURITY_CONTEXT
  • MDB_AGENT_IMAGE_REPOSITORY
  • MDB_APPDB_ASSUME_OLD_FORMAT
  • MDB_AUTOMATIC_RECOVERY_ENABLE
  • MDB_AUTOMATIC_RECOVERY_BACKOFF_TIME_S
  • MDB_DEFAULT_ARCHITECTURE
  • MDB_IMAGE_TYPE
  • MDB_WITH_AGENT_FILE_LOGGING
  • MDB_MAX_CONCURRENT_RECONCILES
  • MONGODB_ENTERPRISE_DATABASE_IMAGE
  • OPERATOR_ENV
  • OPS_MANAGER_IMAGE_PULL_POLICY
  • OPS_MANAGER_IMAGE_REPOSITORY
  • READINESS_PROBE_LOGGER_BACKUPS
  • READINESS_PROBE_LOGGER_COMPRESS
  • READINESS_PROBE_LOGGER_MAX_SIZE
  • READINESS_PROBE_LOGGER_MAX_AGE
  • WATCH_NAMESPACE

要提供可选设置,请在克隆 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键的值设置为该设置的值。

要填充容器映像的值,请参阅容器映像。

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

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

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.27

提取策略 用于 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.27

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.27

存储库的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.27

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.27

存储库的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.27

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.27

由就绪探针维护的轮换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 操作符部署的 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
调试
文本
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 操作符监视的每种自定义资源类型,请确保将范围设置为命名空间的不同子集。

重要

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

默认值为<metadata.namespace>

后退

MongoDB Enterprise Kubernetes Operator

来年

Operator Helm 安装设置