EventoObtenha 50% de desconto no seu ingresso para MongoDB.local Londres em outubro 2. Use o código WEB50Saiba mais >>
Desenvolvedor MongoDB
Central de desenvolvedor do MongoDBchevron-right
Produtoschevron-right
Conectoreschevron-right

Implementando o MongoDB Enterprise Kubernetes Operator no Google Cloud

Arek Borucki6 min read • Published Jan 13, 2023 • Updated Jan 13, 2023
KubernetesConectores
Ícone do FacebookÍcone do Twitterícone do linkedin
Avalie esse Tutorial
star-empty
star-empty
star-empty
star-empty
star-empty
Este artigo faz parte de uma série de três partes sobre a implantação do MongoDB em vários clusters Kubernetes usando os operadores.
Implementar e gerenciar o MongoDB no Kubernetes pode ser uma tarefa difícil. Isso requer a criação e a configuração de vários recursos do Kubernetes, como volumes persistentes, serviços e implantações, o que pode consumir tempo e exigir uma compreensão profunda dos produtos Kubernetes e MongoDB. Além disso, tarefas como escalabilidade, backups e atualizações devem ser realizadas manualmente, o que pode ser complexo e propenso a erros. Isso pode afetar a confiabilidade e a disponibilidade da implantação do MongoDB e pode exigir intervenção manual frequente para mantê-la funcionando sem problemas. Além disso, pode ser difícil garantir que sua implementação do MongoDB esteja sendo executada no estado desejado e seja capaz de se recuperar automaticamente de falhas.
Felizmente, o MongoDB oferece operadores, que são extensões de software da API do Kubernetes que usam recursos personalizados para gerenciar aplicativos e seus componentes. O MongoDB Operator traduz o conhecimento humano de criar uma instância MongoDB em um método dimensionável, repetível e padronizado, e aproveita os recursos do Kubernetes para operar o MongoDB para você. Isso facilita a implementação e o gerenciamento do MongoDB no Kubernetes, fornecendo recursos e funcionalidades avançadas para executar o MongoDB em ambientes nativos da cloud.
Há três operadores principais do Kubernetes disponíveis para implantar e gerenciar o MongoDB de forma tranquila e eficiente em ambientes do Kubernetes:
  • O MongoDB Community Kubernetes Operator é um operador de código aberto que está disponível gratuitamente e pode ser usado para implantar e gerenciar o MongoDB Replica Set em qualquer cluster Kubernetes. Ele fornece funcionalidade básica para implantar e gerenciar MongoDB, mas não inclui alguns dos recursos mais avançados disponíveis nos operadores Enterprise e Atlas.
  • O MongoDB Enterprise Kubernetes Operator é um operador comercial do Kubernetes incluído na assinatura do MongoDB Enterprise. Ele permite que você implemente e gerencie facilmente qualquer tipo de sistema do MongoDB (standalone, conjunto de réplicas, cluster fragmentado) no Kubernetes, fornecendo recursos e funcionalidades avançadas para implantar e gerenciar o MongoDB em ambientes nativos da cloud.
  • O MongoDB Atlas Kubernetes Operator é um operador disponível como parte do serviço Atlas. Ele permite implementar e gerenciar rapidamente o MongoDB na plataforma de nuvem do Atlas, fornecendo recursos como provisionamento e dimensionamento automáticos de clusters do MongoDB, integração com recursos e serviços do Atlas e backups e restaurações automáticos. Você pode saber mais sobre esse operador em nosso blog post sobre implantação de aplicativos no Kubernetes.
Este artigo se concentrará no Operador Empresarial. O MongoDB Enterprise Kubernetes Operator se integra perfeitamente a outros recursos e serviços do MongoDB Enterprise, como o MongoDB Ops Manager (que também pode ser executado no Kubernetes) e o MongoDB Cloud Manager. Isso permite que você monitore, faça backup, atualize e gerencie facilmente suas implementações do MongoDB a partir de um único local centralizado e fornece acesso a uma variedade de ferramentas e serviços para gerenciar, proteger e otimizar sua implementação.

