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 recurso personalizado MongoDBCommunity le permite implementar y gestionar set de réplicas de MongoDB Community Edition en Kubernetes. El operador de Kubernetes utiliza este recurso para crear StatefulSets, servicios y otros recursos de Kubernetes necesarios para ejecutar implementación de MongoDB Community.

Para obtener más información, consulte la documentación del operador de la Community 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 para implementar. Por ejemplo, "8.0.0".

spec.type

Tipo: string

Tipo de implementación de MongoDB que se va a crear. El valor aceptado es ReplicaSet.

spec.members

Tipo: entero

Número de set de réplicas. Esto determina cuántos pods mongod 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 configuraciones de TLS y autenticación.

spec.security.tls

Tipo: Objeto

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

spec.security.tls.enabled

Tipo: booleano

Marca 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 de servidor TLS y la llave 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 para 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 de un error para los usuarios que existen en la implementación de MongoDB pero que no están definidos en la especificación de recursos MongoDBCommunity.

Por defecto: false.

spec.agent

Tipo: Objeto

Configuración del MongoDB Agent.

spec.agent.logLevel

Tipo: string

Nivel de verbosidad de los registros de MongoDB Agent. Los valores aceptados incluyen:

  • DEBUG

  • INFO

  • WARN

  • ERROR

spec.statefulSet

Tipo: Objeto

Especificación para el StatefulSet creado por el Operador de Kubernetes para tu recurso MongoDBCommunity. Utiliza esta opción para anular las solicitudes y los límites de recursos del contenedor por defecto.

spec.statefulSet.spec

Tipo: Objeto

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

spec.statefulSet.spec.template.spec.containers

Tipo: arreglo de objetos

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

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

  • mongodb-agent — El contenedor sidecar de MongoDB Agent.

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 bases de datos de MongoDB que se crearán para esta implementación. Cada objeto de usuario define las credenciales y los roles de un usuario de base de datos.

spec.users[*].name

Tipo: string

Nombre de usuario del usuario de base de datos de MongoDB.

spec.users[*].db

Tipo: string

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

spec.users[*].passwordSecretRef.name

Tipo: string

Nombre del secreto de Kubernetes que contiene la contraseña para este usuario de 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 para asignar a este usuario de base de datos.

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

Tipo: string

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

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

Tipo: string

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

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

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 el rol personalizado searchCoordinator automáticamente.

Para obtener más información, consulte Implementar MongoDB Search y búsqueda vectorial.