Database Sicuro · 6 min read · Dec 19, 2025
Come distribuire un cluster CockroachDB sicuro su Ubuntu Server

CockroachDB è un database SQL open source e cloud-native sviluppato da CockroachLabs. È un database SQL distribuito costruito su un archivio transazionale e key-value. CockroachDB è un database SQL scalabile che è stato paragonato al database Google Spanner. È basato sul protocollo PostgreSQL e pronto per la produzione.
In questo tutorial, ti mostreremo come impostare il cluster CockroachDB sicuro su Ubuntu 18.04. Imparerai come configurare il cluster sicuro, accedere alla dashboard di amministrazione di CockroachDB, creare un nuovo utente su CockroachDB, creare e visualizzare un database su CockroachDB.
Prerequisiti
Per eseguire il cluster CockroachDB, abbiamo bisogno di più server. E utilizzeremo tre server Ubuntu 18.04 con i dettagli del nome host e dell’indirizzo IP come di seguito.
node1 10.5.5.21
node2 10.5.5.22
node3 10.5.5.23Cosa faremo?
- Configurare il server NTP con Chrony systemctl restart chrony
systemctl enable chrony - Scaricare e installare CockroachDB
- Creare certificati
- Inizializzare il cluster CockroachDB
- Aggiungere un nodo al cluster CockroachDB
- Testare
Passo 1 - Configurare il server NTP con Chrony
Innanzitutto, dobbiamo mantenere il tempo tra i server del cluster sincronizzato. Quindi, dobbiamo installare il pacchetto NTP su tutti i server. E per questa guida, utilizzeremo chrony.
Installa il pacchetto chrony su tutti i server utilizzando il seguente comando.
sudo apt install chrony -yUna volta completata l’installazione, vai nella directory di configurazione ‘/etc/chrony/‘ ed edita il file ‘chrony.conf’.
cd /etc/chrony/
vim chrony.confElimina il pool NTP predefinito e sostituiscilo con il tuo pool nazionale.
pool 0.id.pool.ntp.org iburst maxsources 4
pool 1.id.pool.ntp.org iburst maxsources 1
pool 2.id.pool.ntp.org iburst maxsources 1
pool 3.id.pool.ntp.org iburst maxsources 2Salva e chiudi.
Ora riavvia il servizio chrony e poi aggiungi chrony al servizio di avvio.
systemctl restart chrony
systemctl enable chronyDi conseguenza, il tempo tra i server sarà sincronizzato con gli stessi server del pool NTP.

Passo 2 - Scaricare e installare CockroachDB
In questo passaggio, scaricheremo e installeremo CockroachDB su tutti i server. Quindi, esegui tutti i comandi su tutti i server del tuo cluster.
Crea una nuova directory chiamata ‘binary’ e accedi ad essa.
mkdir -p binary; cd binaryScarica il file binario compresso di cockroachdb per Linux ed estrailo.
wget https://binaries.cockroachdb.com/cockroach-latest.linux-amd64.tgz
tar -xvzf cockroach-latest.linux-amd64.tgzOra copia il file binario ‘cockroach’ nella directory ‘/etc/local/bin’.
cp cockroach-*/cockroach /usr/local/bin/Dopo di che, puoi eseguire il comando ‘cockroach’ ed esplorare il comando di base per aiuto, controllare la versione, ecc.
cockroach versionCockroachDB è stato installato su tutti i server.

Passo 3 - Creare certificati
Ora genereremo alcuni certificati per proteggere il cluster CockroachDB. Possiamo utilizzare OpenSSL o la riga di comando di cockroach per generare i file di certificato.
Genereremo il certificato CA e la chiave, e il certificato generato per l’utente root e il certificato per ciascun nodo del cluster.
Crea la directory dei certificati ‘~/.cockroach-certs’ e la variabile di ambiente per essa.
mkdir -p ${HOME}/.cockroach-certs/
export COCKROACH_CERTS_DIR='${HOME}/.cockroach-certs/'Crea CA e copia su tutti i nodi
Sul server ‘node1’, crea l’autorità di certificazione utilizzando il comando cockroach qui sotto.
cockroach cert create-ca \
--certs-dir=$COCKROACH_CERTS_DIR \
--ca-key=$COCKROACH_CERTS_DIR/ca.keyE otterrai ‘ca.key’ e ‘ca.crt’ nella directory ‘~/.cockroach-certs’.

Dopo di che, copia il certificato CA e la chiave su tutti i server utilizzando il comando scp come di seguito.
Copia sul server ‘node2’.
scp ~/.cockroach-certs/ca.crt ~/.cockroach-certs/ca.key [email protected]:~/.cockroach-certs/Copia sul server ‘node3’.
scp ~/.cockroach-certs/ca.crt ~/.cockroach-certs/ca.key [email protected]:~/.cockroach-certs/Ora assicurati che il certificato CA e la chiave siano caricati su tutti i server host.
Crea certificati client
Dopo aver creato l’autorità di certificazione, dobbiamo generare il certificato client. Il certificato client sarà utilizzato per proteggere la comunicazione tra la shell SQL integrata e il cluster.
Genera il certificato client su tutti i server utilizzando il seguente comando cockroach.
cockroach cert create-client \
root \
--certs-dir=$COCKROACH_CERTS_DIR \
--ca-key=$COCKROACH_CERTS_DIR/ca.keyE otterrai certificati client per l’utente root ‘client.root.crt’ e ‘client.root.key’.
Crea certificati server
I certificati server saranno utilizzati per proteggere la comunicazione tra i server nel cluster CockroachDB. E per unirti al cluster sicuro, devi generare certificati server per ciascun server.
Sul ‘node1’, crea il certificato server utilizzando il seguente comando.
cockroach cert create-node \
localhost \
$(hostname) \
10.5.5.21 \
--certs-dir=$COCKROACH_CERTS_DIR \
--ca-key=$COCKROACH_CERTS_DIR/ca.keyCambia l’indirizzo IP con il tuo.

