快速入门Kubernetes 操作器
本页内容
重要
本节仅适用于单个Kubernetes集群部署。对于多Kubernetes集群MongoDB部署,请参阅多Kubernetes集群快速入门.
MongoDB 企业级 Kubernetes 操作器使用KubernetesAPI和工具来管理MongoDB集群。Kubernetes 操作器与MongoDBCloud Manager或Ops Manager一起使用。本教程演示了如何使用MongoDB Cloud Manager部署并连接到您的第一个副本集Kubernetes 操作器。您可以使用快速搭建集群。想了解更多,请参阅 Kind。
先决条件
本教程需要
运行中的MongoDB Cloud Manager集群。
运行中的Kubernetes集群。
Kubernetes在支持的硬件架构上运行的节点。
步骤
1
将 MongoDB Helm Charts for Kubernetes 存储库添加到 Helm。
helm repo add mongodb https://mongodb.github.io/helm-charts
2
3
4
配置Kubernetes Operator
点击创建新API密钥 或 使用现有API密钥。
填写表格。有关更多信息,请参阅Cloud Manager的编程访问。
点击 生成密钥和YAML。
5
复制并保存 ConfigMap。
复制并保存生成的 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
8
部署副本集资源。
复制并保存以下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 运行以下命令
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
创建数据库用户。
复制并保存以下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" 运行以下命令
kubectl apply -f <database-user-conf>.yaml
11