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

Cree un Proyecto por cada implementación de MongoDB utilizando un ConfigMap

Los Controladores de MongoDB para Kubernetes operador utiliza un Kubernetes ConfigMap para conectar un único y exclusivo Proyecto de Ops Manager. Si el proyecto referido no existe, el Operador de Kubernetes lo crea según la projectName que proporcione en ConfigMap.

Para crear un ConfigMap del operador de Kubernetes, puedes editar unas pocas líneas del ConfigMap de ejemplo YAML archivo y aplica el ConfigMap. Para ver un ejemplo completo, consulta el archivo project.yaml.

También puedes utilizar la Interfaz de Usuario del MongoDB Cloud Manager o la Interfaz de Usuario del Ops Manager para crear o elegir un proyecto, y generar automáticamente el archivo ConfigMap YAML, que luego puedes aplicar a tu entorno de Kubernetes.

  1. Solo puede implementar un recurso de MongoDB por proyecto. Este límite se aplica porque Ops Manager solo admite un método de autenticación para el acceso del usuario de base de datos por Proyecto. Para aprender más, consulta Implementa un recurso de base de datos MongoDB.

  2. Debes vincular una implementación de MongoDB Controllers for Kubernetes operador a un Proyecto único en Ops Manager. Puedes crear un ConfigMap distinto para cada instancia de MongoDB Controllers for Kubernetes Operator que implementes, o puedes reutilizar el mismo ConfigMap para cualquier número de implementaciones omitiendo el data.projectName de tu ConfigMap, para que los nombres de Proyecto coincidan con los nombres de recursos implementados. Cuando se proporcione un nombre de proyecto en el mapa de configuración, si ese proyecto aún no existe, se creará.

Importante

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

  • Kubernetes versión 1.11 o posterior u Openshift versión 3.11 o posterior.

  • Controladores de MongoDB para Kubernetes operador instalados.

1

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

Nota

Si está implementando un recurso de Ops Manager en una implementación de MongoDB de un clúster de Kubernetes múltiple:

  • Defina context como el nombre del clúster operador, por ejemplo: kubectl config set context "$MDB_CENTRAL_CLUSTER_FULL_NAME".

  • Establece el --namespace en el mismo ámbito que utilizaste para tu implementación de MongoDB de clústeres multi-Kubernetes, como por ejemplo: kubectl config --namespace "mongodb".

kubectl config set-context $(kubectl config current-context) --namespace=<metadata.namespace>
2
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

3
kubectl describe configmaps <configmap-name>

Este comando devuelve una descripción de ConfigMap en el shell:

Name: <configmap-name>
Namespace: <namespace>
Labels: <none>
Annotations: <none>
Data
====
baseUrl:
----
<myOpsManagerURL>
Events: <none>

Es posible que hayas optado por usar tu propio certificado TLS para habilitar HTTPS para tu instancia de Ops Manager. Si utilizaste un certificado personalizado, necesitas agregar la CA que firmó ese certificado personalizado al Operador Kubernetes. Para agregar tu CA personalizada, haz lo siguiente:

1

El operador de Kubernetes requiere el certificado raíz CA de la CA que emitió el certificado del host de Ops Manager. Ejecuta el siguiente comando para crear un ConfigMap que contenga el CA raíz en el mismo espacio de nombres de tus pods de base de datos:

kubectl -n <metadata.namespace> create configmap <root-ca-configmap-name> \
--from-file=mms-ca.crt

Importante

El operador de Kubernetes requiere que nombre el certificado del recurso Ops Manager mms-ca.crt en ConfigMap.

2
1---
2apiVersion: v1
3kind: ConfigMap
4metadata:
5 name: <my-configmap>
6 namespace: <my-namespace>
7data:
8 projectName: <my-ops-manager-project-name> # this is an optional parameter
9 orgId: <org-id> # this is a required parameter
10 baseUrl: https://<my-ops-manager-URL>
11 sslMMSCAConfigMap: <root-ca-configmap-name>
12 sslRequireValidMMSServerCertificates: ‘true’
13...
3
  1. Invoque el siguiente comando para editar el ConfigMap de su proyecto en el editor configurado predeterminado:

    kubectl edit configmaps <my-configmap> -n <metadata.namespace>
  2. Pegue la sección destacada en el ejemplo ConfigMap al final del ConfigMap del proyecto.

4

Cambie las siguientes claves TLS:

Clave
Tipo
Descripción
Ejemplo

sslMMSCAConfigMap

string

Nombre del ConfigMap creado en el primer paso que contiene el certificado raíz CA utilizado para firmar el certificado del host de Ops Manager. Esto monta el certificado de CA en el Operador de Kubernetes y los recursos de la base de datos.

my-root-ca

sslRequireValidMMSServerCertificates

booleano

Obliga al operador a solicitar un certificado TLS válido de Ops Manager.

IMPORTANTE: El valor debe estar entre comillas simples, o el operador generará un error.

'true'

5
6
kubectl describe configmaps <my-configmap> -n <metadata.namespace>

Importante

Siempre incluye la opción de namespace con kubectl. kubectl utiliza por defecto un namespace vacío si no se especifica la opción -n, lo que puede ocasionar cortes en las implementaciones. Debes especificar el valor del campo <metadata.namespace>. El Operador de Kubernetes, secreto, y MongoDB recursos deben ejecutarse en el mismo namespace único.

Este comando devuelve una descripción de ConfigMap en el shell:

Name: <my-configmap>
Namespace: <namespace>
Labels: <none>
Annotations: <none>
Data
====
sslMMSCAConfigMap:
----
<root-ca-configmap-name>
sslRequireValidMMSServerCertificates:
----
true
Events: <none>

Ahora que ha creado su ConfigMap, cree credenciales para el operador de Kubernetes antes de comenzar a implementar recursos de MongoDB.

Volver

Crear credenciales

En esta página