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

Referencia del plugin MongoDB

Usa el plugin kubectl mongodb para:

Antes de comenzar, instale el plugin de kubectl MongoDB.

El kubectl mongodb plugin tiene los siguientes subcomandos:

El subcomando kubectl mongodb multicluster setup configura la implementación inicial de MongoDB en múltiples clústeres Kubernetes. Realiza las siguientes acciones:

  • Crea un ConfigMap por defecto llamado mongodb-kubernetes-operator-member-list que contiene todos los nodos clústeres de la implementación multi-Kubernetes de MongoDB. Este nombre está codificado y no puedes cambiarlo. Ver Problemas conocidos.

  • Crea ServiceAccounts, Roles, ClusterRoles, RoleBindings y ClusterRoleBindings en el clúster de operador y cada clúster nodo.

  • Aplica los permisos correctos para las cuentas de servicio.

  • Utiliza la configuración anterior para crear tu implementación MongoDB multi-clúster de Kubernetes.

El subcomando setup del plugin kubectl mongodb tiene las siguientes opciones:

Opción
Tipo de dato
Descripción

central-cluster

string

Requerido. Clúster central en el que se implementará el Operador de Kubernetes, como: --central-cluster="MDB_CENTRAL_CLUSTER_FULL_NAME".

central-cluster-namespace

string

Obligatorio. Namespace donde se implementará el operador de Kubernetes, como: --central-cluster-namespace="mongodb".

cleanup

booleano

opcional. Bandera que indica si se deben borrar todos los recursos creados previamente, excepto los espacios de nombres. El valor por defecto es false.

cluster-scoped

booleano

opcional. Bandera que indica si se deben crear ClusterRole y ClusterRoleBindings para clústeres nodos. El valor por defecto es false.

create-service-account-secrets

booleano

Opcional. Indicador que especifica si se deben crear secretos para las cuentas de servicio en el servidor API de Kubernetes. El valor predeterminado false es.

install-database-roles

booleano

opcional. Señalización que indica si se deben instalar las cuentas de servicio y roles necesarios para ejecutar cargas de trabajo de MongoDB en los clústeres nodos. El valor por defecto es false.

image-pull-secrets

booleano

opcional. Señal que indica si las cuentas de servicio que crea el plugin kubectl mongodb deben hacer referencia al secreto que ha especificado en registry.imagePullSecrets entorno. El valor por defecto es false. Para obtener más información, consulta Configuración de instalación de Helm.

member-clusters

string

Obligatorio. Lista separada por comas que contiene clústeres nodos, como: -member-clusters="${MDB_CLUSTER_2_FULL_NAME}, ${MDB_CLUSTER_3_FULL_NAME}, ${MDB_CLUSTER_4_FULL_NAME}".

member-cluster-ca

string

Opcional. Ruta a un paquete de CA codificado en PEM que el operador de Kubernetes utiliza para acceder al servidor API de Kubernetes de un clúster miembro, en formato --member-cluster-ca <member-cluster-name>=<path-to-pem-file>. Repita esta opción una vez por cada clúster miembro que requiera su propio paquete de CA. Si omite un clúster miembro, el complemento kubectl mongodb utiliza la CA del secreto del token de la cuenta de servicio de ese clúster. Para obtener más información, consulte Paquetes de CA personalizados para clústeres miembros.

member-cluster-namespace

string

Obligatorio. Espacio de nombres al que se implementarán los recursos del clúster nodo, como: -member-cluster-namespace="mongodb".

service-account

string

opcional. Nombre de la cuenta de servicio que el Operador de Kubernetes debe usar para comunicarse con los clústeres nodos. El valor por defecto es mongodb-kubernetes-operator-multi-cluster.

Para ver un ejemplo completo del uso del subcomando kubectl mongodb plugin setup, consulta el inicio rápido de múltiples clústeres de Kubernetes.

El subcomando kubectl mongodb multicluster puede recuperar automáticamente una topología de clúster fallida en algunos casos. En otros casos, debe recuperarse manualmente de una falla. Para obtener más información, consulta Recuperación ante Desastres.

El subcomando recover del plugin kubectl mongodb tiene las siguientes opciones:

Opción
Tipo de dato
Descripción

