Para solucionar problemas en tus implementaciones de MongoDB en varios clústeres de Kubernetes, utiliza los procedimientos de esta sección.
Recuperarse de un fallo en un clúster de Kubernetes
Este procedimiento usa los mismos nombres de clúster que en el Prerrequisitos. Si el clúster MDB_CLUSTER_1 que aloja nodos de MongoDB se cae, y si aprovisionas un nuevo clúster llamado MDB_CLUSTER_4 en vez de MDB_CLUSTER_1 para alojar los nuevos nodos, ejecuta el plugin MongoDB kubectl con la lista actualizada de clústeres miembros y luego edita la especificación del recurso MongoDBMultiCluster en el clúster del operador.
Para reconfigurar la implementación de MongoDB en un clúster de múltiples Kubernetes después de una falla en el clúster, reemplaza el clúster de Kubernetes fallido con el nuevo clúster aprovisionado de la siguiente manera:
Ejecute el plugin MongoDB kubectl con el parámetro
recovery el nuevo clústerMDB_CLUSTER_4especificado en la opción-member-clusters. Esto permite que el Operador de Kubernetes se comunique con el nuevo clúster para programar nodos de MongoDB en él. En el siguiente ejemplo,-member-clusterscontiene${MDB_CLUSTER_4_FULL_NAME}.kubectl mongodb multicluster recover \ --central-cluster="MDB_CENTRAL_CLUSTER_FULL_NAME" \ --member-clusters="${MDB_CLUSTER_2_FULL_NAME},${MDB_CLUSTER_3_FULL_NAME},${MDB_CLUSTER_4_FULL_NAME}" \ --member-cluster-namespace="mongodb" \ --central-cluster-namespace="mongodb" \ --operator-name=mongodb-kubernetes-operator-multi-cluster \ --source-cluster="${MDB_CLUSTER_2_FULL_NAME}" En el clúster del operador, localice y edite la especificación del recurso
MongoDBMultiClusterpara añadir el nuevo nombre del clúster aclusterSpecListy remover el clúster Kubernetes fallido de esta lista. La lista resultante de nombres de clúster debe ser similar al siguiente ejemplo:clusterSpecList: - clusterName: ${MDB_CLUSTER_4_FULL_NAME} members: 3 - clusterName: ${MDB_CLUSTER_2_FULL_NAME} members: 2 - clusterName: ${MDB_CLUSTER_3_FULL_NAME} members: 3 Reinicie el pod del operador de Kubernetes. Tras el reinicio, el operador de Kubernetes debería conciliar la implementación de MongoDB en el clúster recién creado,
MDB_CLUSTER_4que reemplazó elMDB_CLUSTER_1error. Para obtener más información sobre la conciliación de recursos, consulte Arquitectura y diagramas de implementación.
Consultetambién ConfigMap. El nombre mongodb-kubernetes-operator-member-list está codificado de forma rígida.