Menu Docs
Página inicial do Docs
/
Operador de Kubernetes do MongoDB Enterprise

Notas de versão do MongoDB Enterprise Kubernetes Operator

Nesta página

  • MongoDB Enterprise Kubernetes Operator 1.29 Enterprise Série
  • MongoDB Enterprise Kubernetes Operator 1.28 Enterprise Série
  • MongoDB Enterprise Kubernetes Operator 1.27 Enterprise Série
  • MongoDB Enterprise Kubernetes Operator 1.26 Enterprise Série
  • MongoDB Enterprise Kubernetes Operator 1.25 Enterprise Série
  • MongoDB Enterprise Kubernetes Operator 1.24 Enterprise Série
  • MongoDB Enterprise Kubernetes Operator Série 1.23
  • MongoDB Enterprise Kubernetes Operator série 1.22
  • MongoDB Enterprise Kubernetes Operator série 1.21
  • Notas de versão mais antigas

Lançado 2024-11-11

  • AppDb: adiciona suporte para expansão automatizada de armazenamento aumentando a capacidade do persistentVolumeClaims Kubernetes. Para saber mais, consulte Aumentar o armazenamento para volumes persistentes.

    A expansão automatizada do persistentVolumeClaims só é suportada se o Kubernetes storageClass subjacente suportar a expansão do Kubernetes persistentVolume . Garanta que seu storageClass suporte expansão no local sem perda de dados.

  • MongoDB, AppDB, MongoDBMultiCluster: Corrige um bug em que a especificação de um número fracionário para o tamanho de um volume de armazenamento, como 1.7Gi, quebra o loop de reconciliação para esse recurso com um erro,Can't execute update on forbidden fields mesmo que a declaração de volume persistente subjacente tenha sido distribuída com êxito.

  • MongoDB, MongoDBMultiCluster, OpsManager, AppDB: melhora a estabilidade das implementações durante as rotações do TLS. Em cenários em que o StatefulSet da implantação estava se reconciliando e uma rotação do TLS acontecesse, a implantação chegaria a um estado interrompido. As implantações agora armazenarão o certificado TLS anterior junto com o novo.

Lançado 2024-10-02

  • (Pré-visualização pública) Recurso MongoDB : introduz suporte para clusters fragmentados em sistemas do MongoDB de vários clusters Kubernetes ao definir spec.topology=MultiCluster ao criar um recurso MongoDB com spec.type=ShardedCluster. Para saber mais, consulte Cluster fragmentado de vários clusters.

  • Recursos do MongoDB e MongoDBMultiCluster : adiciona suporte para expansão automatizada de armazenamento aumentando a capacidade do Kubernetes persistentVolumeClaims. Para saber mais, consulte Aumentar o armazenamento para volumes persistentes.

    • A expansão automatizada do persistentVolumeClaims só é suportada se o Kubernetes storageClass subjacente suportar a expansão do Kubernetes persistentVolume . Garanta que seu storageClass suporte expansão no local sem perda de dados.

  • Recurso OpsManager : apresenta suporte para o MongoDB Ops Manager 8.0.0.

  • Recursos do MongoDB e MongoDBMultiCluster : Apresenta suporte para o MongoDB 8.0.0.

  • Recursos do banco de dados de aplicativo MongoDB e MongoDBMultiCluster : Altera o comportamento padrão do spec.featureCompatibilityVersion para o banco de dados de dados :

    • Quando você atualiza sua versão do MongoDB , o Operador Kubernetes define o spec.featureCompatibilityVersion para a versão da qual você está atualizando para lhe dar a opção de fazer o downgrade, se necessário.

    • Se quiser que a versão de compatibilidade do recurso corresponda à nova versão do MongoDB , defina manualmente featureCompatibilityVersion para a nova versão do MongoDB ou AlwaysMatchVersion.

  • Atualiza as imagens de contêiner para usar Red Hat UBI 9 como imagem base, exceto mongodb-enterprise-database-ubi, que permanece em UBI8 para suportar cargas de trabalho em execução no MongoDB 6.0.4 e anterior.

  • Recursos MongoDB, AppDB e MongoDBMultiCluster : Corrige um bug em que o contêiner init não estava obtendo o contexto de segurança padrão, que era então sinalizado pelas políticas de segurança.

  • Recurso MongoDBMultiCluster : corrige um bug em que as validações de recursos não eram realizadas como parte do loop de reconciliação.