Operador de Kubernetes do MongoDB Enterprise

O MongoDB Enterprise Kubernetes Operator automatiza o processo de criação e gerenciamento de instâncias do MongoDB de maneira escalável, repetível e padronizada. Ele usa a API e as ferramentas do Kubernetes para lidar com os eventos do ciclo de vida de um cluster MongoDB, incluindo o provisionamento de recursos de armazenamento e computação, configuração de conexões de rede, configuração de usuários e alterações nessas configurações conforme necessário. Isso ajuda a facilitar o trabalho de configurar e gerenciar manualmente aplicativos com estado, como bancos de dados, no ambiente Kubernetes.
O Operador Kubernetes gerencia os eventos típicos do ciclo de vida de um cluster MongoDB: provisionamento de armazenamento e capacidade de computação, configuração de conexões de rede, configuração de usuários e alteração dessas configurações conforme a necessidade.

Definições de recursos personalizados do Kubernetes

CRDs do Kubernetes (definições de recursos personalizados) é um recurso no Kubernetes que permite aos usuários criar e gerenciar recursos personalizados em seus clusters do Kubernetes. Os recursos personalizados são extensões da API do Kubernetes que permitem aos usuários definir seus próprios tipos de objeto e comportamentos associados. Com os CRDs, você pode criar recursos personalizados que se comportam como recursos integrados do Kubernetes, como StatefulSets, Implantações, Pods e Serviços, e gerenciá-los usando as mesmas ferramentas e interfaces. Isso permite que você estenda a funcionalidade do Kubernetes e adapte-a às suas necessidades e requisitos específicos.
O MongoDB Enterprise Operator fornece atualmente os seguintes recursos personalizados para implantar o MongoDB no Kubernetes:
O diagrama a seguir descreve como o Kubernetes Operator se comporta se você fizer alterações em um cluster fragmentado:

Instalando e configurando o Enterprise Kubernetes Operator

Para este tutorial, precisaremos das seguintes ferramentas: 

criação de cluster Kubernetes do GKE 

Para começar, vamos criar um cluster Kubernetes em um novo projeto. Iremos utilizar GKE Kubernetes. Uso este script para criar o cluster. O cluster terá quatro nós de trabalho e atuará como Ops Manager e MongoDB Enterprise Operators Kubernetes Cluster.
Agora que o cluster foi criado, precisamos obter as credenciais.
Exiba o cluster recém-criado.
Você deverá ver seu cluster listado aqui. Certifique-se de que seu contexto esteja definido como cluster mestre.
Podemos iniciar a instalação do MongoDB Kubernetes Operator em nosso cluster Kubernetes recém-criado! 

Operador de Kubernetes empresarial 

Podemos instalar o MongoDB Enterprise Operator com um comando Helm de linha única. A primeira etapa é adicionar o repositórioMongoDB Helm Charts for Kubernetes ao Helm.
Pretendo criar o operador em um namespace Kubernetes separado e dedicado (o operador usa o namespacedefault por padrão). Isso me permitirá isolar o operador e quaisquer recursos que ele criar de outros recursos em meu cluster. O seguinte comando instalará os CRDs e o Operador Enterprise no namespace domongodb-operator . O operador assistirá apenas ao namespacemongodb-operator . Você pode ler mais sobre como configurar o operador para observar mais namespaces na documentação oficial do MongoDB.
Comece criando o namespacemongodb-operator .
Instale o MongoDB Kubernetes Operator e configure-o para observar apenas o namespacemongodb-operator.
O namespace foi criado e o operador está em execução! Você pode ver isso listando os pods no namespace recém-criado.
Você pode ver que o gráfico do leme está sendo executado com esse comando.