central-cluster

string

Requerido. Clúster central en el que se implementará el Operador de Kubernetes, como: --central-cluster="MDB_CENTRAL_CLUSTER_FULL_NAME".

central-cluster-namespace

string

Obligatorio. Namespace donde se implementará el operador de Kubernetes, como: --central-cluster-namespace="mongodb".

cleanup

booleano

opcional. Bandera que indica si se deben borrar todos los recursos creados previamente, excepto los espacios de nombres. El valor por defecto es false.

cluster-scoped

booleano

opcional. Bandera que indica si se deben crear ClusterRole y ClusterRoleBindings para clústeres nodos. El valor por defecto es false.

member-cluster-ca

string

Opcional. Ruta a un paquete de CA codificado en PEM que el operador de Kubernetes utiliza para acceder al servidor API de Kubernetes de un clúster miembro, en formato --member-cluster-ca <member-cluster-name>=<path-to-pem-file>. Repita esta opción una vez por cada clúster miembro que requiera su propio paquete de CA. Si omite un clúster miembro, el complemento kubectl mongodb utiliza la CA del secreto del token de la cuenta de servicio de ese clúster. Para obtener más información, consulte Paquetes de CA personalizados para clústeres miembros.

Para un ejemplo completo del uso del subcomando kubectl mongodb plugin recover, consulta el procedimiento manual de recuperación ante desastres.

De forma predeterminada, el complemento kubectl mongodb lee la CA de cada clúster miembro desde el secreto del token de la cuenta de servicio de ese clúster y la escribe en el secreto mongodb-enterprise-operator-multi-cluster-kubeconfig generado. En algunos casos, es posible que desee proporcionar un paquete de CA personalizado, por ejemplo: cuando la ruta de red desde el operador de Kubernetes hasta el servidor de la API de Kubernetes de un clúster miembro finaliza TLS en otro lugar, como en un proxy o balanceador de carga que presenta su propio certificado. Utilice la opción member-cluster-ca para proporcionar un paquete de CA personalizado.

El siguiente comando proporciona un paquete CA para dos de los tres clústeres miembros:

kubectl mongodb multicluster setup \
--central-cluster="operator-cluster" \
--member-clusters="cluster-1,cluster-2,cluster-3" \
--member-cluster-namespace=mongodb \
--central-cluster-namespace=mongodb \
--member-cluster-ca cluster-1=/path/to/cluster-1-ca.pem \
--member-cluster-ca cluster-2=/path/to/cluster-2-ca.pem

En el ejemplo anterior, cluster-3 mantiene en secreto la CA de su token de cuenta de servicio.

El complemento kubectl mongodb copia el contenido del archivo en el secreto KubeConfig sin modificarlo, por lo que solo se deben pasar los certificados. Cada archivo debe cumplir los siguientes requisitos:

  • Contiene al menos un certificado codificado en formato PEM.

  • No contiene clave privada. Un paquete que exporta un terminador TLS podría colocar la clave del servidor junto a su certificado. El complemento rechaza dicho paquete con el error found a private key (<block type> block), pass certificates only.

El complemento también devuelve un error si se pasa un par <member-cluster-name>=<path-to-pem-file> mal formado, se nombra un clúster miembro que member-clusters no enumera o se nombra el mismo clúster miembro más de una vez.

Los subcomandos setup y recover regeneran el secreto completo de KubeConfig. Si omite un clúster miembro de member-cluster-ca en una ejecución posterior, ese clúster volverá a usar la CA de su token de cuenta de servicio. Para conservar una CA personalizada, asegúrese de volver a pasar la opción member-cluster-ca cada vez que ejecute cualquiera de los subcomandos para cada clúster miembro que la requiera.

Cuando un subcomando reemplaza una CA que no coincide con el secreto del token de la cuenta de servicio del clúster miembro, el complemento imprime una advertencia similar a la siguiente:

Warning: replacing the CA for member cluster cluster-1, which does not match its ServiceAccount token secret. Pass --member-cluster-ca cluster-1=<path-to-pem-file> to keep a custom CA.

La advertencia es meramente informativa. El subcomando se completa igualmente y escribe el nuevo secreto de KubeConfig.