# Kubernetes ReplicaSet: Como ajustar pods automaticamente

O **Kubernetes ReplicaSet** é um recurso confiável e altamente flexível, usado para gerenciar aplicações em contêineres. Ele possibilita a definição do número de pods idênticos e de contêineres que eles contêm, por arquivos YAML.

## O que é Kubernetes ReplicaSet?

ReplicaSet é um dos recursos centrais do Kubernetes, pois possibilita o gerenciamento de pods idênticos. Sua principal função é manter constante o número desejado de cópias de um pod. Para tanto, **o ReplicaSet monitora continuamente o estado dos pods**, iniciando automaticamente o processo de escalonamento. Dependendo de como for configurado, o recurso também cria novos pods ou encerra pods excedentes.

Dica Com o [Managed Kubernetes](https://cloud.ionos.com/managed/kubernetes "Managed Kubernetes — IONOS") da IONOS, você obtém máxima flexibilidade para ajustar recursos Kubernetes. Na infraestrutura em nuvem da IONOS, você poderá configurar seus nós de trabalho com precisão, definindo desde o número de CPUs até o tamanho do armazenamento.

## Criar Kubernetes ReplicaSet

Para operar ReplicaSets, você precisa de um **cluster Kubernetes** em funcionamento, seja localmente em um ambiente de desenvolvimento (como no Minikube) ou em um ambiente de produção. No nosso [tutorial Kubernetes](https://www.ionos.com/digitalguide/server/configuration/kubernetes-tutorial/ "Tutorial Kubernetes"), explicamos detalhadamente como configurar um cluster. Certifique-se de que o *Kubeconfig* esteja configurado corretamente para se comunicar com o cluster. Somente depois você deverá começar a configurar o ReplicaSet.

### Abra o editor de texto

Crie e abra um **arquivo YAML** no editor de texto ou ambiente de desenvolvimento integrado (IDE) de sua preferência.

```shell
vim replicaset.yaml
```

### Configure o arquivo YAML

No editor, defina a configuração YAML para o seu ReplicaSet.

```yaml
apiVersion: apps/v1    
kind: ReplicaSet    
metadata:    
    name: new_replicaset    
spec:    
    replicas: 3    
    selector:    
        matchLabels:    
            app: app    
    template:    
        metadata:    
            labels:    
                app: app    
        spec:    
            containers:    
            - name: container    
                image: container-image:latest
```

Personalize os nomes e as imagens de acordo com sua aplicação e salve o arquivo.

### Ative o Kubernetes ReplicaSet

Use o seguinte comando para aplicar a configuração do arquivo YAML ao cluster Kubernetes:

```shell
$ kubectl create -f replicaset.yaml
```

### Verifique o status do ReplicaSet

Verifique o status do ReplicaSet criado para garantir que ele foi ativado com sucesso.

```shell
kubectl get replicasets new_replicaset
```

Você obterá um resultado que mostrará o novo ReplicaSet e o número desejado de réplicas.

```shell
NAME                  DESIRED   CURRENT   READY   AGE  
new_replicaset           3         3        3     1m  
NAME: Nome do ReplicaSet.
DESIRED: Número desejado de réplicas, conforme especificado no arquivo YAML.
CURRENT: Número atual de réplicas em execução.
READY: Número de réplicas marcadas como "READY" e prontas para uso.
AGE: Tempo desde a criação do ReplicaSet.
### Verifique o status dos pods
Confira também o status dos pods criados.
```shell
kubectl get pods
```

</div>O comando exibirá uma lista dos pods criados juntamente com as respectivas informações de status. Se todos os pods estiverem com o status *Running* e o número desejado de réplicas tiver sido atingido, significará que o Kubernetes ReplicaSet foi criado e ativado com sucesso.

<div class="prism-container position-relative my-4" data-ctype="commonmark_content">```shell
NAME                           READY       STATUS    RESTARTS    AGE
new_replicaset-xxxx        		1/1       Running        0        1m
new_replicaset-yyyy             1/1       Running        0        1m
new_replicaset-zzzz             1/1       Running        0        1m
```

</div>### Escalone o ReplicaSet

Se você quiser alterar o número desejado de réplicas do seu ReplicaSet, edite o valor do campo *replicas* no arquivo YAML. Em seguida, salve-o e execute o seguinte comando para substituir o ReplicaSet existente pela versão atualizada:

<div class="prism-container position-relative my-4" data-ctype="commonmark_content">```shell
kubectl replace -f replicaset.yaml
```

</div>Alternativamente, você pode escalonar réplicas usando o comando `kubectl scale`:

<div class="prism-container position-relative my-4" data-ctype="commonmark_content">```shell
kubectl scale --replicas=4 replicaset.yaml
```


This is a markdown version of: [https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/kubernetes-replicaset/](https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/kubernetes-replicaset/) for AI/LLM consumption.