# ReplicaSet in Kubernetes: adattamento automatico dei pod

I ReplicaSet in Kubernetes sono una soluzione affidabile e altamente flessibile per gestire le **applicazioni containerizzate**. Nei file YAML è possibile definire il numero di pod identici e i container al loro interno.

## Che cosa sono i ReplicaSet in Kubernetes?

I ReplicaSet sono una risorsa fondamentale in Kubernetes, responsabile della gestione di pod identici. Il loro scopo principale è mantenere costante il numero desiderato di copie di un pod. I ReplicaSet **eseguono un monitoraggio continuo dell’integrità dei pod** e intervengono automaticamente per garantirne la scalabilità. A seconda della configurazione, essi avviano nuovi pod o terminano quelli in esubero.

Consiglio Con [Managed Kubernetes](https://cloud.ionos.it/managed/kubernetes "Managed Kubernetes di IONOS") di IONOS ottieni il massimo della flessibilità per adattare le tue risorse in Kubernetes. All’interno dell’infrastruttura cloud di IONOS puoi configurare con precisione i nodi di lavoro, dal numero di CPU fino alle dimensioni della memoria.

## Creazione di ReplicaSet in Kubernetes

Per eseguire i ReplicaSet è necessario un **cluster Kubernetes** in esecuzione in locale sul tuo sistema di sviluppo (come Minikube) oppure in un ambiente di produzione. Nel [tutorial di Kubernetes](https://www.ionos.it/digitalguide/server/configurazione/tutorial-kubernetes/) ti spieghiamo in dettaglio come eseguire la configurazione. Assicurati che *Kubeconfig* sia impostato correttamente per comunicare con il cluster. Successivamente puoi iniziare a configurare i ReplicaSet.

### Apertura dell’editor di testo

Crea e apri un **file YAML** utilizzando il tuo editor di testo o ambiente di sviluppo integrato (IDE) preferito.

```shell
vim replicaset.yaml
```

### Configurazione del file YAML

All’interno dell’editor definisci la configurazione YAML per il tuo 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
```

Scegli i nomi e le immagini più adatti alla tua applicazione e salva il file.

### Attivazione di ReplicaSet in Kubernetes

Utilizza il seguente comando per applicare la configurazione del tuo file YAML al cluster Kubernetes:

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

### Controllo dello stato del ReplicaSet

Controlla lo stato del ReplicaSet creato in Kubernetes per assicurarti che sia stato attivato correttamente.

```shell
kubectl get replicasets new_replicaset
```

Il risultato dovrebbe mostrare il tuo nuovo ReplicaSet con il numero desiderato di repliche.

```shell
NAME                  DESIRED   CURRENT   READY   AGE
new_replicaset           3         3        3     1m
```

- **NAME**: il nome del ReplicaSet.
- **DESIRED**: il numero di repliche desiderato, come definito nel file YAML.
- **CURRENT**: il numero di repliche attualmente in esecuzione.
- **READY**: il numero di repliche contrassegnate come “READY”, ossia pronte per il traffico.
- **AGE**: il tempo trascorso dalla creazione del ReplicaSet.

### Controllo dello stato dei pod

Verifica anche lo stato dei pod creati.

```shell
kubectl get pods
```

Questo comando mostra un elenco dei pod creati con informazioni sul loro stato. Se tutti i pod hanno lo stato **Running** (in esecuzione) ed è stato raggiunto il numero di repliche desiderato, il tuo ReplicaSet in Kubernetes è stato creato e attivato correttamente.

```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
```

### Scalabilità dei ReplicaSet

Se vuoi cambiare il numero di repliche che desideri nel tuo ReplicaSet, è possibile modificare il tuo file YAML. A tal fine devi semplicemente impostare il numero desiderato come valore del campo `replicas` e salvare il file. Quindi inserisci il seguente comando per sostituire il ReplicaSet presente in Kubernetes con il **ReplicaSet aggiornato** del tuo file YAML:

```shell
kubectl replace -f replicaset.yaml
```

In alternativa puoi scalare il numero di repliche con `kubectl scale`:

```shell
kubectl scale --replicas=4-f replicaset-app.yaml
```


This is a markdown version of: [https://www.ionos.it/digitalguide/server/configurazione/kubernetes-replicaset/](https://www.ionos.it/digitalguide/server/configurazione/kubernetes-replicaset/) for AI/LLM consumption.