Lançado 2024-08-27

  • Recurso do MongoDB : adiciona suporte para ativar a rotação de registros para processos do MongoDB , agente de monitoramento e agente de backup. Para saber mais, consulte Configurações de rotação do registro CRD do MongoDB .

    Use as seguintes configurações para definir a rotação de registros por componente:

    Para clusters fragmentados, o Operador Kubernetes suporta configurar a rotação de log somente nas configurações do spec.Agent e não por tipo de processo, como mongos ou configsrv.

  • Recurso OpsManager : Adiciona suporte para substituir o arquivo de configuração logback.xml, que define configurações gerais de registro, como rotação de registro para backups do MongoDB Ops Manager e do MongoDB Ops Manager .

    Use as seguintes configurações:

    • spec.logging.logBackAccessRef para o ConfigMap e chave de acesso com o arquivo de configuração de acesso do logback para montar no MongoDB Ops Manager Pod. Dê um nome a a chave de acesso do ConfigMap logback-access.xml. Este arquivo configura o acesso ao arquivo de configuração de registro para o MongoDB Ops Manager.

    • spec.logging.logBackRef para o ConfigMap e chave de acesso com o arquivo de configuração do logback para montar no MongoDB Ops Manager Pod. Este arquivo configura o comportamento geral de registro do MongoDB Ops Manager, incluindo políticas de rotação de registro, níveis de registro e outros parâmetros de registro. Dê um nome a a chave de acesso do ConfigMap logback.xml.

    • spec.backup.logging.logBackAccessRef para o ConfigMap e chave de acesso com o arquivo de configuração de acesso do logback para montar no MongoDB Ops Manager Pod. Dê um nome a a chave de acesso do ConfigMap logback-access.xml. Este arquivo configura o acesso ao arquivo de configuração de registro para backups MongoDB Ops Manager .

    • spec.backup.logging.logBackRef para o ConfigMap e chave de acesso com o arquivo de configuração do logback para montar no MongoDB Ops Manager Pod. Este arquivo configura o comportamento geral de registro para backups MongoDB Ops Manager , incluindo políticas de rotação de registro, níveis de registro e outros parâmetros de registro. Dê um nome a a chave de acesso do ConfigMap logback.xml.

  • Iniciador do agente : corrige um problema em que, em alguns cenários de ressincronização, os dados do diário em /journal podem ter sido corrompidos. O Agente agora garante que não existam dados de diário conflitantes e prioriza os dados de /data/journal. Para desativar este comportamento, configure a variável de ambiente MDB_CLEAN_JOURNAL no Operador Kubernetes para qualquer valor diferente de 1.

  • Recursos MongoDB, AppDB, MongoDBMulti : Corrige um problema que garante que domínios externos sejam utilizados no connectionString, se você configurá-lo.

  • Recurso MongoDB : Remove a resposta de pânico se você fornecer uma configuração do horizonte menor que o número de membros. O Operador Kubernetes agora emite um erro descritivo no status do recurso MongoDB nesses casos.

  • Recurso MongoDB : corrige um problema em que, ao criar um recurso em um novo projeto nomeado como um prefixo de outro projeto falharia, impedindo que o recurso MongoDB fosse criado.

