Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

Configurações de recursos de migração do MongoDB

Importante

As configurações nesta página existem para suportar a migração de uma implementação autogerenciada para Kubernetes no Kubernetes Operator. Não os defina em um recurso MongoDB que você implementa diretamente no Kubernetes sem uma migração de acompanhamento.

Esta página documenta os campos de recursos MongoDB, as condições de status e as anotações que se aplicam somente durante uma migração de uma implantação de máquina virtual autogerenciada para o Kubernetes. Para obter o conjunto completo de configurações de recursos MongoDB, consulte Especificação de recursos de banco de dados MongoDB .

Esses campos identificam a máquina virtual de origem ou os processos simples que uma migração está estendendo para o Kubernetes. Eles se aplicam ao recurso MongoDB, apiVersion: mongodb.com/v1.

Importante

Esses campos existem apenas para migração. Não os defina em um recurso MongoDB para uma implantação nova do Kubernetes.

spec.externalMembers

Type: array of ExternalMember objects

A máquina virtual ou os processos de origem completamente vazios que fazem parte da migração. Este campo existe apenas para migração.

Você pode remover entradas desta lista, mas nunca deve adicionar entradas após o início da migração. Uma lista spec.externalMembers vazia significa que a migração foi concluída.

spec.externalMembers[].processName

Tipo: string

Obrigatório

Este campo existe apenas para migração. O nome do processo exatamente como aparece na array processes da configuração de automação.

spec.externalMembers[].hostname

Tipo: string

Obrigatório

Este campo existe apenas para migração. O valor host:port do processo, exatamente como aparece na configuração de automação.

spec.externalMembers[].type

Tipo: enumeração: mongod ou mongos

Necessário para clusters fragmentados

Este campo existe apenas para migração. Um conjunto de réplicas tem apenas mongod membros externos.

spec.externalMembers[].replicaSetName

Tipo: string

Opcional

Este campo existe apenas para migração. Necessário para um membro externo mongod de cluster fragmentado. Identifica se o processo pertence ao conjunto de réplicas do servidor de configuração ou a um conjunto de réplicas de shard específico.

Esses campos existem apenas para migração e substituem o nome da configuração de recurso ou automação que o Kubernetes Operator usaria ou geraria.

spec.replicaSetNameOverride

Tipo: string

Este campo existe apenas para migração. O nome do conjunto de réplicas de configuração de automação, quando é diferente do nome do recurso Kubernetes ou quando o nome do conjunto de réplicas de configuração de automação não é um nome válido do Kubernetes. O plugin-in kubectl mongodb migrate-to-mck define esse campo para você por meio do sinalizador --resource-name-override.

spec.configServerNameOverride

Tipo: string

Este campo existe apenas para migração. O nome do conjunto de réplicas do servidor de configuração como aparece na configuração de automação.

spec.shardNameOverrides

Type: array of ShardNameOverride objects

Este campo existe apenas para migração. nome do conjunto de réplicas de configuração de automação por shard e shard _id.

Observação

Não confunda spec.shardNameOverrides com spec.shardOverrides. spec.shardOverrides configura as configurações de recursos por fragmento e não está relacionado à nomenclatura de migração.

Os nomes StatefulSet do Kubernetes nunca são afetados por essas substituições.

O Kubernetes Operator codificou anteriormente estas definições de configuração de automação. A migração exige que eles sejam configuráveis para que um sistema do Kubernetes possa corresponder a caminhos já em uso nas máquinas virtuais de origem.

spec.downloadBase

Tipo: string

Padrão: /var/lib/mongodb-mms-automation

Diretório onde o MongoDB Agent baixa o binário do agente . O Kubernetes Operator deriva o caminho do arquivo-chave dessa configuração como <downloadBase>/keyfile.

spec.security.tls.caFilePath

Tipo: string

Padrão: /mongodb-automation/tls/ca/ca-pem

Caminho absoluto onde o Kubernetes Operator projeta o certificado da CA dentro do pod. Este caminho deve conter pelo menos dois segmentos de caminho. Não suportado para o Banco de Dados de Aplicativos.

Observação

Se o modelo de pod montar um volume nesse caminho ou acima dele, a montagem poderá sombrear o arquivo CA projetado. Revise suas podTemplate montagens de volume antes de definir um valor personalizado.

