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
/ /
/ / /

Inicio rápido de OpenShift

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

MongoDB Enterprise Kubernetes Operator usa la API de Kubernetes y las herramientas para gestionar clústeres de MongoDB. El operador de Kubernetes funciona junto con MongoDB Cloud Manager u Ops Manager. Este tutorial demuestra cómo implementar y conectarse a su primer set de réplicas en Cloud Manager u Ops Manager desde OpenShift con Kubernetes Operator.

Este tutorial requiere:

  • Un clúster en funcionamiento de Cloud Manager u Ops Manager.

1
git clone https://github.com/mongodb/mongodb-enterprise-kubernetes.git
2

Por defecto, el Kubernetes Operator utiliza el mongodb namespace. Para simplificar tu instalación, considera crear un namespace etiquetado como mongodb utilizando el siguiente comando kubectl:

kubectl create namespace mongodb
3

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

kubectl config set-context $(kubectl config current-context) --namespace=mongodb
4
  1. Ejecuutii el siguiente oc comando para instalar las CustomResourceDefinitions para implementaciones de MongoDB:

    oc apply -f crds.yaml
  2. Agregue su <openshift-pull-secret> a las definiciones ServiceAccount en el MongoDB Enterprise Kubernetes Operator YAML archivo.

    ---
    # Source: mongodb-enterprise-operator/templates/serviceaccount.yaml
    ---
    apiVersion: v1
    kind: ServiceAccount
    metadata:
    name: enterprise-operator
    namespace: mongodb
    imagePullSecrets:
    - name: <openshift-pull-secret>
    ---
    apiVersion: v1
    kind: ServiceAccount
    metadata:
    name: mongodb-enterprise-appdb
    namespace: mongodb
    imagePullSecrets:
    - name: <openshift-pull-secret>
    ---
    apiVersion: v1
    kind: ServiceAccount
    metadata:
    name: mongodb-enterprise-database-pods
    namespace: mongodb
    imagePullSecrets:
    - name: <openshift-pull-secret>
  3. Invoca el siguiente comando oc para instalar el Operador de Kubernetes:

    oc apply -f mongodb-enterprise-openshift.yaml
5

Ejecuta el siguiente comando:

Nota

Proporcione los valores de su clave pública y privada para los siguientes parámetros. Para aprender más, consulte Crear credenciales para el Operador de Kubernetes.

kubectl -n mongodb \
create secret generic ops-manager-admin-key \
--from-literal="publicKey=<publicKey>" \
--from-literal="privateKey=<privateKey>"
6
cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: ConfigMap
metadata:
name: my-project
namespace: mongodb
data:
projectName: myProjectName # this is an optional parameter; when omitted, the Operator creates a project with the resource name
orgId: 5b890e0feacf0b76ff3e7183 # this is a required parameter
baseUrl: https://ops.example.com:8443
EOF
Clave
Tipo
Descripción
Ejemplo

metadata.name

string

Nombre del objeto de Kubernetes.

Los nombres de recursos deben tener 44 caracteres o menos.

Este nombre debe seguir las RFC1123 convenciones de nomenclatura, conteniendo solo caracteres alfanuméricos en minúsculas o - , y comenzando y terminando con un carácter alfanumérico.

Para obtener más información, consulte la documentación de Kubernetes sobre nombres.

my-project

metadata.namespace

string

Kubernetes namespace donde el Kubernetes operador crea este recurso MongoDB y otros objetos.

mongodb

data.projectName

string

Etiqueta para tu Ops Manager proyecto.

El operador de Kubernetes crea el proyecto Ops Manager si no existe. Si omites el projectName, el Operador de Kubernetes crea un proyecto con el mismo nombre que tu recurso de Kubernetes.

Para usar un proyecto existente en una organización de Cloud Manager o Ops Manager, localiza el projectName haciendo clic en el All Clusters enlace en la parte superior izquierda de la página de Cloud Manager o Ops Manager, y buscar por nombre en la casilla Search, o desplazarse para encontrar el nombre en la lista. Cada tarjeta de esta lista representa la combinación de un Organización y Proyecto de Cloud Manager u Ops Manager.

myProjectName

data.orgId

string

Requerido. string hexadecimal de 24 caracteres que identifica de manera única tu Cloud Manager u Ops Manager Organización.

Puedes usar el Operador de Kubernetes para implementar recursos de MongoDB con Cloud Manager y con Ops Manager versión 6.0.x o posterior.

Puedes usar el Atlas Operator para implementar recursos de MongoDB en Atlas.

Especifique una Organización existente:

  1. Buscar el ID de la organización.

    Haz clic en Settings en la barra de navegación izquierda.

  2. Copie y pegue el orgId en la URL.

    Selecciona tu organización, visualiza la URL actual en tu navegador y copia el valor mostrado en el marcador de posición <orgId> de la siguiente forma:

    https://ops.example.com:8443/ v2#/org/<orgId>/projects

Debes tener el rol Organization Project Creator para crear un nuevo proyecto dentro de una organización existente de Cloud Manager u Ops Manager.

Si se proporciona una string vacía como orgId, el Operador de Kubernetes crea una organización con el mismo nombre que el proyecto.

5b890e0feacf0b76ff3e7183

data.baseUrl

string

URL de tu aplicación de Ops Manager, incluyendo el FQDN y el número de puerto.

IMPORTANTE: Si implementas Ops Manager con el Kubernetes Operator y Ops Manager va a gestionar recursos de bases de datos MongoDB implementados fuera del clúster de Kubernetes donde está implementado, debes establecer data.baseUrl con el mismo valor de la configuración spec.configuration.mms.centralUrl en la especificación del recurso de Ops Manager. Para obtener más información, consulta Administración de implementaciones externas de MongoDB.

Si usas Cloud Manager, establezca el valor de data.baseUrl en https://cloud.mongodb.com.

https://ops.example.com:8443

7
  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
8

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 una contraseña de texto sin formato, crea y guarda 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, crear y guardar 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
9
  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
10

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

  1. Desde la vista Deployment del proyecto, haz clic en la pestaña Security.

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

11

Realiza 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.

Volver

Tutoriales de OpenShift