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 con varios clústeres de Kubernetes, consulte Inicio rápido de múltiples clústeres de Kubernetes.

El operador de controladores MongoDB para Kubernetes utiliza la API y las herramientas de Kubernetes para administrar los clústeres MongoDB que se ejecutan en su clúster de Kubernetes. Kubernetes Operator funciona en conjunto con MongoDB Cloud Manager u Ops Manager. Este tutorial muestra cómo implementar y conectarse a su primer conjunto de réplicas MongoDB en MongoDB Cloud Manager con Kubernetes Operator. Puede usar Configurar un clúster rápidamente. Para obtener más información, consulte Amable.

Este tutorial requiere:

  • Un clúster de MongoDB Cloud Manager en ejecución.

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

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

  • El MongoDB Shell instalado en su 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 el operador de controladores MongoDB para Kubernetes en el mongodb Espacio de nombres con la opción --create-namespace. De forma predeterminada, el operador de Kubernetes usa el espacio de nombres default.

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

Si aún no lo ha hecho, ejecute el siguiente comando para ejecutar todos los comandos kubectl en el espacio de nombres que creó:

kubectl config set-context $(kubectl config current-context) --namespace=mongodb
4
  1. Vaya 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

Copie y guarde 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

Copie y guarde 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 solo una 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

Puede optar por usar una contraseña de texto simple o una contraseña codificada en Base64. Las contraseñas de texto simple usan stringData.password y las contraseñas codificadas en Base64usan data.password.

Nota

Indique los valores de los siguientes parámetros. Para obtener más información, consulte las descripciones de los 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. Copie y guarde el siguiente archivo de 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 o Ops Manager:

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

  2. Haga 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 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