Lançado 2024-06-21

  • Melhora a utilização da CPU e o dimensionamento vertical do Operador Kubernetes e consegue uma reconciliação mais rápida de todos os recursos gerenciados, permitindo o controle do número de reconciliações que o Operador Kubernetes pode realizar em paralelo.

    Você pode definir MDB_MAX_CONCURRENT_RECONCILES para a implantação do Kubernetes Operator ou operator.maxConcurrentReconciles no gráfico do Helm de instalação do Kubernetes Operator. Se não for fornecido, o valor padrão será 1. A capacidade de controlar o número de reconciliações pode levar a um aumento da carga no MongoDB Ops Manager e no Kubernetes API servidor da do na mesma janela de tempo. Observe o uso do recurso do Kubernetes Operator e ajuste operator.resources.requests e operator.resources.limits se necessário. Para saber mais, consulte Gerenciamento de recursos para Pods e Contêineres na documentação do Kubernetes.

  • Adiciona suporte para OpenShift 4.15. Para saber mais, consulte Compatibilidade do operadorMongoDB Enterprise Kubernetes Operator .

  • Adiciona um parâmetro operator.maxConcurrentReconciles que permite controlar o número de reconciliações que o Operador Kubernetes pode executar em paralelo. O valor padrão é 1.

  • Adiciona o operador.webhook.installClusterRole Parâmetro que controla se deseja instalar a função de cluster, permitindo que o Operador Kubernetes configure webhooks de entrada. Defina este parâmetro como false quando as funções de cluster não forem permitidas. O valor padrão é true.

  • Recurso MongoDB : corrige um bug em que a configuração de um recurso MongoDB com várias entradas no spec.agent.startupOptions causaria reconciliação adicional desnecessária do StatefulSet subjacente.

  • Recursos do MongoDB, MongoDBMultiCluster : Corrige um bug em que o Kubernetes Operator não observava alterações nos certificados X-509 configurados para a autenticação do MongoDB Agent .

  • Recurso MongoDB : corrige um bug em que os sinalizadores booleanos passados para o MongoDB Agent não podem ser definidos como false se o valor padrão for true.

