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

Implementar una instancia autónoma de MongoDB

Nota

En cualquier lugar de esta página donde diga Ops Manager, puedes sustituir Cloud Manager.

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.

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

Puedes implementar una instancia de MongoDB autónoma para que un Ops Manager la gestione. Utiliza instancias autónomas para pruebas y desarrollo. No uses estas implementaciones para sistemas de producción, ya que carecen de replicación y alta disponibilidad. Para todas las implementaciones en producción, utiliza sets de réplicas. Para aprender sobre los sets de réplicas, consulte Implementar un set de réplicas.

Para implementar de forma autónomo utilizando un objeto, debes:

Nota

Para evitar almacenar secretos en implementaciones de Kubernetes de un solo clúster, puedes migrar todos los secretos a una herramienta de almacenamiento de secretos. Las implementaciones en múltiples clústeres de Kubernetes no admiten el almacenamiento de secretos en herramientas de almacenamiento de secretos, como HashiCorp Vault.

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ás implementando un recurso de Ops Manager en una implementación de MongoDB multidispositivo en clústeres de Kubernetes:

  • 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

Esto es un YAML archivo que puedes modificar para cumplir con tu configuración deseada. Cambia la configuración resaltada para que se ajuste a la configuración autónoma que deseas.

---
apiVersion: mongodb.com/v1
kind: MongoDB
metadata:
name: <my-standalone>
spec:
version: "8.0.0"
opsManager:
configMapRef:
name: <configMap.metadata.name>
# Must match metadata.name in ConfigMap file
credentials: <mycredentials>
type: Standalone
persistent: true
...
3
4
Clave
Tipo
Descripción
Ejemplo

string

Etiqueta para este objeto de Kubernetes autónomo.

Los nombres de recursos deben tener 44 caracteres o menos.

Para aprender más, consulta metadata.name y la documentación de Kubernetes sobre nombres.

my-project

string

Versión de MongoDB que está instalada en este autónomo.

El formato debe ser X.Y.Z para la Community Edition y X.Y.Z-ent para la edición Enterprise.

IMPORTANTE: Asegúrate de elegir una versión compatible del servidor MongoDB. Las versiones compatibles varían según la imagen base que utiliza el recurso de la base de datos MongoDB.

Para obtener más información sobre el versionado de MongoDB, consulta versionado de MongoDB en el manual de MongoDB.

Para obtener los mejores resultados, utilice la última versión disponible de MongoDB Enterprise que sea compatible con su versión de Ops Manager.

string

Nombre del ConfigMap con la configuración de conexión de Ops Manager. La configuración spec.cloudManager.configMapRef.name es un alias de esta configuración y se puede usar en su lugar.

Este valor debe existir en el mismo espacio de nombres que el recurso que quieres crear.

<myproject>

string

Nombre del secreto que creaste como Ops Manager API credenciales de autenticación para que el Operador Kubernetes se comunique con Ops Manager.

El objeto secreto de Kubernetes de Ops Manager que contiene las credenciales debe estar en el mismo namespace que el recurso que se quiere crear.

IMPORTANTE: El operador de Kubernetes rastrea cualquier cambio realizado en el Secreto y reconcilia el estado del recurso MongoDB.

<mycredentials>

string

Tipo de recurso MongoDB que se va a crear.

Standalone

string

Opcional.

Si este valor es true, entonces spec.podSpec.persistence.single se establece en su valor por defecto de 16Gi.

Para cambiar la <a class=\" \" target=\" \"href=\" \" rel=\"noopener noreferrer\"> Solicitud de volumen persistente <svg class=\" \" height=\" \" width=\" \" role=\" \" aria-hidden=\" \" alt=\" \" viewbox=\" \"><path d=\" \" fill=\" \"> <path d=\" \" fill=\" \"> configuración, configura las siguientes colecciones para cumplir con tus requisitos de implementación:

ADVERTENCIA: Otorga a tus contenedores permiso para guardar en tu volumen persistente. El operador de Kubernetes establece fsGroup = 2000, runAsUser = 2000 y runAsNonRoot = true en securityContext. El Kubernetes Operator establece fsgroup igual a runAsUser para que el volumen sea escribible para un usuario que ejecute el proceso principal en el contenedor. Para obtener más información, consulte Configuración de un contexto de seguridad para un pod o un contenedor y el debate relacionado en la documentación de Kubernetes. Si volver a implementar el recurso no resuelve los problemas con tu Volumen Persistente, comunícate con el Soporte de MongoDB.

Si no usas volúmenes persistentes, el Disk Usage y Disk IOPS gráficas no pueden mostrarse ni en la pestaña Processes de la página Deployment ni en la página Metrics al revisar los datos de esta implementación.

true

5

También puedes añadir cualquiera de las siguientes configuraciones opcionales al archivo de especificación de objeto para una implementación autónoma:

6
7

Invoca el siguiente comando de Kubernetes para crear tu autónomo:

kubectl apply -f <standalone-conf>.yaml
8

Para verificar el estado de su MongoDB recurso, utilice el siguiente comando:

kubectl get mdb <resource-name> -o yaml -w

Con la bandera -w (observar) activada, cuando la configuración cambia, la salida se actualiza inmediatamente hasta que la fase de estado alcanza el estado Running. Para obtener más información sobre el estado de implementación de recursos, consulta Solucionar problemas con el operador de Kubernetes.

Para solucionar problemas de tu clúster fragmentado, consulta:

Volver

Implementar

En esta página