Banco de Dados · 9 min read · Dec 19, 2025
Como Implantar um Cluster CockroachDB Seguro no Servidor Ubuntu 20.04

CockroachDB é um banco de dados SQL de código aberto e nativo da nuvem desenvolvido pela CockroachLabs. É um banco de dados SQL distribuído construído sobre os armazéns transacionais e de chave-valor.
CockroachDB é um banco de dados SQL escalável que foi comparado ao banco de dados Google Spanner. É baseado no protocolo PostgreSQL e pronto para produção.
Este tutorial mostrará como configurar o Cluster CockroachDB Seguro no Ubuntu 20.04. Você aprenderá como configurar o cluster seguro, acessar o painel de administração do CockroachDB, criar um novo usuário no CockroachDB, criar e mostrar um banco de dados no CockroachDB.
Pré-requisitos
Para este guia, configuraremos o Cluster CockroachDB Seguro com 3 Servidores Ubuntu 20.04.
node01 172.16.0.3
node02 172.16.0.4
node03 172.16.0.5
O que faremos?
- Configurar NTP com Chrony
- Baixar o Binário do CockroachDB para Linux
- Gerar Certificados SSL para o Cluster CockroachDB
- Iniciar o Cluster CockroachDB Seguro
- Criar Usuário Admin para o CockroachDB
- Acessar o Painel do CockroachDB
- Testar a Replicação de Banco de Dados no Cluster CockroachDB
Passo 1 - Configurar o Servidor NTP com Chrony
Primeiro, sincronizaremos o tempo em todos os nossos três servidores com o Servidor NTP usando chrony. Portanto, certifique-se de executar todos os comandos nesta etapa em todos os servidores.
Agora atualize todos os repositórios disponíveis em seu sistema e instale o pacote chrony usando o comando apt abaixo.
sudo apt update
sudo apt install chrony -yUma vez que toda a instalação esteja concluída, vá para o diretório ‘/etc/chrony’ e edite a configuração ‘chrony.conf’ usando o editor vim.
cd /etc/chrony/
vim chrony.confAltere o pool padrão para o seu servidor NTP mais próximo como abaixo.
pool 0.sg.pool.ntp.org iburst maxsources 4
pool 1.sg.pool.ntp.org iburst maxsources 1
pool 2.sg.pool.ntp.org iburst maxsources 1
pool 3.sg.pool.ntp.org iburst maxsources 2Salve e feche.
Em seguida, reinicie o serviço chrony e adicione-o à inicialização do sistema.
systemctl restart chrony
systemctl enable chronyO serviço chrony está em execução, verifique usando o seguinte comando.
systemctl status chronyAbaixo está o resultado que você obterá.

Como resultado, a instalação e configuração do Chrony foram concluídas. De fato, o tempo em todos os servidores foi sincronizado com os mesmos Servidores NTP.
Passo 2 - Baixar o Binário do CockroachDB
Neste passo, baixaremos e instalaremos o CockroachDB em todos os nossos três servidores.
Agora crie um novo diretório chamado ‘binary’ e entre nele.
mkdir -p binary; cd binaryDepois disso, baixe a versão mais recente do arquivo binário do CockroachDB e extraia-o.
wget -q https://binaries.cockroachdb.com/cockroach-latest.linux-amd64.tgz
tar -xf cockroach-latest.linux-amd64.tgzAgora mova o arquivo binário ‘cockroach’ para o diretório ‘/usr/local/bin’.
cp cockroach-*/cockroach /usr/local/bin/Como resultado, você pode executar o comando ‘cockroach’ em seu sistema.
Verifique o arquivo binário ‘cockroach’ e a versão do CockroachDB usando o seguinte comando.
which cockroach
cockroach versionAbaixo está o resultado que você obterá.

Como resultado, você baixou e instalou o CockroachDB v20.1.5 em servidores Linux, e agora você pode criar o Cluster CockroachDB.
Passo 3 - Criar Certificados SSL para o Cluster CockroachDB
Antes de criar o novo Cluster CockroachDB, criaremos e geraremos certificados SSL para proteger nosso cluster. Para gerar os Certificados SSL, podemos usar o OpenSSL ou usar a linha de comando ‘cockroach’.
- Criar Diretório de Certificados do CockroachDB
Primeiro, precisamos criar um novo diretório para armazenar todos os certificados SSL para nosso Cluster CockroachDB.
Como usuário root, crie um novo diretório ‘~/.cockroach-certs’ e adicione a variável de ambiente do sistema ‘COCKROACH_CERTS_DIR’ usando o comando abaixo.
mkdir -p ${HOME}/.cockroach-certs/
export COCKROACH_CERTS_DIR='${HOME}/.cockroach-certs/'Em seguida, para tornar a variável de ambiente ‘COCKROACH_CERTS_DIR’ permanente, edite a configuração ~/.bashrc usando o editor vim.
vim ~/.bashrcCole a seguinte configuração no final da linha.
export COCKROACH_CERTS_DIR='${HOME}/.cockroach-certs/'Salve e feche.
Em seguida, recarregue a configuração ~/.bashrc e verifique a variável de ambiente ‘COCKROACH_CERTS_DIR’.
source ~/.bashrc
echo $COCKROACH_CERTS_DIRE você obterá a variável ‘COCKROACH_CERTS_DIR’ com o valor ‘diretório ${HOME}/.cockroach-certs/‘.

