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
- 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
- MONGODB_ENTERPRISE_DATABASE_IMAGE
- OPERATOR_ENV
- MDB_MAX_CONCURRENT_RECONCILES
- OPS_MANAGER_IMAGE_PULL_POLICY
- OPS_MANAGER_IMAGE_REPOSITORY
- READINESS_PROBE_LOGGER_BACKUPS
- READINESS_PROBE_LOGGER_MAX_SIZE
- READINESS_PROBE_LOGGER_MAX_AGE
- WATCH_NAMESPACE
要提供可选设置,请在克隆 Kubernetes Operator 存储库的目录中编辑与部署类型相对应的 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键的值设置为该设置的值。
要填充容器映像的值,请参阅容器映像。
1 spec: 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
AGENT_IMAGE
URLKubernetesOperatorMongoDB Agent 从中下载用于非静态数据库部署的 助手映像的存储库的 。包括MongoDB Agent版本。 要学习;了解更多信息,请参阅容器映像。
1 spec: 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>
APPDB_AGENT_VERSION
包含应用程序数据库使用的 MongoDB Agent 的映像版本。
默认值为 10.2.15.5958-1_4.2.11-ent。
1 spec: 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
APPDB_IMAGE_REPOSITORY
Kubernetes 操作符从存储库下载应用程序数据库映像的URL。
1 spec: 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
CLUSTER_CLIENT_TIMEOUT
Kubernetes Operator 尝试连接到集群的 Kubernetes API 服务器 的时间(以秒为单位) 端点。此超时时间是为多 Kubernetes 集群 MongoDB 部署中的所有 Kubernetes 集群设置的。 如果 Kubernetes Operator 在指定时间内没有从 Kubernetes API 服务器收到响应,则会将集群的状态记录为“unhealthy”(不健康)。 要了解更多信息,请参阅 Kubernetes 集群故障排除。
默认值为10 。
1 spec: 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
DATABASE_VERSION
Kubernetes 操作符部署的 MongoDB Enterprise 数据库映像的版本。
1 spec: 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.26
IMAGE_PULL_POLICY
提取策略 用于 Kubernetes Operator 部署的 MongoDB Enterprise 数据库映像。
Kubernetes 操作符接受以下值: Always 、 IfNotPresent 、 Never 。
默认值为“始终” 。
INIT_APPDB_IMAGE_REPOSITORY
存储库的URL ,从该存储库下载包含应用程序数据库启动脚本和就绪探针的 initContainer
映像。
1 spec: 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
INIT_APPDB_VERSION
包含应用程序数据库启动脚本和就绪探针的initContainer
映像版本。
默认值为1.26 。
1 spec: 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.26
INIT_DATABASE_IMAGE_REPOSITORY
存储库的URL ,从该存储库下载包含 MongoDB 助手启动脚本和就绪探针的initContainer
映像。
1 spec: 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
INIT_DATABASE_VERSION
包含 MongoDB Agent 启动脚本和就绪探针的initContainer
映像的版本。
默认值为1.26 。
1 spec: 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.26
INIT_OPS_MANAGER_IMAGE_REPOSITORY
存储库的URL ,从该存储库下载包含 Ops Manager 启动脚本和就绪探针的initContainer
映像。
1 spec: 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
INIT_OPS_MANAGER_VERSION
包含 Ops Manager 启动脚本和就绪探针的initContainer
映像版本。
默认值为1.26 。
1 spec: 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.26
MANAGED_SECURITY_CONTEXT
用于确定 Kubernetes 操作符 是否继承 Kubernetes 集群托管的securityContext设置的标志。
如果您想在 OpenShift 中或限制性环境中运行 Kubernetes 操作符,则该值必须为true 。
默认值为false 。
1 spec: 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 。
1 spec: 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
MDB_AGENT_IMAGE_REPOSITORY
URLKubernetesOperatorMongoDB Agent 从中下载用于数据库部署的 助手映像的存储库的 。要了解更多信息,请参阅容器映像。
1 spec: 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
MDB_APPDB_ASSUME_OLD_FORMAT
在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_FORMAT或mongodb.appdbAssumeOldFormat设置为true
。 例如,如果要从自己的存储库镜像此映像,则可能需要停止自动更改后缀。
默认值为false
,它会自动更新图像后缀。
1 spec: 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
MDB_AUTOMATIC_RECOVERY_ENABLE
用于确定 Kubernetes 操作符 是否为每个 Pod 的MongoDB
资源启用自动恢复的标志。
默认值为true 。
1 spec: 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
MDB_AUTOMATIC_RECOVERY_BACKOFF_TIME_S
在 Kubernetes 操作符自动恢复MongoDB
资源之前,自定义资源可以保持Pending
或Failed
状态的秒数。
默认值为1200秒(20 分钟)。
要禁用自动恢复,请将MDB_AUTOMATIC_RECOVERY_ENABLE环境变量设立为false
。
1 spec: 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
MDB_DEFAULT_ARCHITECTURE
确定所有部署使用的容器架构:
在运行时下载 MongoDB 二进制文件的默认非静态容器,或
在运行时不可变的静态容器(公共预览版) 。
要为单个部署启用静态容器,请改用metadata.annotations.mongodb.com/v1.architecture
MongoDB资源 中的 。
默认为 non-static
。
要启用静态容器,请设置为static
。
1 spec: 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
MDB_IMAGE_TYPE
应用程序数据库映像的后缀。
在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_FORMAT或mongodb.appdbAssumeOldFormat设置为true
。 例如,如果要从自己的存储库镜像此映像,则可能需要停止自动更改后缀。
默认为 -ubi8
。
1 spec: 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
MONGODB_ENTERPRISE_DATABASE_IMAGE
Kubernetes 操作符部署的 MongoDB Enterprise 数据库映像的URL 。
1 spec: 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
OPERATOR_ENV
Kubernetes Operator 部署环境的标签。 此值会影响默认超时以及日志记录级别和格式:
如果值为 | 日志级别设置为 | 日志格式设置为 |
---|---|---|
dev | debug | text |
prod | 信息 | JSON |
默认值为prod 。
MDB_MAX_CONCURRENT_RECONCILES
Kubernetes Operator 可以执行的并发协调进程的数量。
例子
1 spec: 2 template: 3 spec: 4 serviceAccountName: mongodb-enterprise-operator 5 containers: 6 - env: 7 - name: MDB_MAX_CONCURRENT_RECONCILES 8 value: "10"
OPS_MANAGER_IMAGE_PULL_POLICY
提取策略 MongoDB Ops Manager用于Kubernetes Operator 部署的 映像。
Kubernetes Operator 接受以下值: Always 、 IfNotPresent和从不。
默认值为“始终” 。
1 spec: 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
OPS_MANAGER_IMAGE_REPOSITORY
URL 的存储库,从该存储库下载Ops Manager 资源的映像。
1 spec: 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_PROBE_LOGGER_BACKUPS
由就绪探针维护的轮换readiness.log
备份文件的数量。
默认值为5 。
1 spec: 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_PROBE_LOGGER_MAX_SIZE
readiness.log
文件的最大大小(以 MB 为单位)。
默认值为100 。
1 spec: 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_PROBE_LOGGER_MAX_AGE
轮换的readiness.log
文件的最大保留天数,从文件时间戳中的日期开始。 如果设置为0,Kubernetes 操作符不会根据期限删除readiness.log
文件,而是依赖READINESS_PROBE_LOGGER_BACKUPS
来确定保留。
默认值为0 。
1 spec: 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
WATCH_NAMESPACE
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> 。