Lançado 2024-04-30

  • Recurso MongoDBOpsManager . O Operador Kubernetes não é mais compatível com o MongoDB Ops Manager 5.0. Atualize para uma versão posterior do MongoDB Ops Manager. Embora o MongoDB Ops Manager 5.0 possa continuar funcionando com o Kubernetes Operator, o MongoDB não testará o Kubernetes Operator no MongoDB Ops Manager 5.0.

  • Recurso MongoDBOpsManager : adiciona suporte para distribuir o aplicativo MongoDB Ops Manager em vários clusters Kubernetes . Para saber mais, consulte Implantar recursos MongoDB Ops Manager em vários clusters Kubernetes .

  • (Pré-visualização pública) MongoDB, recursos do OpsManager : introduz contêineres estáticos opt-in (prévia pública) para todos os tipos de sistemas.

    • Nesta versão, use contêineres estáticos somente para fins de teste. Os containers estáticos podem se tornar o padrão em uma versão posterior.

    • Para ativar o modo de contêineres estáticos, defina a variável de ambiente MDB_DEFAULT_ARCHITECTURE no nível do Operador Kubernetes como static. Como alternativa, anote um MongoDB ou OpsManager recurso personalizado específico com mongodb.com/v1.architecture: "static".

    • O Operador Kubernetes oferece suporte à migração contínua entre arquiteturas estáticas e não estáticas. Para saber mais, consulte:

  • Recurso OpsManager : adiciona o campo spec.internalConnectivity para permitir substituições para o serviço usado pelo Operador Kubernetes para garantir a conectividade interna com os Pods de hospedagem de recursos OpsManager .

  • Recurso MongoDB : você pode recuperar um recurso devido a uma configuração de automação quebrada em clusters fragmentados. Em versões anteriores, você pôde recuperar outros tipos de recursos, mas não clusters fragmentados. Para saber mais, consulte Recuperar recurso devido a configuração de automação quebrada.

  • Recursos MongoDB, MongoDBMultiCluster : Esses recursos agora permitem adicionar espaços reservados em serviços externos.

    • Você pode definir anotações para serviços externos gerenciados pelo Operador Kubernetes que contêm espaços reservados que serão automaticamente substituídos pelos valores adequados. Anteriormente, o Operador Kubernetes configurava as mesmas anotações para todos os serviços externos criados para cada Pod. A partir desta versão, você pode adicionar espaços reservados para que o Kubernetes Operator possa personalizar anotações em cada serviço com valores relevantes e exclusivos para cada Pod específico. Para saber mais, consulte:

  • O plugin kubectl mongodb : Permite imprimir informações de construção ao utilizar o plugin.

  • O comando setup do plugin-in kubectl mongodb : Adiciona o registro.imagePullSecrets configuração. Se especificado, as contas de serviço criadas fazem referência ao segredo especificado no campo imagePullSecrets .

  • Melhora o gerenciamento de configurações quando o Kubernetes Operator observa mais de um namespace e quando você instala o Kubernetes Operator em um namespace diferente do namespace no qual o Kubernetes Operator monitora recursos.

  • Otimiza a configuração de roles e permissões em clusters de membros do Kubernetes usando uma única conta de serviço por cluster do Kubernetes com roles e vinculações de funções configuradas corretamente (nenhuma função de cluster é necessária) para cada namespace assistido.

  • Amplia o processo de reconciliação baseado em eventos existente por uma reconciliação baseada em tempo que é acionada a cada 24 horas. Isso garante que todos os agentes de monitoramento sejam sempre atualizados em tempo hábil.

  • OpenShift e OLM Operator: remove o requisito de permissões em todo o cluster. Anteriormente, o Operador Kubernetes precisava dessas permissões para configurar webhooks de entrada. A partir desta versão, os webhooks são configurados automaticamente pelo OLM.

  • Adiciona uma variável de ambiente opcional do MDB_WEBHOOK_REGISTER_CONFIGURATION para o Operador Kubernetes. A variável controla se o Kubernetes Operator deve executar a configuração automática do webhook de entrada. O padrão é true. A variável é definida como false para sistemas OLM e OpenShift.

  • Altera o agent.version padrão para 107.0.0.8502-1. Isso altera o agente padrão usado nos sistemas do Kubernetes Operator que você instala usando um gráfico Helm.

  • Adiciona a variável operator.additionalArguments com o padrão de [] para permitir que você passe argumentos adicionais para o binário do Operador Kubernetes.

  • Adiciona a variável operator.createResourcesServiceAccountsAndRoles com o padrão de true para controlar se deve instalar funções e contas de serviço para recursos MongoDB e OpsManager . Quando você usa o plug-in kubectl mongodb para configurar o Operador Kubernetes para uma implantação de cluster multi-Kubernetes, o plug-in instala todas as funções e contas de serviço necessárias. Portanto, para evitar conflitos, em alguns casos, não instale essas funções usando o gráfico do Helm do Operador Kubernetes.

  • Recurso MongoDBMultiCluster : corrige um problema em que o Operador Kubernetes relatou que os campos spec.externalAccess.externalDomain e spec.clusterSpecList[*].externalAccess.externalDomains eram necessários mesmo embora não fossem usados. O Operador Kubernetes acionou prematuramente uma validação para estes campos nos casos em que os recursos personalizados continham uma estrutura spec.externalAccess definida. A partir desta versão, o Operador Kubernetes verifica a exclusividade de domínios externos somente quando você define os domínios externos nas configurações spec.externalAccess.externalDomain ou spec.clusterSpecList[*].externalAccess.externalDomains .

  • Recurso MongoDB : corrige um bug em que, ao excluir um recurso MongoDB, as políticas controlledFeature permaneciam definidas na instância relacionada do MongoDB Ops Manager ou Cloud Manager , tornando a limpeza na interface do usuário impossível no caso de perda do Operador Kubernetes .

  • Recurso OpsManager : corrige um problema em que o segredo admin-key foi excluído quando você removeu o recurso personalizado OpsManager . A correção da exclusão secreta admin-key facilita a reinstalação do MongoDB Ops Manager.

  • Teste de preparação do MongoDB: Corrige uma mensagem de erro enganosa para o teste de preparação: "... kubelet Readiness probe failed:...". Isso afeta todas as implantações do MongoDB.

  • Operador: corrige casos em que, em algumas instâncias, durante a comunicação com o recurso personalizado do OpsManager , o Operador Kubernetes ignorou a verificação do TLS, mesmo que você tenha ativado o TLS.

  • Plug- in Kubectl: Os kubectl mongodb binários do plug-in lançados agora estão assinados e as assinaturas são publicadas com os ativos de versão . A chave pública está disponível neste endereço. Os binários de plug-in kubectl mongodb lançados também são notarizados para MacOS.

  • Imagens liberadas assinadas: Todas as imagens de container publicadas para o Operador Kubernetes são assinadas criptograficamente. Isso é visível no MongoDB Quay registro. Você pode verificar as assinaturas usando a chave pública MongoDB. As imagens lançadas estão disponíveis neste endereço.