- Criar um Certificado CA e Chave
Após criar o diretório de caminho SSL, geraremos o certificado CA e a chave usando a linha de comando ‘cockroach’ no servidor ‘node01’.
Gere o certificado CA e a chave para o ‘$COCKROACH_CERT_DIR’ usando o comando ‘cockroach’ abaixo.
cockroach cert create-ca \
--certs-dir=$COCKROACH_CERTS_DIR \
--ca-key=$COCKROACH_CERTS_DIR/ca.keyDepois disso, copie o ‘ca.crt’ e ‘ca.key’ gerados para outros servidores ‘node02’ e ‘node03’ usando o comando scp como abaixo.
scp ~/.cockroach-certs/ca.crt ~/.cockroach-certs/ca.key [email protected]:~/.cockroach-certs/
scp ~/.cockroach-certs/ca.crt ~/.cockroach-certs/ca.key [email protected]:~/.cockroach-certs/Como resultado, o certificado CA e a chave foram criados e enviados para todos os servidores.

- Criar Certificado de Cliente no node01
Após criar o certificado CA e a chave, geraremos o certificado de cliente usado para proteger a comunicação entre o shell SQL embutido e o cluster.
Gere o certificado de cliente usando o seguinte comando do cockroach.
cockroach cert create-client \
root \
--certs-dir=$COCKROACH_CERTS_DIR \
--ca-key=$COCKROACH_CERTS_DIR/ca.keyAgora você obterá novos certificados ‘client.root.crt’ e ‘client.root.key’ no diretório ‘$COCKROACH_CERTS_DIR’.

- Criar Certificados de Servidor em Todos os Servidores
Os certificados de servidor serão usados para proteger a comunicação entre servidores no cluster CockroachDB. Para ingressar no cluster seguro, você precisa gerar certificados de servidor para cada servidor.
No primeiro ‘node01’, gere o certificado de servidor usando o seguinte comando, e certifique-se de alterar o endereço IP pelo seu próprio.
cockroach cert create-node \
localhost \
$(hostname) \
172.16.0.3 \
--certs-dir=$COCKROACH_CERTS_DIR \
--ca-key=$COCKROACH_CERTS_DIR/ca.keyEm seguida, gere o certificado de servidor para o ‘node02’ usando o seguinte comando.
cockroach cert create-node \
localhost \
$(hostname) \
172.16.0.4 \
--certs-dir=$COCKROACH_CERTS_DIR \
--ca-key=$COCKROACH_CERTS_DIR/ca.keyDepois disso, gere o certificado de servidor para o servidor ‘node03’.
cockroach cert create-node \
localhost \
$(hostname) \
172.16.0.5 \
--certs-dir=$COCKROACH_CERTS_DIR \
--ca-key=$COCKROACH_CERTS_DIR/ca.keyAgora, se você verificar o diretório ‘~/.cockroach-certs’, você encontrará novos certificados ‘node.crt’ e ‘node.key’ em todos os servidores.
ls -lah ${HOME}/.cockroach-certs/Abaixo estão todos os certificados disponíveis no servidor mestre ‘node01’.

Você verá três certificados diferentes, certificados CA, certificados de Cliente e certificados de Servidor.
E para os outros nós ‘node02’ e ‘node03’, você verá dois certificados, certificados CA e certificados de Servidor.

Como resultado, estamos prontos para iniciar e criar o Cluster CockroachDB Seguro.
Passo 4 - Iniciar o Cluster Seguro CockRoachDB
Para iniciar o cluster CockroachDB seguro, você precisa iniciar o processo CockroachDB em cada servidor.
Antes de iniciar o processo CockroachDB, certifique-se de alterar os detalhes do endereço IP para cada servidor pelo seu próprio e certifique-se de que a variável de ambiente ‘$COCKROACH_CERTS_DIR’ esteja carregada.
Primeiro, inicie o processo CockroachDB no ‘node01’ usando o seguinte comando.
cockroach start \
--background --certs-dir=$COCKROACH_CERTS_DIR \
--store=/var/lib/cockroachdb \
--advertise-host=172.16.0.3 --listen-addr=172.16.0.3 \
--join=172.16.0.3:26257,172.16.0.4:26257,172.16.0.5:26257
Agora vá para o servidor ‘node02’ e inicie o processo CockroachDB.
cockroach start \
--background --certs-dir=$COCKROACH_CERTS_DIR \
--store=/var/lib/cockroachdb \
--advertise-host=172.16.0.4 --listen-addr=172.16.0.4 \
--join=172.16.0.3:26257,172.16.0.4:26257,172.16.0.5:26257
Depois disso, inicie o processo CockroachDB no servidor ‘node03’.
cockroach start \
--background --certs-dir=$COCKROACH_CERTS_DIR \
--store=/var/lib/cockroachdb \
--advertise-host=172.16.0.5 --listen-addr=172.16.0.5 \
--join=172.16.0.3:26257,172.16.0.4:26257,172.16.0.5:26257
Agora o processo CockroachDB foi iniciado em todos os servidores. Está em execução na porta ‘26257’, e os dados do DockroachDB estão armazenados no diretório ‘/var/lib/cockroachdb’.
Você pode verificar a porta do CockroachDB usando o seguinte comando.
ss -plntuComo pode ser visto, o processo CockroachDB está em execução na porta TCP ‘26257’ para conexão ao banco de dados e na porta ‘8080’ como painel de administração padrão do CockroachDB.
Em seguida, volte para o servidor mestre ‘node01’ e inicialize o cluster CockroachDB seguro usando o comando abaixo.
cockroach init --host=172.16.0.3:26257E você receberá a seguinte mensagem.
Cluster inicializado com sucessoAlém disso, você pode verificar o arquivo de log do CockroachDB para ver os detalhes da inicialização do cluster.
grep 'node starting' /var/lib/cockroachdb/logs/cockroach.log -A 11Abaixo está o resultado que você obterá.

