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 utiliza los mismos nombres de clúster que se encuentran en Prerequisites. Si el clúster MDB_CLUSTER_1 que aloja los nodos de MongoDB deja de funcionar, y si aprovisiona un nuevo clúster llamado MDB_CLUSTER_4 en lugar de MDB_CLUSTER_1 para alojar los nuevos nodos de MongoDB, ejecute el plugin MongoDB kubectl con la lista actualizada de clústeres miembros y luego edite 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. Después del reinicio, el operador de Kubernetes debe reconciliar la implementación de MongoDB en el clúster
MDB_CLUSTER_4recién creado que creó como reemplazo para la fallaMDB_CLUSTER_1. Para obtener más información sobre la reconciliación de recursos, consulte Diagramas de implementación de recursos de base de datos de MongoDB de clústeres múltiples.
Consulte también El nombre de ConfigMap 'mongodb-kubernetes-operador-nodo-list' está codificado de forma rígida.