

Questa guida fornisce la documentazione per Wickr Enterprise. Se utilizzi AWS Wickr, consulta AWS Wickr Administration [Guide o [AWS](https://docs.aws.amazon.com/wickr/latest/userguide/what-is-wickr.html) Wickr User Guide](https://docs.aws.amazon.com/wickr/latest/adminguide/what-is-wickr.html).

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Impostazioni del database
<a name="database-settings"></a>

Wickr Enterprise richiede un database MySQL 8.0. Se utilizzi MySQL 5.7, consulta per l'aggiornamento. [Aggiornamento a MySQL 8.0](#upgrade-database) Ti consigliamo di utilizzare un database esterno al cluster Kubernetes, come Amazon RDS, ma hai anche la possibilità di implementare un database MySQL **interno all'interno** del cluster Kubernetes come parte dell'installazione.

## Impostazioni del database esterno
<a name="external-database-settings"></a>
+ **Nome host: nome** host o indirizzo IP del server del database.
+ **Nome host del lettore: nome** host o indirizzo IP di un endpoint di sola lettura per il server del database (se disponibile).
+ **Porta**: la porta su cui verrà effettuato l'accesso a MySQL.
+ **Nome del database**: il nome del database creato sul server.
+ **Nome utente**: l'utente che dispone delle autorizzazioni per accedere al database.
+ **Password**: la password per quell'utente.
+ **Certificato CA: certificato** PEM per la connessione al database tramite TLS.

**Nota**  
Assicurati che l'installazione di MySQL utilizzi il set di caratteri latin1 predefinito con regole di confronto latin1\$1swedish\$1ci. Ciò può essere ottenuto verificando che il server MySQL sia avviato con i seguenti flag:  
`"--character-set-server latin1", "--collation-server latin1_swedish_ci"`

## Impostazioni interne del database
<a name="internal-database-settings"></a>

Il tipo di database interno ne distribuirà due StatefulSets nel cluster per un MySQL primario e secondario con replica binaria. Il secondario non riceve traffico ed è disponibile solo per il disaster recovery e i backup.

**Dimensione di archiviazione**: dimensione (in gibibyte) dei volumi persistenti per i pod del database.

**Aumento delle dimensioni dello storage MySQL**

**Nota**  
Il tipo di volume StorageClass deve supportare l'espansione del volume per aumentare le dimensioni di archiviazione. Per ulteriori informazioni, consulta [Espansione del volume](https://kubernetes.io/docs/concepts/storage/storage-classes/#allow-volume-expansion).

I servizi MySQL utilizzati in Wickr Enterprise vengono distribuiti come risorse in Kubernetes. StatefulSet StatefulSets rendono immutabili molte proprietà della risorsa, inclusi i modelli Persistent Volume Claim. Come soluzione alternativa per l'immutabilità di StatefulSets, è necessario eseguire le seguenti azioni per aumentare la dimensione dei volumi utilizzati da MySQL.

1. Modifica le dichiarazioni di volume persistente per e. `data-mysql-primary-0` `data-mysql-secondary-0`

   1. `kubectl -n wickr edit pvc data-mysql-primary-0. Set spec.resources.requests.storage`alla dimensione di archiviazione desiderata.

   1. `kubectl -n wickr edit pvc data-mysql-secondary-0. Set spec.resources.requests.storage`alla dimensione di archiviazione desiderata.

1. Elimina i Pod esistenti StatefulSets, ma lascia i Pod passando la `--cascade=orphan` bandiera.

   `kubectl -n wickr delete statefulset --cascade=orphan mysql-primary mysql-secondary`.

1. Nell'interfaccia utente di KOTS, aggiorna l'impostazione della dimensione di archiviazione in modo che corrisponda al valore impostato nel passaggio 1. Salva e distribuisci questa configurazione.

1. Riavviare il StatefulSets per espandere i volumi e riportare online i servizi MySQL.

   `kubectl -n wickr rollout restart statefulset mysql-primary mysql-secondary`.

## Aggiornamento a MySQL 8.0
<a name="upgrade-database"></a>

**Database esterno (RDS)**

Per mettere Wickr Backend offline, completa i seguenti passaggi.

1. Trova lo spazio dei nomi di ingresso `kubectl get deployments --all-namespaces`

   Nell'esempio seguente, lo spazio dei nomi è Wickr e le repliche sono 3.

   ```
   NAMESPACE     NAME                       READY   UP-TO-DATE   AVAILABLE   AGE
   ...
   wickr         ingress-nginx-controller   3/3     3            3           43h
   ...
   ```

1. Ridurre l'ingresso `kubectl scale deployment/ingress-nginx-controller --replicas=0 -n wickr`

1. Scatta un'istantanea per il backup del DB. Per ulteriori informazioni, consulta la sezione [Gestione dei backup manuali](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ManagingManualBackups.html) nella Guida per l'utente di *Amazon Relational Database Service*.

1. Aggiorna la versione del motore a MySQL 8.0.x (MySQL 8.4 non è supportato). Per ulteriori informazioni, consulta [Aggiornamento di una versione del motore di istanze DB](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Upgrading.html) nella *Amazon Relational Database* Service User Guide.

Per portare Wickr Backend online, riduci gli accessi `kubectl scale deployment/ingress-nginx-controller --replicas=3 -n wickr`

**Database interno**

Per ulteriori informazioni, consulta [Backup e ripristino MySQL](https://github.com/aws-samples/sample-packages-for-aws-wickr/blob/main/docs/mysql-backup.md).