spec.security.authentication.agents.autoPEMKeyFilePath

Tipo: string

Caminho absoluto do arquivo PEM combinado do MongoDB Agent dentro de pods de banco de dados . A definição desse campo define o valor tls.autoPEMKeyFilePath do Ops Manager ou do Cloud Manager e monta o segredo referenciado por spec.security.authentication.agents.clientCertificateSecretRef nesse caminho.

Exige spec.security.authentication.agents.clientCertificateSecretRef.

O padrão é o caminho de montagem do certificado de agente derivado de hash que o Kubernetes Operator usa para sistemas não migrados.

status.conditions

Type: array of Kubernetes Conditions

Condições padrão do Kubernetes, ativadas por type. Este campo é novo no recurso MongoDB e suporta migração.

status.conditions[type=Migrating]

Tipo: condição do Kubernetes

O indicador de nível superior se uma migração está ativa. status é True enquanto spec.externalMembers não está vazio e muda para False com a razão MigrationComplete depois de remover o último membro externo.

Razão
Status
Significado

Validating

True

A anotação de execução seca está definida.

Extending

True

A contagem de membros do Kubernetes desejado excede a última contagem reconciliada.

Pruning

True

The externalMembers count dropped below status.migrationObservedExternalMembersCount.

InProgress

True

Existem membros externos, mas nada está mudando. Esta também é a razão da primeira reconciliação.

MigrationComplete

False

Todos os membros externos foram removidos.

Precedence is Validating > Extending > Pruning > InProgress. A prune that also grows the Kubernetes side reports Extending, which is another reason to make one change at a time.

Poda e extensão não são permitidos ao mesmo tempo.

To script against migration completion, use kubectl wait --for=condition=Migrating=False rather than polling status.phase.

status.conditions[type=NetworkConnectivityVerified]

Type: Kubernetes condition

O resultado da verificação de conectividade de execução seca. O Kubernetes Operator remove esta condição de status.conditions totalmente quando nenhum membro externo permanecer.

Código de saída do trabalho do validador
Status da condição
Razão
Significado

A tarefa ainda está em execução

Unknown

Running

The status.phase is ConnectivityCheckRunning.

0

True

NetworkValidationPassed

Todos os membros externos são acessíveis e autenticados.

2

False

AuthenticationFailed

Credentials, the authentication mechanism, or a missing __system@local role.

3

False

NetworkFailed

DNS, TLS, tempos limite ou membros inacessíveis. Verifique os registros do pod de trabalho.

1 ou outro

False

UnknownError

Falha não classificada. Verifique os registros do pod de trabalho.

Failures that occur before the Job starts use the reasons OperatorImageUnknown, BuildStatefulSetOptions, AgentCertSecretFailed, and AgentCertSubject.

Kubernetes Operator removes the NetworkConnectivityVerified condition from status.conditions entirely once no external members remain.

status.migrationObservedExternalMembersCount

Tipo: inteiro

O número de entradas spec.externalMembers que o Operador Kubernetes observado na última reconciliação. O Kubernetes Operator compara esse valor com a contagem atual de spec.externalMembers na próxima reconciliação para detectar que você removeu um membro externo. Este campo não é definido quando nenhum membro externo permanece.

Observação

Esse campo também aparece no esquema de recurso personalizado MongoDBOpsManager como um efeito colateral da incorporação da estrutura Go. No recurso MongoDBOpsManager, o campo é sempre nulo. Ignora isso lá.

metadata.annotations.mongodb.com/migration-dry-run

Type: string (boolean value)

O plugin kubectl mongodb migrate-to-mck define esta anotação como true. Enquanto essa anotação estiver presente, o Kubernetes Operator não faz alterações na configuração de automação e executa apenas validação de conectividade. Remover a anotação inicia a migração real.

metadata.annotations.mongodb.com/migrate-tool-version

Tipo: string

Registra a versão do plugin kubectl mongodb migrate-to-mck que gerou o recurso. O Kubernetes Operator valida essa anotação em relação à sua própria versão em cada reconciliação, inclusive durante a execução seca.

Os seguintes campos de recurso MongoDB existentes não são apenas de migração, mas exigem valores específicos ou revisão durante uma migração: