Atualizar a versão do MongoDB de um sistema
Nesta página
Este tutorial descreve como usar aAPI para migrar uma implantação do MongoDB para uma nova versão do MongoDB. Estas etapas pressupõem que você tenha um sistema existente que usa uma versão 4.0.6
do MongoDB, como seria o caso se você usasse o tutorial para distribuir um cluster por meio da API.
Observação
Grupos e projetos são termos sinônimos. Seu {PROJECT-ID}
é igual ao ID do seu projeto. Para grupos existentes, o ID do grupo/projeto permanece o mesmo. Esta página usa o termo grupo, que é mais familiar, ao se referir a descrições. O endpoint permanece conforme indicado no documento.
Considerações
AAPI suporta a maioria das configurações e parâmetros do MongoDB para as versões 2.6 e posterior do MongoDB. Para saber mais, consulte Configurações do MongoDB e suporte de automação.
Aviso
Atualizações do MongoDB 5.0 para 6.0
Ao atualizar um cluster fragmentado do MongoDB 5.0 para 6.0, você deve usar o procedimento na página Atualizar um cluster fragmentado para 6.0 do Manual do MongoDB para atualizar a tabela de roteamento em cache para cada mongos
.
Variáveis para recursos de API para atualizar a versão MongoDB
Os recursos da API usam uma ou mais dessas variáveis. Substitua essas variáveis pelos valores desejados antes de chamar esses recursos da API.
Nome | Tipo | Descrição |
---|---|---|
PUBLIC-KEY | string | Sua chave de API pública para suas credenciais de API. |
PRIVATE-KEY | string | Sua chave de API privada para suas credenciais de API . |
<OpsManagerHost>:<Port> | string | URL da sua instância do Ops Manager. |
GROUP-ID | string | Identificador único do seu projeto a partir das configurações do projeto. |
CLUSTER-ID | string | Identificador único do seu cluster. |
Pré-requisitos
Você deve ter credenciais para acessar o Ops Manager como um usuário com a role Global Owner
.
Procedimento
Recupere a configuração de automação do Ops Manager.
Use o recurso automationConfig para recuperar a configuração. Emita o seguinte comando, substituindo os espaços reservados pelas variáveis para recursos de API para atualizar a versão MongoDB.
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --request GET "https://<OpsManagerHost>:<Port>/api/public/v1.0/groups/{PROJECT-ID}/automationConfig?pretty=true" \ --output currentAutomationConfig.json Valide o arquivo de configuração de automação baixado.
Compare o campo
version
docurrentAutomationConfig.json
com o do arquivo de backup da Configuração de Automação,mms-cluster-config-backup.json
. O valorversion
é o último elemento em ambos os documentos JSON . Você pode encontrar este arquivo em qualquer host que execute o MongoDB agente em:Linux e macOS:
/var/lib/mongodb-mms-automation/mms-cluster-config-backup.json
Windows:
%SystemDrive%\MMSAutomation\versions\mms-cluster-config-backup.json
Se os valores
version
corresponderem, você estará trabalhando com a versão atual do arquivo de configuração de automação.
Abra o documento de configuração para edição.
Ao editar o documento de configuração nas próximas etapas, consulte a descrição de uma configuração de automação para obter descrições detalhadas das configurações.
Envie a configuração de automação atualizada.
Use o recurso automationConfig para enviar a configuração de automação atualizada.
Emita o comando a seguir com o caminho para o documento de configuração atualizado e substitua os espaços reservados pelas variáveis para recursos de API para atualizar a versão do MongoDB.
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --header "Content-Type: application/json" \ --request PUT "https://<OpsManagerHost>:<Port>/api/public/v1.0/groups/{PROJECT-ID}/automationConfig?pretty=true" \ --data @currentAutomationConfig.json
Após a atualização bem-sucedida da configuração, a API retorna o código de status HTTP 200 OK
para indicar que a solicitação foi bem-sucedida.
Confirme a atualização bem-sucedida da configuração de automação.
Recupere a configuração de automação do Ops Manager e confirme se ela contém as alterações. Para recuperar a configuração, emita o seguinte comando, substituindo os espaços reservados pelas Variáveis de Recursos de API para Atualizar a Versão MongoDB.
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --request GET "https://<OpsManagerHost>:<Port>/api/public/v1.0/groups/{PROJECT-ID}/automationConfig?pretty=true"
Verifique o status do sistema para garantir que o estado do objetivo seja atingido.
Use o recurso automationStatus para recuperar o status do sistema. Emita o seguinte comando, substituindo os espaços reservados pelas variáveis para recursos de API para atualizar a versão MongoDB.
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --request GET "https://<OpsManagerHost>:<Port>/api/public/v1.0/groups/{PROJECT-ID}/automationStatus?pretty=true"
Confirme que os valores de todos os campos lastGoalVersionAchieved
na array processes
correspondem ao campo goalVersion
. Para saber mais sobre o status da implementação, consulte Obter o status de automação do plano mais recente.