Implantando o MongoDB no Kubernetes com o Helm Chart da Bitnami

Neste post, vamos mostrar como implantar o MongoDB em um ambiente Kubernetes usando o gráfico Helm bitnami/mongodb. Seguindo os passos descritos, você aprenderá a configurar e gerenciar o MongoDB para uma implantação simples e escalável em um cluster Kubernetes.

Pré-requisitos

Antes de começar a implantação, certifique-se de ter o seguinte:

  • Um cluster Kubernetes configurado e em execução
  • Helm instalado (versão 3 ou superior)
  • Permissões para implantar recursos no seu cluster Kubernetes

Instalando o Helm

Se o Helm ainda não estiver instalado, siga estas etapas para instalá-lo.

Instalar via Script (Linux e macOS)

Execute o seguinte comando para instalar o Helm:

curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash

Instalar via Gerenciador de Pacotes

Por exemplo, você pode instalar o Helm com o Homebrew:

brew install helm

Adicionando o Repositório Helm Bitnami

A Bitnami oferece uma ampla variedade de gráficos Helm. Você pode adicionar o repositório com o seguinte comando:

helm repo add bitnami https://charts.bitnami.com/bitnami

helm repo update

Implantando o MongoDB

Você pode implantar o MongoDB usando o gráfico Helm da Bitnami com o comando:

helm install my-mongodb bitnami/mongodb

Configuração Personalizada

Para personalizar a implantação do MongoDB, você pode criar um arquivo values.yaml e especificar suas configurações. Aqui está um exemplo de configuração adaptada a necessidades específicas:

# Configurações de autenticação

auth:

  enabled: true

  rootPassword: changeme

  username: root

  password: changeme

  database: ryze

# Configurações de armazenamento persistente

persistence:

  enabled: true

  size: 8Gi

# Desativar conjunto de réplicas

replicaSet:

  enabled: false

Explicação das Configurações

Autenticação (auth):

  • enabled: Habilita a autenticação.
  • Root Password: Define a senha do usuário root (changeme).
  • username: Cria um usuário regular (root).
  • password: Senha para o usuário regular (changeme).
  • database: O banco de dados padrão a ser criado (ryze).

Armazenamento Persistente (persistence):

  • enabled: Habilita o armazenamento persistente.
  • size: Define o tamanho do armazenamento (8Gi).

Conjunto de Réplicas (replicaSet):

  • enabled: Desativa a implantação de conjunto de réplicas (configurado como false para uma instância única).

Implantando com Arquivo values.yaml

Salve a configuração acima em um arquivo values.yaml e implante o MongoDB usando este arquivo:

helm install my-mongodb -f values.yaml bitnami/mongodb

Verificando a Implantação

Para verificar se o Pod do MongoDB está funcionando corretamente:

kubectl get pods -l app.kubernetes.io/name=mongodb

A saída deve ser algo assim:

NAME                        READY   STATUS    RESTARTS   AGE

my-mongodb-0                1/1     Running   0          2m

Como configuramos como uma instância única, apenas o nó primário será exibido, sem conjuntos de réplicas.

Conectando ao MongoDB

Para se conectar à instância do MongoDB implantada, primeiro obtenha o IP do serviço:

kubectl get svc my-mongodb

Depois, conecte-se usando o cliente MongoDB:

mongo –host <SERVICE_IP> -u root -p changeme –authenticationDatabase ryze

Você será solicitado a inserir a senha (changeme) para completar a conexão.

Gerenciando e Atualizando o MongoDB

Atualizando o MongoDB
Para atualizar o MongoDB para uma versão mais recente do gráfico Helm, use o seguinte comando:

helm repo update

helm upgrade my-mongodb -f values.yaml bitnami/mongodb

Monitoramento e Logs
Para monitorar o MongoDB ou visualizar logs, use o comando:

kubectl logs my-mongodb-0

Isso fornece acesso aos logs do MongoDB, já que o monitoramento foi desativado nesta configuração de exemplo.

Estratégia de Backup

Como a funcionalidade de backup está desativada nesta configuração, recomenda-se estabelecer uma estratégia de backup manual. Você pode usar snapshots de Volumes Persistentes do Kubernetes ou integrar uma ferramenta de backup externa para garantir backups regulares dos dados.

Conclusão

Implantar o MongoDB em um ambiente Kubernetes é simples ao usar o gráfico Helm da Bitnami. Este guia demonstra como realizar uma implantação simples de instância única, adequada para ambientes onde alta disponibilidade e escalabilidade não são preocupações imediatas. Com gerenciamento adequado, o MongoDB pode operar de forma confiável em seu cluster Kubernetes.

Referências:

  • Gráfico Helm MongoDB da Bitnami
  • Documentação Oficial do Helm
  • Documentação Oficial do Kubernetes
  • Documentação Oficial do MongoDB

Compartilhe esse conteúdo

Posts Relacionados