Como resultado, a inicialização do Cluster CockroachDB Seguro foi concluída com sucesso.
Passo 5 - Criar Usuário Admin para CockroachDB
Depois de inicializar com sucesso o Cluster CockroachDB, você precisa criar um novo usuário que fará login no painel de administração do CockroachDB.
Do servidor mestre ‘node01’, faça login no shell SQL do CockroachDB usando o seguinte comando.
cockroach sql --certs-dir=$COCKROACH_CERTS_DIR \
--host=172.16.0.3Agora crie um novo usuário chamado ‘yume’ com a senha ‘yume321’ usando a seguinte consulta.
CREATE USER yume WITH PASSWORD 'yume321';Depois disso, permita que o usuário ‘yume’ faça login e adicione-o ao papel ‘admin’.
ALTER USER yume LOGIN;
GRANT admin TO yume;Agora verifique todos os usuários disponíveis no CockroachDB usando a seguinte consulta.
SHOW USERS;Abaixo está o resultado que você obterá.

Como pode ser visto, o novo usuário yume está disponível na lista. Ele é membro do papel ‘admin’.
Como resultado, você criou um novo usuário para o Banco de Dados CockroachDB.
Passo 6 - Acessar o Painel do CockroachDB
Por padrão, o CockroachDB fornece um painel de administração baseado na web que funciona na porta TCP padrão ‘8080’.
Abra seu navegador da web e digite o endereço IP do seu servidor com a porta ‘8080’ na barra de endereços.
Agora você verá a página de login do CockroachDB como abaixo.

Digite o usuário ‘ yume ‘ e a senha ‘ yume321 ‘ no campo e clique no botão ‘ LOG IN ‘.
E você verá o Painel do CockroachDB como abaixo.

Como pode ser visto, você tem o Cluster CockroachDB com três nós ativos.
Como resultado, você fez login com sucesso no Painel de Administração do CockroachDB com um novo usuário.
Passo 7 - Testar a Replicação de Banco de Dados
Para este passo, testaremos a replicação de banco de dados entre cada nó no cluster.
Criaremos um novo banco de dados no servidor ‘node01’ usando o usuário ‘yume’ e, em seguida, verificaremos o banco de dados a partir dos outros nós ‘node02’ e ‘node03’.
- Conectar ao node01 e Criar Bancos de Dados
No servidor ‘node01’, faça login no Shell SQL do CockroachDB como usuário ‘yume’ usando o seguinte comando.
cockroach sql --certs-dir=$COCKROACH_CERTS_DIR --user=yume \
--host=172.16.0.3Uma vez que você tenha feito login no shell SQL do CockroachDB, crie novos bancos de dados usando as seguintes consultas.
CREATE DATABASE yumedb;
CREATE DATABASE yumedb2;Agora verifique todos os bancos de dados disponíveis no CockroachDB.
SHOW DATABASES;E você verá ‘yumedb’ e ‘yumedb2’ na lista de bancos de dados.

- Verificar Replicação de Banco de Dados no node02 e node03
Em seguida, vá para o servidor ‘node02’ e faça login no shell SQL do CockroachDB como usuário ‘yume’ usando o seguinte comando.
cockroach sql --certs-dir=$COCKROACH_CERTS_DIR --user=yume \
--host=172.16.0.4Uma vez que você tenha feito login, verifique todos os bancos de dados disponíveis usando a seguinte consulta.
SHOW DATABASES;E você verá os bancos de dados ‘yumedb’ e ‘yumedb2’ na lista.

Faça o mesmo no servidor ‘node03’, e você obterá o mesmo resultado.
Abaixo está o resultado do servidor ‘node03’.

Como resultado, a replicação de banco de dados entre os nós no Cluster CockroachDB está funcionando.
Além disso, abaixo você pode ver todos os bancos de dados no Painel de Administração do CockroachDB.

E finalmente, a instalação e configuração do Cluster CockroachDB seguro no Ubuntu 20.04 foram concluídas com sucesso.
Referência
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.