Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Guía de inicio rápido para el Operador de Kubernetes

Importante

Esta sección es solo para implementaciones de un solo clúster de Kubernetes. Para implementaciones de MongoDB en múltiples clústeres de Kubernetes, consulte Inicio rápido de múltiples clústeres de Kubernetes.

Los Controladores MongoDB para el Operador Kubernetes utilizan la API de Kubernetes y herramientas para gestionar clústeres de MongoDB que se ejecutan dentro de tu clúster de Kubernetes. El Operador de Kubernetes trabaja junto con MongoDB Cloud Manager u Ops Manager. Este tutorial demuestra cómo implementar y conectarse a su primer set de réplicas de MongoDB en MongoDB Cloud Manager con Kubernetes operador. Puedes usar Kind para configurar rápidamente un clúster. Para obtener más información, consulte Kind.

Este tutorial requiere:

  • Un clúster activo de MongoDB Cloud Manager.

  • Un clúster de Kubernetes en ejecución.

  • Nodos de Kubernetes que se ejecutan en arquitecturas de hardware compatibles.

  • El Shell de MongoDB instalado en tu máquina local.

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

Para instalar el operador de Kubernetes con Helm, consulte las instrucciones en el repositorio.

Ejemplo

El siguiente comando instala los Controladores de MongoDB para el operador de Kubernetes en el mongodb namespace con la opción opcional --create-namespace. De forma predeterminada, Kubernetes Operator utiliza el namespace default.

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

Si aún no lo has hecho, ejecuta el siguiente comando para ejecutar todos los comandos kubectl en el namespace que creaste:

kubectl config set-context $(kubectl config current-context) --namespace=mongodb
4
  1. Ve a la Página de configuración de Kubernetes en la Interfaz de usuario de Cloud Manager.

  2. Haga clic Create New API Keys o Use Existing API Keys.

  3. Completa el formulario. Para obtener más información, consulta Acceso programático a Cloud Manager.

  4. Haga clic en Generate Key and YAML.

5

Copia y guarda el archivo config-map.yaml generado.

Ejemplo:

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

Para obtener más información, consulte las descripciones de los parámetros.

6

Copia y guarda el archivo secret.yaml generado.

Ejemplo:

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

Por motivos de seguridad, MongoDB Cloud Manager muestra este archivo una sola vez.

7

Ejecuta el siguiente comando:

kubectl apply -f secret.yaml -f config-map.yaml
8
  1. Copie y guarde el siguiente archivo YAML:

    apiVersion: mongodb.com/v1
    kind: MongoDB
    metadata:
    name: demo-mongodb-cluster-1
    namespace: mongodb
    spec:
    members: 3
    version: 8.0.0
    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. Ejecuta el siguiente comando:

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

Puedes elegir usar una contraseña en texto claro o una contraseña codificada en Base64. Las contraseñas en texto claro usan stringData.password y las contraseñas codificadas en Base64 usan data.password.

Nota

Proporcione sus valores para los siguientes parámetros. Para obtener más información, consulte las descripciones de parámetros.

Para obtener una contraseña de texto sin formato, cree y guarde el siguiente archivo 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

Para una contraseña codificada en Base64, cree y guarde el siguiente archivo 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. Copia y guarda el siguiente archivo Especificación de recursos de usuario de 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 authentication
    roles:
    - db: "admin"
    name: "clusterAdmin"
    - db: "admin"
    name: "userAdminAnyDatabase"
    - db: "admin"
    name: "readWrite"
  2. Ejecuta el siguiente comando:

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

Puede ver el usuario recién creado en Cloud Manager u Ops Manager:

  1. Desde la vista Deployment del Proyecto, haga clic en la pestaña Security.

  2. Haz clic en la pestaña anidada MongoDB Users.

12

Realice los siguientes pasos en la aplicación Cloud Manager:

  1. Haz clic en Deployment en la navegación izquierda.

  2. Haga clic en para la implementación a la que desea conectarse.

  3. Haga clic en Connect to this instance.

  4. Ejecuta el comando de conexión en una terminal para conectar con la implementación.

Next

Tutoriales de OpenShift