Lançado 2023-12-21

  • Adiciona suporte para o próximo MongoDB Ops Manager 7.0.x série.

  • Corrige um problema que impediu o encerramento correto de um backup.

Lançado em 13/11/2023

  • Corrige um problema ao dimensionar um conjunto de réplicas em um sistema MongoDB de cluster multi-Kubernetes quando um cluster de membros perdeu conectividade. A correção aborda os procedimentos de recuperação manuais e automatizados.

  • Corrige um problema em que a alteração dos nomes dos logs de auditoria do agente de automação e do MongoDB impedia que eles fossem enviados para os logs do Pod do Kubernetes. Não há restrições sobre os nomes de arquivos dos logs de auditoria MongoDB a partir do Kubernetes Operator 1.22.

  • Permite que os seguintes novos tipos de registro do contêiner mongodb-enterprise-database fluam diretamente para logs do Kubernetes:

    • agent-launcher-script

    • monitoring-agent

    • backup-agent

  • Corrige um problema que impediu o armazenamento do recurso MongoDBUser no namespace configurado no spec.mongodbResourceRef.namespace.

Lançado em 21/09/2023

O Operador Kubernetes não utiliza mais o estado Reconciling para todos os recursos personalizados. Na maioria dos casos, este estado foi substituído por Pending e uma mensagem correspondente. Se você utilizar ferramentas de monitoramento com os recursos MongoDB personalizados implantados com o Kubernetes Operator, você poderá precisar ajustar seus painéis e regras de alerta para utilizar o nome de estado do Pending.

  • Adiciona suporte para configurar logRotate no MongoDB Agent para o Banco de Dados de Aplicativo adicionando os seguintes novos campos ao recurso MongoDBOpsManager :

    • spec.applicationDatabase.agent.logRotate

    • spec.applicationDatabase.agent.logRotate.numTotal

    • spec.applicationDatabase.agent.logRotate.numUncompressed

    • spec.applicationDatabase.agent.logRotate.percentOfDiskspace

    • spec.applicationDatabase.agent.logRotate.sizeThresholdMB

    • spec.applicationDatabase.agent.logRotate.timeThresholdHrs

  • Agora, você pode configurar o systemLog para enviar logs para um local personalizado diferente do diretório /var/log/mongodb-mms-automation padrão utilizando os seguintes novos campos no recurso MongoDBOpsManager :

  • Melhora o tratamento de clusters de bancos de dados de aplicativos em sistemas MongoDB de vários clusters Kubernetes.

    Na última versão, para reduzir os processos, o Kubernetes Operator exigiu uma conexão com o cluster do Kubernetes. Isso pode bloquear o processo de reconciliação devido a uma interrupção do cluster completo.

    Nesta versão, o Kubernetes Operator gerencia com sucesso os clusters íntegros restantes, desde que eles tenham a maioria dos votos para eleger um primário. O Kubernetes Operator não remove os processos associados da configuração de automação e configuração do conjunto de réplicas. O Kubernetes Operator exclui estes processos somente se você excluir o cluster correspondente do spec.applicationDatabase.clusterSpecList ou alterar o número de membros do cluster para zero. Quando o Kubernetes Operator exclui esses processos, ele reduz o dimensionamento do conjunto de réplicas removendo os processos vinculados a esse cluster, um de cada vez.

  • Adiciona um mecanismo de recuperação automática para recursos MongoDB quando um recurso personalizado permanece em um estado Pending ou Failed por um longo período de tempo. Além disso, introduz as seguintes variáveis de ambiente:

    Para saber mais, consulte Recuperar recurso devido a configuração de automação quebrada.

  • Permite rotear os registros de auditoria do recurso MongoDB para os registros do Kubernetes Pod. Certifique-se de gravar os registros de auditoria do recurso MongoDB no arquivo /var/log/mongodb-mms-automation/mongodb-audit.log. O Pod que hospeda o recurso monitora este arquivo e anexa seu conteúdo aos logs do Kubernetes.

    Para enviar registros de auditoria para os registros do pod do Kubernetes, use o seguinte exemplo de configuração no recurso MongoDB:

    spec:
    additionalMongodConfig:
    auditLog:
    destination: file
    format: JSON
    path: /var/log/mongodb-mms-automation/mongodb-audit.log

    As entradas de registro de auditoria das tags do Kubernetes Operator com a chave mongodb-audit nos logs do Pod.

    Para extrair entradas do registro de auditoria, use um comando semelhante ao exemplo a seguir:

    kubectl logs -c mongodb-enterprise-database replica-set-0 | \
    jq -r 'select(.logType == "mongodb-audit") | .contents'

