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
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.27
database.version
Kubernetes 操作符部署的 MongoDB Enterprise 数据库映像的版本。
database: name: mongodb-enterprise-database version: 1.27
initAppDb.name
包含应用程序数据库启动脚本和就绪探针的initContainer
映像的名称。
默认值为mongodb-enterprise-init-appdb 。
database: name: mongodb-enterprise-init-appdb version: 1.27
initAppDb.version
包含应用程序数据库启动脚本和就绪探针的initContainer
映像版本。
默认值为1.27 。
database: name: mongodb-enterprise-init-appdb version: 1.27
initDatabase.name
包含 MongoDB Agent 启动脚本和就绪探针的initContainer
映像的名称。
默认值为MongoDB Enterprise-init-数据库 。
database: name: mongodb-enterprise-init-database version: 1.27
initDatabase.version
包含 MongoDB Agent 启动脚本和就绪探针的initContainer
映像的版本。
默认值为1.27 。
database: name: mongodb-enterprise-init-database version: 1.27
initOpsManager.name
包含 Ops Manager 启动脚本和就绪探针的initContainer
映像版本。
默认值为MongoDB Enterprise-init-ops-经理 。
database: name: mongodb-enterprise-init-ops-manager version: 1.27
initOpsManager.version
包含 Ops Manager 启动脚本和就绪探针的initContainer
映像版本。
默认值为1.27 。
database: name: mongodb-enterprise-init-ops-manager version: 1.27
ManagedSecurityContext
用于确定 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
mongodb.appdbAssumeOldFormat
在 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
,它会自动更新图像后缀。
mongodb: appdbAssumeOldFormat: false
mongodb.imageType
应用程序数据库映像的后缀。
在 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
。 为了保持一致性,我们建议仅使用ubi
图像,但如果需要,可以将此设置更改为ubuntu2204
。
mongodb: imageType: ubi8
multiCluster.clusterClientTimeout
Kubernetes Operator 尝试连接到集群的 Kubernetes API 服务器 的时间(以秒为单位) 端点。此超时时间是为多 Kubernetes 集群 MongoDB 部署中的所有 Kubernetes 集群设置的。 如果 Kubernetes Operator 在指定时间内没有从 Kubernetes API 服务器收到响应,则会将集群的状态记录为“unhealthy”(不健康)。 要了解更多信息,请参阅 Kubernetes 集群故障排除。
默认值为10 。
multiCluster: clusterClientTimeout: 10
namespace
命名空间 要在其中部署 Kubernetes Operator。
要使用默认值以外的命名空间,请指定要在其中部署 Kubernetes 操作符的命名空间。
默认值为mongodb 。
# Name of the Namespace to use namespace: mongodb
需要 CA 基础架构
确定 Kubernetes 是否创建 ClusterRole 允许 Kubernetes Operator 使用证书签署 TLS 证书 。 k s.io8API。
needsCAInfrastructure: true
默认值为true 。
Operator.deployment_name
Kubernetes 操作符 container 的名称。
默认值为MongoDB Enterprise操作符 。
operator: deployment_name: mongodb-enterprise-operator
Operator.env
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
操作符.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
操作符.mdbDefaultArchitecture
确定所有部署使用的容器架构:
在运行时下载 MongoDB 二进制文件的默认非静态容器,或
在运行时不可变的静态容器(公共预览版) 。
默认为 non-static
。
要启用静态容器,请设置为static
。
注意
此设置适用于所有部署,包括现有部署。 要为单个部署启用静态容器,请改用metadata.annotations.mongodb.com/v1.architecture
MongoDB 资源 中的 。
operator.mdbDefaultArchitecture: static
Operator.name
Kubernetes 分配给 Kubernetes 操作符对象的名称,例如 Deployments、ServiceAccounts、角色 和 Pod。
此值还对应于 Kubernetes Operator 所在容器注册表的名称。
默认值为MongoDB Enterprise操作符 。
operator: name: mongodb-enterprise-operator
Operator.vaultSecretBackend.enabled
确定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
Operator.vaultSecretBackend.tlsSecretRef
如果您将TLS与 Vault 结合使用,则为必填项。 在包含ca.crt
条目的保管库配置中使用的 TLS 密钥。 ca.crt
条目的内容必须与用于生成 Vault TLS 证书的CA证书匹配。 Kubernetes Operator 将此 TLS 密钥存储在其密钥存储工具中。 要了解更多信息,请参阅配置密钥存储。 需要将Operator.vaultSecretBackend.enabled设置为true
。
operator: vaultSecretBackend: true tlsSecretRef: "vault-tls-secret"
Operator.version
要部署的 Kubernetes Operator 版本。
默认值为1.27 。
operator: version: 1.27
Operator.watchNamespace
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
Operator.watchedResources
Kubernetes Operator 监视的自定义资源。
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-经理 。
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/
registry.appDb
Kubernetes 操作符从存储库下载应用程序数据库映像的URL。
默认值为quay.io/mongodb 。
registry: appDb: quay.io/mongodb
默认值为registry.connect.redhat.com/mongodb 。
registry: appDb: registry.connect.redhat.com/mongodb
registry.imagePullSecrets
secret 包含从存储库中提取映像所需的凭证。
重要
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>
registry.initAppDb
存储库的URL ,从该存储库下载包含应用程序数据库启动脚本和就绪探针的initContainer
映像。
默认值为quay.io/mongodb 。
registry: initAppDb: quay.io/mongodb
默认值为registry.connect.redhat.com/mongodb 。
registry: initAppDb: registry.connect.redhat.com/mongodb
registry.initOpsManager
存储库的URL ,从该存储库下载包含 Ops Manager 启动脚本和就绪探针的initContainer
映像。
默认值为quay.io/mongodb 。
registry: initOpsManager: quay.io/mongodb
默认值为registry.connect.redhat.com/mongodb 。
registry: initOpsManager: registry.connect.redhat.com/mongodb
registry.operator
从中拉取 Kubernetes Operator 映像的存储库。 如果要从私有存储库拉取 Kubernetes 操作符 映像,请指定此值。
默认值为quay.io/mongodb 。
registry: operator: quay.io/mongodb
默认值为registry.connect.redhat.com/mongodb 。
registry: operator: registry.connect.redhat.com/mongodb
registry.opsManager
URL 的存储库,从该存储库下载Ops Manager 资源的映像。
默认值为quay.io/mongodb 。
registry: opsManager: quay.io/mongodb
默认值为registry.connect.redhat.com/mongodb 。
registry: opsManager: registry.connect.redhat.com/mongodb
操作符.resources.requests
CPU 和内存消耗限制 规范 Kubernetes Operator 的 ID。
例子
# operator cpu requests and limits resources: requests: cpu: 500m memory: 200Mi
操作符.resources.limits
CPU 和内存消耗限制 规范 Kubernetes Operator 的 ID。
例子
# operator cpu requests and limits resources: limits: cpu: 1100m memory: 1Gi
subresourceEnabled
指示是否可以在 Kubernetes Operator CustomResourceDefinition 中定义子资源的标志 。
默认值为true 。
subresourceEnabled: true
webhook.installClusterRole
标志允许您配置用户 验证准入 Webhook 对于Kubernetes 集群角色 。
如果您的部署不允许Kubernetes集群角色,请将此标志设置为false
。
默认值为true 。
webhook: installClusterRole: false