---
title: Manual de Atualização de um Ambiente Existente
slug: aura/manual-de-atualizacao-de-um-ambiente-existente
docTags: 
createdAt: 2025-07-07T20:39:55.890Z
---

## 1. Pré-requisitos

Antes de realizar a atualização de um ambiente, certifique-se de que os seguintes pré-requisitos estão atendidos:

- **Acesso VPN**: Necessário para conectar ao cluster do Aura-Blocks.
- **Cluster Kubernetes**: O cluster Kubernetes existente deve estar funcionando corretamente.
- **kubectl**: Ferramenta de linha de comando para interagir com o cluster.
- **Imagens Atualizadas**: Verifique as novas versões das imagens Docker que deseja aplicar na atualização.

## 2. Listando e Trocando o Namespace

Antes de realizar qualquer operação, é importante verificar os namespaces disponíveis no cluster e garantir que você está utilizando o namespace correto para o projeto.

### 2.1 Listar os Namespaces no Cluster

Utilize o comando abaixo para listar todos os namespaces no cluster Kubernetes:

```bash
kubectl get namespaces
```

Este comando exibirá todos os namespaces disponíveis. Certifique-se de identificar o namespace correto do projeto (ex: `aura-blocks`).

### 2.2 Definindo o Namespace para o Projeto

Para garantir que todos os comandos subsequentes serão executados no namespace correto, você pode configurar o namespace padrão a ser utilizado:

```bash
kubectl config set-context --current --namespace=aura-blocks
```

Este comando irá definir o namespace `aura-blocks` como o namespace padrão para todos os comandos kubectl executados na sessão atual.

## 3. Procedimento de Atualização

A atualização de um ambiente existente é feita principalmente pela troca das **tags das imagens Docker** nos manifests de Kubernetes. Abaixo estão os passos simples para realizar essa tarefa.

### 3.1 Atualizando as Imagens nos Manifests

### 3.1.1 Identificando os Manifests para Atualizar

Os arquivos de `Deployment` são os principais pontos onde as tags das imagens precisam ser atualizadas. Certifique-se de que os seguintes arquivos estão sendo modificados:

- `template/engine/deployment.yaml`
- `template/lowproxy/deployment.yaml`
- `template/lowtalk/deployment.yaml`
- `template/lunaris/deployment.yaml`
- `template/wanderson/deployment.yaml`

### 3.1.2 Atualizando a Tag da Imagem

Abra o arquivo do `Deployment` correspondente e modifique a seção `image`, substituindo a tag antiga pela nova tag da imagem.

Exemplo de atualização no arquivo `deployment.yaml` do serviço `engine`:

```yaml
containers:
  - name: engine
    image: aura-blocks/engine:<nova_tag>
    ports:
      - containerPort: 6060
```

Repita esse processo para os outros serviços (lowproxy, lowtalk, lunaris, wanderson), atualizando suas tags conforme necessário.

### 3.1.3 Aplicando as Mudanças

Depois de modificar as tags, aplique os manifests atualizados no cluster com o seguinte comando para cada serviço:

```bash
kubectl apply -f template/<serviço>/deployment.yaml
```

Exemplo:

```bash
kubectl apply -f template/engine/deployment.yaml
```

### 3.2 Reiniciando os Serviços

Após aplicar as mudanças, reinicie os serviços para garantir que os novos pods sejam iniciados com as imagens atualizadas. Use o comando `kubectl rollout restart` para cada serviço:

```bash
kubectl rollout restart deploy <deploy>
```

Exemplo:

```bash
kubectl rollout restart deploy env-engine
kubectl rollout restart deploy env-lowproxy
kubectl rollout restart deploy env-lowtalk
kubectl rollout restart deploy env-lunaris
kubectl rollout restart deploy env-wanderson
```

### 3.3 Verificando o Status

Após reiniciar os deployments, verifique o status dos recursos para garantir que os pods foram reiniciados corretamente com as novas versões das imagens:

```bash
kubectl get pods -n aura-blocks
```

Certifique-se de que os novos pods estão no estado `Running`.

### 3.4 Rollback (Se Necessário)

Caso algo não funcione como esperado após a atualização, você pode realizar um rollback para a versão anterior dos deployments. O rollback retorna o deployment à versão anteriormente aplicada.

Para realizar o rollback, utilize o comando:

```bash
kubectl rollout undo deploy <deploy>
```

Exemplo de rollback para o serviço `engine`:

```bash
kubectl rollout undo deploy env-engine
```

Repita o comando para os outros serviços conforme necessário, retornando as versões anteriores das imagens.

## 4. Conclusão

Com esses passos, o ambiente será atualizado com as novas versões das imagens. Acompanhe o comportamento dos serviços e, caso necessário, utilize o rollback para reverter mudanças problemáticas.