Corrige um problema em que não era possível definir a configuração despec.backup.autoTerminateOnDeletion como true para clusters fragmentados. Essa configuração controla se o Kubernetes Operator interrompe e encerra o backup quando você exclui um recurso do MongoDB. Se omitido, o valor padrão é false.

Lançado em 25/08/2023

  • Renomeia a variável de ambiente CURRENT_NAMESPACE para NAMESPACE. Esta variável acompanha o namespace do Operador Kubernetes. Se você definiu essa variável editando os recursos MongoDB, atualize CURRENT_NAMESPACE para NAMESPACE enquanto atualiza o Operador Kubernetes.

  • Corrige um problema em que os rótulos de substituição StatefulSet falhavam ao substituir o StatefulSet.

  • Suporta a configuração de backups do Banco de Dados do Aplicativo e MongoDB para o recurso MongoDBMultiCluster.

  • Adiciona documentação para configurar um sistema de recursos do MongoDBMultiCluster em um ambiente GitOps. Para saber mais, consulte Configurar recursos para GitOps.

  • Adiciona MetadataWrapper, um invólucro de rótulos e anotações aos recursos MongoDB, MongoDBMultiCluster e MongoDBOpsManager. O invólucro suporta a substituição de metadata.Labels e metadata.Annotations.

  • Corrige um problema que impediu a configuração de um número de porta arbitrário para spec.externalConnectivity.port ao utilizar o tipo de serviço do LoadBalancer para expor o Ops Manager externamente.

  • Corrige um problema que fazia com que o Ops Manager rejeitasse certificados ao permitir que o Kubernetes Operator importasse o appdb-ca, que é um pacote de CAs, para o armazenamento JVM de confiança do Ops Manager.

Para ver as notas de versão das versões mais antigas do operador, clique aqui.