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

MongoDB Controllers for Kubernetes operador utiliza la API y herramientas de Kubernetes para gestionar los 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-kubernetes.git
2

De forma predeterminada, el operador de Kubernetes 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 del ServiceAccount en los Controladores de MongoDB para el Operador de Kubernetes Archivo YAML.

    ---
    apiVersion: v1
    kind: ServiceAccount
    metadata:
    name: enterprise-operator
    namespace: mongodb
    imagePullSecrets:
    - name: <openshift-pull-secret>
    ---
    apiVersion: v1
    kind: ServiceAccount
    metadata:
    name: mongodb-kubernetes-appdb
    namespace: mongodb
    imagePullSecrets:
    - name: <openshift-pull-secret>
    ---
    apiVersion: v1
    kind: ServiceAccount
    metadata:
    name: mongodb-kubernetes-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-kubernetes-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 u Ops Manager, ubique projectName haciendo clic en el icono 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

Obligatorio.Cadena 24 hexadecimal de caracteres que identifica de forma única su organización Cloud Manager u Ops Manager.

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.

Puede utilizar el operador Atlas para implementar recursos de MongoDB en Atlas.

Especifique una Organización existente:

  1. Buscar el ID de la organización.

    Haga 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 implementa Ops Manager con el operador de Kubernetes y Ops Manager administra los recursos de la base de datos MongoDB implementados fuera del clúster de Kubernetes donde se implementa, debe establecer data.baseUrl con el mismo valor que el spec.configuration.mms.centralUrl parámetro en la especificación de recursos de Ops Manager. Para obtener más información, consulte 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 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
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, haga clic en la pestaña Security.

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

11

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.

Volver

Tutoriales de OpenShift