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.

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:

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. Indicador que indica si se deben crear ClusterRole y ClusterRoleBindings para clúster de nodos. El valor es por defecto false.

create-service-account-secrets

booleano

opcional. Indicador que señala si se deben crear secretos para las cuentas de servicios en el servidor API de Kubernetes. El valor por defecto es false.

install-database-roles

booleano

Opcional. Marca que indica si se deben instalar las cuentas de servicio y los roles necesarios para ejecutar cargas de trabajo de MongoDB en los clústeres nodos. El valor es por defecto 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 llegar al servidor de API de Kubernetes de un clúster de nodos, en el --member-cluster-ca <member-cluster-name>=<path-to-pem-file> formato. Repita la opción una vez para cada clúster nodo que requiera su propio paquete de CA. Si omite un clúster nodo, el plugin kubectl mongodb utiliza la CA del secreto de token de cuenta de servicio de ese clúster. Para obtener más información, consulta Paquetes de CA personalizados para clústeres de nodos.

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. Indicador que indica si se deben crear ClusterRole y ClusterRoleBindings para clúster de nodos. El valor es por defecto false.

member-cluster-ca

string

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

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

Por defecto, el plugin kubectl mongodb lee la CA de cada clúster de nodo del secreto de token de cuenta de servicio de ese clúster y lo guarda 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 a un clúster de nodos servidor de API de Kubernetes 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 suministra un paquete de CA para dos de los tres clústeres de nodos:

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 la CA de su secreto de token de cuenta de servicio.

El plugin kubectl mongodb copia el contenido del archivo en el secreto de KubeConfig sin modificación, por lo que solo se deben pasar certificados. Cada archivo debe cumplir con los siguientes requisitos:

  • Contiene al menos un certificado codificado en PEM.

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

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

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

Cuando un subcomando reemplaza una CA que no coincide con el secreto de token de cuenta de servicio del clúster de nodos, el plugin 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 consultiva. El subcomando aún se completa y guarda el nuevo secreto de KubeConfig.