Sul ‘node2’, crea il certificato server utilizzando il seguente comando.
cockroach cert create-node \
localhost \
$(hostname) \
10.5.5.22 \
--certs-dir=$COCKROACH_CERTS_DIR \
--ca-key=$COCKROACH_CERTS_DIR/ca.keyCambia l’indirizzo IP con il tuo.

Sul ‘node3’, crea il certificato server utilizzando il seguente comando.
cockroach cert create-node \
localhost \
$(hostname) \
10.5.5.23 \
--certs-dir=$COCKROACH_CERTS_DIR \
--ca-key=$COCKROACH_CERTS_DIR/ca.keyCambia l’indirizzo IP con il tuo.
Ora otterrai i certificati server ‘node.crt’ e ‘node.key’ nella directory ‘~/.cockroach-certs’.
Passo 4 - Avviare il cluster CockroachDB sicuro
Dopo aver creato alcuni certificati SSL, inizializzeremo il cluster CockroachDB sicuro dal server ‘node1’.
Esegui il seguente comando sul server ‘node1’.
cockroach start \
--background --certs-dir=$COCKROACH_CERTS_DIR \
--advertise-host=10.5.5.21 --listen-addr=10.5.5.21Assicurati che non ci siano errori.
Dopo di che, controlla lo stato del nodo del cluster eseguendo il comando cockroach qui sotto.
cockroach node status --host=10.5.5.21Otterrai il nodo1 con indirizzo IP 10.5.5.21 attivo e funzionante con CockroachDB v2.1.6.
Passo 5 - Aggiungere un nodo al cluster
Successivamente, aggiungeremo ‘node2’ e ‘node3’ al cluster sicuro di CockroachDB.
Assicurati che il certificato CA e il certificato server siano nella directory ~/.cockroach-certs.
ls -lah ~/.cockroah-certs/Ora esegui il seguente comando per aggiungere ‘node2’ con indirizzo IP 10.5.5.22. Aggiungilo al cluster CockroachDB.
cockroach start \
--background --certs-dir=$COCKROACH_CERTS_DIR \
--advertise-host=10.5.5.22 --listen-addr=10.5.5.22 \
--join=10.5.5.21:26257Una volta completato, vai su ‘node3’ ed esegui il seguente comando.
cockroach start \
--background --certs-dir=$COCKROACH_CERTS_DIR \
--advertise-host=10.5.5.23 --listen-addr=10.5.5.23 \
--join=10.5.5.21:26257Cambia l’indirizzo IP con il tuo.
Ora ‘node2’ e ‘node3’ sono stati aggiunti al cluster CockroachDB sicuro. Controlla dal server ‘node1’ utilizzando il seguente comando.
cockroach node status --host=10.5.5.21E otterrai tre server diversi attivi e funzionanti con cockroach v2.1.6.

Passo 6 - Testare
Per quest’ultimo passaggio, testeremo la nostra installazione del cluster sicuro CockroachDB accedendo alla dashboard di amministrazione e testando la replica del database tra i server.
Testare la dashboard di CockroachDB
CockroachDB fornisce una bellissima interfaccia utente della dashboard per monitorare il cluster. Apri il tuo browser web e digita l’indirizzo IP del server seguito dalla porta 8080.
E otterrai la pagina di accesso di CockroachDB come di seguito.

Per accedere alla dashboard, dobbiamo creare un utente nel database CockroachDB.
Torna al terminale ‘node1’ e accedi alla shell SQL di cockroachdb utilizzando il seguente comando.
cockroach sql --certs-dir=$COCKROACH_CERTS_DIR \
--host=10.5.5.21Ora crea un nuovo utente chiamato ‘hakase’ con password ‘hakase-labs123@#’ utilizzando la query qui sotto.
CREATE USER hakase WITH PASSWORD 'hakase-labs123@#';Digita ‘\q’ per uscire dalla shell SQL di CockroachDB.

Ora torna al browser web e digita l’utente ‘hakase’ con password ‘hakase-labs123@#’ nella pagina di accesso e fai clic sul pulsante Accedi.

E otterrai la dashboard di amministrazione di CockroachDB come di seguito.

Testare la replica del database
Ora testeremo la replica del database tra i server nel cluster CockroachDB creando il database su ‘node1’ e controllando il database da ‘node2’ o ‘node3’.
Su ‘node1’, accedi alla shell SQL di CockroachDB utilizzando il seguente comando.
cockroach sql --certs-dir=$COCKROACH_CERTS_DIR \
--host=10.5.5.21Crea due database ‘hakasedb’ e ‘hakasedb2’ utilizzando le query qui sotto.
create database hakasedb;
create database hakasedb2;Ora stampa l’elenco dei database e assicurati di ottenere i due database che abbiamo appena creato.
show databases;
Successivamente, accedi al server ‘node2’ e accedi alla shell SQL di CockroachDB utilizzando il seguente comando.
cockroach sql --certs-dir=$COCKROACH_CERTS_DIR \
--host=10.5.5.22Controlla l’elenco dei database.
show databases;E otterrai ‘hakasedb’ e ‘hakasedb2’ replicati sul server ‘node2’.

E infine, l’installazione e la configurazione del cluster CockroachDB sicuro utilizzando Ubuntu 18.04 sono state completate con successo.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.