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

Optional. Flag that indicates whether to create secrets for the service accounts in the Kubernetes API server. Default value is false.

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

Optional. Path to a PEM-encoded CA bundle that the Kubernetes Operator uses to reach a member cluster's Kubernetes API server, in the format --member-cluster-ca <member-cluster-name>=<path-to-pem-file>. Repeat the option once for each member cluster that requires its own CA bundle. If you omit a member cluster, the kubectl mongodb plugin uses the CA from that cluster's service account token secret. To learn more, see Custom CA Bundles for Member Clusters.

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

Optional. Path to a PEM-encoded CA bundle that the Kubernetes Operator uses to reach a member cluster's Kubernetes API server, in the format --member-cluster-ca <member-cluster-name>=<path-to-pem-file>. Repeat the option once for each member cluster that requires its own CA bundle. If you omit a member cluster, the kubectl mongodb plugin uses the CA from that cluster's service account token secret. To learn more, see Custom CA Bundles for Member Clusters.

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

By default, the kubectl mongodb plugin reads the CA for each member cluster from that cluster's service account token secret and writes it to the generated mongodb-enterprise-operator-multi-cluster-kubeconfig secret. In some cases, you might want to supply a custom CA bundle, for example: when the network path from the Kubernetes Operator to a member cluster's Kubernetes API server terminates TLS elsewhere, such as at a proxy or load balancer that presents its own certificate. Use the member-cluster-ca option to supply a custom CA bundle.

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

In the preceding example, cluster-3 keeps the CA from its service account token secret.

The kubectl mongodb plugin copies the file contents into the KubeConfig secret without modification, so pass certificates only. Each file must meet the following requirements:

  • Contiene al menos un certificado codificado en formato PEM.

  • Contains no private key. A bundle that a TLS terminator exports might place the server key next to its certificate. The plugin rejects such a bundle with the error found a private key (<block type> block), pass certificates only.

The plugin also returns an error if you pass a malformed <member-cluster-name>=<path-to-pem-file> pair, name a member cluster that member-clusters doesn't list, or name the same member cluster more than once.

Both the setup and recover subcommands regenerate the entire KubeConfig secret. If you omit a member cluster from member-cluster-ca on a later run, that cluster reverts to the CA from its service account token secret. To preserve a custom CA, every time you run either subcommand make sure to re-pass the member-cluster-ca option for every member cluster that requires one.

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.