Verifique a instalação.

Você pode verificar se a instalação foi bem-sucedida e está em execução com o seguinte comando.
Vamos exibir as definições de recursos personalizados instaladas na etapa acima no namespace observado.
Todas as contas de serviço necessárias foram criadas no namespace monitorado.
Valide se o Operador Kubernetes foi instalado corretamente executando o seguinte comando e verifique a saída.
Finalmente, verifique novamente os namespaces assistidos.
O MongoDB Enterprise Operator agora está em execução no seu cluster GKE.

Kubernetes Operator do MongoDB Atlas

vale a pena mencionar outro operador aqui --- um novo serviço que integra os recursos do Atlas com o seu cluster Kubernetes. O Atlas pode ser implantado em ambientes com várias nuvens, incluindo o GCP. O Atlas Kubernetes Operator permite que você implemente e gerencie aplicativos nativos da nuvem que exigem serviços de dados em um único plano de controle com integração segura de plataformas corporativas.
Esse operador é responsável por gerenciar recursos no Atlas usando recursos personalizados do Kubernetes, garantindo que as configurações de projetos, implementações de banco de dados e usuários de banco de dados no Atlas sejam consistentes entre si. O Atlas Kubernetes Operator utiliza os recursos personalizadosAtlasProject, AtlasDeploymente AtlasDatabaseUser que você cria em seu cluster do Kubernetes para gerenciar recursos no Atlas.
Esses recursos personalizados permitem definir e configurar o estado desejado dos seus projetos, sistemas de banco de dados e usuários de banco de dados no Atlas. Para saber mais, acesse nossa publicação no blog sobre implementação de aplicativos no Kubernetes com o MongoDB Atlas Operator.

Conclusão

Após a instalação bem-sucedida do Kubernetes Operator, podemos usar os recursos do MongoDB Enterprise Kubernetes Operator para executar objetos do MongoDB em nosso cluster Kubernetes. O Operador permite a fácil implementação dos seguintes aplicativos em clusters Kubernetes:
  • MongoDB — conjuntos de réplicas, clusters fragmentados e standalone — com autenticação, TLS e muitas outras opções.
  • MongoDB Ops Manager — plataforma de gerenciamento empresarial, monitoramento e backup para o MongoDB. O Operador pode instalar e gerenciar o MongoDB Ops Manager no Kubernetes para você. O MongoDB Ops Manager pode gerenciar instâncias do MongoDB dentro e fora Kubernetes. A instalação do MongoDB Ops Manager é abordada no segundo artigo da série.
  • MongoMulti — As implantações de vários clusters Kubernetes permitem adicionar instâncias do MongoDB em clusters globais que abrangem várias regiões geográficas para maior disponibilidade e distribuição global de dados. Isso é abordado na parte final desta série.
Quer ver o MongoDB Enterprise Kubernetes Operator em ação e descobrir todos os benefícios que ele pode trazer para sua implementação do Kubernetes? Continue lendo o próximo blog desta série e mostraremos como utilizar melhor o Operator para suas necessidades

Ícone do FacebookÍcone do Twitterícone do linkedin
Avalie esse Tutorial
star-empty
star-empty
star-empty
star-empty
star-empty
{Parte de uma série
Implantação do MongoDB em vários clusters do Kubernetes
Próximo
Continuar

Mais nesta série
Relacionado
Artigo

Learn How to Leverage MongoDB Data Within Kafka with New Tutorials!


Sep 17, 2024 | 1 min read
Tutorial

Como começar a usar o MongoDB Atlas Stream Processing e o provedor HashiCorp Terraform MongoDB Atlas


May 20, 2024 | 5 min read
Artigo

Transmitindo dados com Apache Spark e MongoDB


Aug 28, 2024 | 7 min read
Tutorial

Vá para o MongoDB usando conectores Kafka - Guia final do agente


Sep 17, 2024 | 7 min read
Sumário