Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

Especificación del recurso de la comunidad de MongoDB

El MongoDBCommunity recurso personalizado permite implementar y administrar conjuntos de réplicas de MongoDB Community Edition en Kubernetes. El operador de Kubernetes utiliza este recurso para crear conjuntos con estado, servicios y otros recursos de Kubernetes necesarios para ejecutar implementaciones de MongoDB Community.

Para obtener más información, consulte la documentación del operador de la comunidad de MongoDB.

El siguiente ejemplo muestra una especificación de recursos para un recurso personalizado MongoDBCommunity:

1apiVersion: mongodbcommunity.mongodb.com/v1
2kind: MongoDBCommunity
3metadata:
4 name: my-mongodb-community
5spec:
6 version: "8.0.0"
7 type: ReplicaSet
8 members: 3
9 security:
10 tls:
11 enabled: true
12 certificateKeySecretRef:
13 name: mongodb-tls-cert
14 caConfigMapRef:
15 name: mongodb-ca
16 authentication:
17 ignoreUnknownUsers: true
18 modes:
19 - SCRAM
20 agent:
21 logLevel: DEBUG
22 statefulSet:
23 spec:
24 template:
25 spec:
26 containers:
27 - name: mongod
28 resources:
29 limits:
30 cpu: "2"
31 memory: 2Gi
32 requests:
33 cpu: "1"
34 memory: 1Gi
35 - name: mongodb-agent
36 resources:
37 limits:
38 cpu: "1"
39 memory: 2Gi
40 requests:
41 cpu: "0.5"
42 memory: 1Gi
43 users:
44 - name: mdb-admin
45 db: admin
46 passwordSecretRef:
47 name: mdb-admin-user-password
48 scramCredentialsSecretName: mdb-admin-user
49 roles:
50 - name: root
51 db: admin

Esta sección describe los ajustes que debes utilizar para todos los recursos MongoDBCommunity.

apiVersion

Tipo: string

Versión del esquema de recursos de MongoDB Kubernetes. Establecer el valor en mongodbcommunity.mongodb.com/v1.

kind

Tipo: string

Tipo de recurso de Kubernetes de MongoDB que se va a crear. Configurar esto en MongoDBCommunity.

metadata.name

Tipo: string

Nombre legible para que puedas identificar este recurso MongoDBCommunity en particular.

Los nombres de recursos deben tener 44 caracteres o menos.

spec.version

Tipo: string

Versión de MongoDB Community a implementar. Por ejemplo, "8.0.0".

spec.type

Tipo: string

Tipo de despliegue de MongoDB a crear. El valor aceptado es ReplicaSet.

spec.members

Tipo: entero

Número de miembros del conjunto de réplicas. Esto determina cuántos mongod pods crea el operador de Kubernetes en el StatefulSet.

El recurso personalizado MongoDBCommunity puede emplear las siguientes configuraciones:

spec.security

Tipo: Objeto

Configuración de seguridad para el recurso MongoDBCommunity. Contiene ajustes de TLS y autenticación.

spec.security.tls

Tipo: Objeto

Configuración TLS para la implementación de MongoDB.

spec.security.tls.enabled

Tipo: booleano

Indicador para habilitar o deshabilitar TLS para la implementación de MongoDB. Establezca en true para habilitar las conexiones cifradas con TLS.

spec.security.tls.certificateKeySecretRef.name

Tipo: string

Nombre del secreto de Kubernetes que contiene el certificado del servidor TLS y la clave privada para la implementación de MongoDB.

spec.security.tls.caConfigMapRef.name

Tipo: string

Nombre del ConfigMap de Kubernetes que contiene el certificado de la Autoridad de Certificación (CA) utilizado para verificar las conexiones TLS.

spec.security.authentication

Tipo: Objeto

Configuración de autenticación para la implementación de MongoDB.

spec.security.authentication.modes

Tipo: arreglo de cadenas

Lista de mecanismos de autenticación que se deben habilitar en la implementación de MongoDB. Los valores aceptados incluyen:

  • SCRAM
spec.security.authentication.ignoreUnknownUsers

Tipo: booleano

Si true, el operador de Kubernetes no informa un error para los usuarios que existen en el despliegue de MongoDB pero no están definidos en la especificación de recursos MongoDBCommunity.

Por defecto: false.

spec.agent

Tipo: Objeto

Configuración del agente de MongoDB.

spec.agent.logLevel

Tipo: string

Nivel de detalle de los registros del agente de MongoDB. Los valores aceptados incluyen:

  • DEBUG

  • INFO

  • WARN

  • ERROR

spec.statefulSet

Tipo: Objeto

Especificación para el StatefulSet creado por el operador de Kubernetes para su MongoDBCommunity recurso. Úsela para anular las solicitudes y límites de recursos de contenedores predeterminados.

spec.statefulSet.spec

Tipo: Objeto

EspecificaciónStatefulSet que el operador de Kubernetes combina con los valores predeterminados generados. Sigue la especificación estándar StatefulSet de Kubernetes.

spec.statefulSet.spec.template.spec.containers

Tipo: arreglo de objetos

Lista de anulaciones de contenedores. Puede anular las solicitudes de recursos y los límites para los siguientes contenedores:

  • mongod — El contenedor de la base de datos MongoDB.

  • mongodb-agent — El contenedor auxiliar del agente de MongoDB.

containers:
- name: mongod
resources:
limits:
cpu: "2"
memory: 2Gi
requests:
cpu: "1"
memory: 1Gi
- name: mongodb-agent
resources:
limits:
cpu: "1"
memory: 2Gi
requests:
cpu: "0.5"
memory: 1Gi
spec.users

Tipo: arreglo de objetos

Lista de usuarios de la base de datos MongoDB que se crearán para esta implementación. Cada objeto de usuario define las credenciales y los roles de un usuario de la base de datos.

spec.users[*].name

Tipo: string

Nombre de usuario para el usuario de la base de datos MongoDB.

spec.users[*].db

Tipo: string

Base de datos de autenticación para el usuario. El valor predeterminado es admin.

spec.users[*].passwordSecretRef.name

Tipo: string

Nombre del secreto de Kubernetes que contiene la contraseña de este usuario de la base de datos.

spec.users[*].scramCredentialsSecretName

Tipo: string

Nombre del secreto donde el operador de Kubernetes almacena las credenciales SCRAM generadas para este usuario.

spec.users[*].roles

Tipo: arreglo de objetos

Lista de roles que se asignarán a este usuario de la base de datos.

spec.users[*].roles[*].name

Tipo: string

Nombre del rol a asignar. Por ejemplo, root, readWrite, readAnyDatabase o searchCoordinator.

spec.users[*].roles[*].db

Tipo: string

Base de datos a la que se aplica el rol. Por ejemplo, admin.

Puede implementar MongoDB Search y Vector Search junto con un MongoDBCommunity recurso utilizando el MongoDBSearch CRD. Para habilitar la funcionalidad de búsqueda, cree un search-sync-source usuario con el searchCoordinator rol:

users:
- name: search-sync-source
db: admin
passwordSecretRef:
name: my-resource-search-sync-source-password
scramCredentialsSecretName: my-resource-search-sync-source
roles:
- name: searchCoordinator
db: admin

Nota

Para MongoDB 8.2 y versiones posteriores, searchCoordinator es un rol integrado. Para versiones anteriores, el operador de Kubernetes crea automáticamente el rol personalizado searchCoordinator.

Para obtener más información, consulte Implementación de MongoDB Search y Vector Search.