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

部署独立的 MongoDB 实例

在此页面上

  • 先决条件
  • 步骤

注意

对于此页面上提到的所有 Ops Manager,您都可以将其替换为 Cloud Manager

重要

  • 您可以使用 Kubernetes Operator 通过 Cloud Manager 和 Ops Manager 6.0.x 版或更高版本来部署 MongoDB 资源。

  • 可以使用 Atlas Operator 将 MongoDB 资源部署到 Atlas。

您可以部署一个独立运行的 MongoDB 实例以供Ops Manager进行管理。使用独立实例进行测试和开发。请勿将这些部署用于生产系统,因为它们缺乏复制和高可用性。对于所有生产部署,请使用副本集。要了解副本集,请参阅部署副本集。

要使用某个对象部署独立版本,您必须:

注意

要避免在单集群 Kubernetes 部署中存储密钥,您可以迁移所有 密钥 秘密存储工具 。多个 Kubernetes 集群上的部署不支持将密钥存储在密钥存储工具中,例如 HashiCorp Vault

1

如果您尚未执行,请运行以下命令,执行所创建命名空间的所有 kubectl 命令。

注意

MongoDB Ops Manager如果要在多 Kubernetes 集群 部署中部署MongoDB 资源:

  • context 设置为中心集群的名称,例如:kubectl config set context "$MDB_CENTRAL_CLUSTER_FULL_NAME"

  • --namespace设置为您用于多 Kubernetes 集群 MongoDB 部署的相同范围,例如: kubectl config --namespace "mongodb"

kubectl config set-context $(kubectl config current-context) --namespace=<metadata.namespace>
2

这是一个 YAML 文件,您可以对其进行修改,以满足您所需的配置。更改突出显示的设置,以匹配所需的独立运行配置。

---
apiVersion: mongodb.com/v1
kind: MongoDB
metadata:
name: <my-standalone>
spec:
version: "4.2.2-ent"
opsManager:
configMapRef:
name: <configMap.metadata.name>
# Must match metadata.name in ConfigMap file
credentials: <mycredentials>
type: Standalone
persistent: true
...
3
4
类型
说明
例子
字符串

此 Kubernetes 独立对象的标签。

资源名称必须少于或等于 44 个字符。

提示

另请参阅:

my-project
字符串

在此单机上安装的 MongoDB 版本。

Community 版的格式应为 X.Y.Z,Enterprise 版的格式应为 X.Y.Z-ent

重要

请务必选择兼容的 MongoDB Server 版本

兼容版本因 MongoDB 数据库资源使用的基础图片而异。

要了解有关 MongoDB 版本控制的更多信息,请参阅 MongoDB 手册中的 MongoDB 版本控制

为获得最佳结果,请使用 MongoDB最新可用的企业版 与您的MongoDB Ops Manager 版本 兼容 。

字符串

ConfigMap 的名称MongoDB Ops Manager 连接配置。spec.cloudManager.configMapRef.name设置是此设置的别名,可以用来代替它。

注意

此值必须与待创建的资源位于同一命名空间。

<myproject>
字符串

创建的 Secret 名称,其将作为 Ops Manager API 身份验证凭证,以便 Kubernetes Operator 与 Ops Manager 进行通信。

持有凭证的 Ops Manager Kubernetes Secret 对象必须与您要创建的资源位于同一个命名空间中。

重要

Operator 管理对密钥的更改

Kubernetes Operator 会跟踪该 Secret 的任何更改并协调 MongoDB 资源的状态。

<mycredentials>
字符串
要创建的 MongoDB 资源的类型。
Standalone
字符串

可选。

如果该值为 true,则 spec.podSpec.persistence.single 设置为默认值 16Gi

如要更改您持久卷申领的配置,请配置以下集合以满足部署要求:

警告

授予容器写入 持久卷 的权限 。Kubernetes Operator 在 中设置fsGroup = 2000runAsUser = 2000runAsNonRoot = true securityContext。Kubernetes Operator 将fsgroup设置为等于runAsUser ,以使在容器中运行主进程的用户可写入该卷。 要了解更多信息,请参阅 为 Pod 或容器配置安全上下文 以及相关 讨论 在 Kubernetes 文档中。如果重新部署资源无法解决持久卷的问题,请联系MongoDB 支持部门

注意

Disk UsageDisk IOPSAtlas Charts如果不使用Processes DeploymentMetrics持久卷 , 和 无法显示在 页面的 标签页中, 查看此部署的数据 时也无法显示在 页面中。

true
6
7

调用以下 Kubernetes 命令,创建独立运行部署:

kubectl apply -f <standalone-conf>.yaml
8

要检查 MongoDB 资源的状态,请使用以下命令:

kubectl get mdb <resource-name> -o yaml -w

设置 -w (观看) 标志后,当配置更改时,输出将立即刷新,直到状态阶段达到 Running 状态。要了解有关资源部署状态的详情,请参阅 Kubernetes Operator 故障排除

要排查分片集群,请参阅:

后退

部署 MongoDB 数据库资源

在此页面上