文档菜单
文档首页
/
MongoDB 企业级 Kubernetes 操作器

快速入门Kubernetes 操作器

本页内容

  • 先决条件
  • 步骤
  • 将MongoDB Helm Charts for Kubernetes存储库添加到HelmMongoDB Helm Charts for Kubernetes存储库。
  • 安装MongoDB 企业级 Kubernetes 操作器
  • 配置kubectl默认到您的命名空间。
  • 配置Kubernetes操作器
  • 复制并保存ConfigMap。
  • 复制并保存Secret。
  • 应用ConfigMap和Secret。
  • 部署副本集资源。
  • 创建一个包含您的数据库用户密码的secret。
  • 创建一个数据库用户。
  • 可选:在新创建的用户中查看Cloud Manager或Ops Manager.
  • 连接到副本集

重要

本节仅适用于单个Kubernetes集群部署。对于多Kubernetes集群MongoDB部署,请参阅多Kubernetes集群快速入门.

MongoDB 企业级 Kubernetes 操作器使用KubernetesAPI和工具来管理MongoDB集群。Kubernetes 操作器与MongoDBCloud Manager或Ops Manager一起使用。本教程演示了如何使用MongoDB Cloud Manager部署并连接到您的第一个副本集Kubernetes 操作器。您可以使用快速搭建集群。想了解更多,请参阅 Kind

本教程需要

  • 运行中的MongoDB Cloud Manager集群。

  • 运行中的Kubernetes集群。

  • Kubernetes支持的硬件架构上运行的节点。

1
helm repo add mongodb https://mongodb.github.io/helm-charts
2

要使用Helm Chart安装Kubernetes Operator,请参阅存储库中的说明。

示例

以下命令在MongoDB 企业级 Kubernetes 操作器mongodb 命名空间中安装,可选的 --create-namespace 选项。默认情况下,Kubernetes 操作器使用 default 命名空间。

helm install enterprise-operator mongodb/enterprise-operator --namespace mongodb --create-namespace
3

如果您还没有运行以下命令,请运行以在您创建的命名空间中执行所有 kubectl 命令

kubectl config set-context $(kubectl config current-context) --namespace=mongodb
4
  1. 转到Cloud Manager UI中的Kubernetes设置页面.

  2. 点击创建新API密钥使用现有API密钥

  3. 填写表格。有关更多信息,请参阅Cloud Manager的编程访问。

  4. 点击 生成密钥和YAML

5

复制并保存生成的 config-map.yaml 文件。

示例

apiVersion: v1
kind: ConfigMap
metadata:
name: my-project
namespace: mongodb
data:
baseUrl: https://cloud.mongodb.com
projectName: my-project # this is an optional parameter
orgId: 5ecd252f8c1a75033c74106c # this is a required parameter

要了解更多信息,请参阅参数描述。

6

复制并保存生成的 secret.yaml 文件。

示例

apiVersion: v1
kind: Secret
metadata:
name: organization-secret
namespace: mongodb
stringData:
user: <public_key>
publicAPIKey: <private_key>

出于安全考虑,MongoDB Cloud Manager仅显示此文件一次。

7

运行以下命令

kubectl apply -f secret.yaml -f config-map.yaml
8
  1. 复制并保存以下YAML文件

    apiVersion: mongodb.com/v1
    kind: MongoDB
    metadata:
    name: demo-mongodb-cluster-1
    namespace: mongodb
    spec:
    members: 3
    version: 4.4.5-ent
    type: ReplicaSet
    security:
    authentication:
    enabled: true
    modes: ["SCRAM"]
    cloudManager:
    configMapRef:
    name: my-project
    credentials: organization-secret
    persistent: true
    podSpec:
    podTemplate:
    spec:
    containers:
    - name: mongodb-enterprise-database
    resources:
    limits:
    cpu: 2
    memory: 1.5G
    requests:
    cpu: 1
    memory: 1G
    persistence:
    single:
    storage: 10Gi
  2. 运行以下命令

    kubectl apply -f <replica-set-conf>.yaml
9

您可以选择使用纯文本密码或Base64编码的密码。纯文本密码使用stringData.password,Base64编码的密码使用data.password

注意

为以下参数提供您的值。有关更多信息,请参阅参数描述。

对于纯文本密码,创建并保存以下YAML文件

apiVersion: v1
kind: Secret
metadata:
name: mms-user-1-password
# corresponds to user.spec.passwordSecretKeyRef.name
type: Opaque
stringData:
password: <my-plain-text-password>
# corresponds to user.spec.passwordSecretKeyRef.key

对于Base64编码的密码,创建并保存以下YAML文件

apiVersion: v1
kind: Secret
metadata:
name: mms-user-1-password
# corresponds to user.spec.passwordSecretKeyRef.name
type: Opaque
data:
password: <base-64-encoded-password>
# corresponds to user.spec.passwordSecretKeyRef.key
10
  1. 复制并保存以下MongoDB用户资源规范文件

    apiVersion: mongodb.com/v1
    kind: MongoDBUser
    metadata:
    name: mms-scram-user-1
    spec:
    passwordSecretKeyRef:
    name: mms-user-1-password
    # Match to metadata.name of the User Secret
    key: password
    username: "mms-scram-user-1"
    db: "admin" #
    mongodbResourceRef:
    name: "demo-mongodb-cluster-1"
    # Match to MongoDB resource using authenticaiton
    roles:
    - db: "admin"
    name: "clusterAdmin"
    - db: "admin"
    name: "userAdminAnyDatabase"
    - db: "admin"
    name: "readWrite"
    - db: "admin"
    name: "userAdminAnyDatabase"
  2. 运行以下命令

    kubectl apply -f <database-user-conf>.yaml
11

您可以在以下位置查看新创建的用户Cloud Manager或Ops Manager:

  1. 从项目的部署视图,点击安全选项卡。

  2. 点击嵌套的MongoDB用户选项卡。

12

云管理器应用程序中执行以下步骤

  1. 在左侧导航中单击部署

  2. 单击您要连接的部署的

  3. 单击连接到此实例

  4. 在终端中运行连接命令以连接到部署。

返回

MongoDB 企业级 Kubernetes 操作器

© . All rights reserved.