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

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 o armazenamento transacional e de chave-valor. O CockroachDB é um banco de dados SQL escalável que foi comparado ao banco de dados Google Spanner. É baseado no protocolo PostgreSQL e está pronto para produção.
Neste tutorial, mostraremos como configurar o Cluster CockroachDB Seguro no Ubuntu 18.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 executar o Cluster CockroachDB, precisamos de vários servidores. E usaremos três servidores Ubuntu 18.04 com os detalhes de nome de host e endereço IP conforme abaixo.
node1 10.5.5.21
node2 10.5.5.22
node3 10.5.5.23O que faremos?
- Configurar o Servidor NTP com Chrony systemctl restart chrony
systemctl enable chrony - Baixar e Instalar o CockroachDB
- Criar Certificados
- Inicializar o Cluster CockroachDB
- Adicionar Nó ao Cluster CockroachDB
- Testes
Passo 1 - Configurar o Servidor NTP com Chrony
Primeiramente, devemos manter o tempo entre os servidores no cluster sincronizado. Portanto, precisamos instalar o pacote NTP em todos os servidores. E para este guia, usaremos o chrony.
Instale o pacote chrony em todos os servidores usando o seguinte comando.
sudo apt install chrony -yUma vez que a instalação esteja completa, vá para o diretório de configuração ‘/etc/chrony/‘ e edite o arquivo ‘chrony.conf’.
cd /etc/chrony/
vim chrony.confExclua o pool NTP padrão e substitua pelo pool do seu próprio país.
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 2Salve e feche.
Agora reinicie o serviço chrony e adicione o chrony ao serviço de inicialização.
systemctl restart chrony
systemctl enable chronyComo resultado, o tempo entre os servidores será sincronizado com os mesmos servidores do pool NTP.

Passo 2 - Baixar e Instalar o CockroachDB
Neste passo, vamos baixar e instalar o CockroachDB em todos os servidores. Portanto, execute todos os comandos em todos os seus servidores do cluster.
Crie um novo diretório chamado ‘binary’ e entre nele.
mkdir -p binary; cd binaryBaixe o arquivo binário comprimido do cockroachdb para Linux e extraia-o.
wget https://binaries.cockroachdb.com/cockroach-latest.linux-amd64.tgz
tar -xvzf cockroach-latest.linux-amd64.tgzAgora copie o arquivo binário ‘cockroach’ para o diretório ‘/etc/local/bin’.
cp cockroach-*/cockroach /usr/local/bin/Depois disso, você pode executar o comando ‘cockroach’ e explorar o comando básico para ajuda, verificar a versão, etc.
cockroach versionO CockroachDB foi instalado em todos os servidores.

Passo 3 - Criar Certificados
Agora vamos gerar alguns certificados para proteger o Cluster CockroachDB. Podemos usar o OpenSSL ou a linha de comando do cockroach para gerar arquivos de certificado.
Geraremos o certificado CA e a chave, e o certificado para o usuário root e o certificado para cada nó no cluster.
Crie o diretório de certificados ‘~/.cockroach-certs’ e a variável de ambiente para ele.
mkdir -p ${HOME}/.cockroach-certs/
export COCKROACH_CERTS_DIR='${HOME}/.cockroach-certs/'Criar CA e Copiar para Todos os Nós
No servidor ‘node1’, crie a autoridade certificadora usando o comando cockroach abaixo.
cockroach cert create-ca \
--certs-dir=$COCKROACH_CERTS_DIR \
--ca-key=$COCKROACH_CERTS_DIR/ca.keyE você obterá ‘ca.key’ e ‘ca.crt’ no diretório ‘~/.cockroach-certs’.

Depois disso, copie o certificado e a chave CA para todos os servidores usando o comando scp conforme abaixo.
Copie para o servidor ‘node2’.
scp ~/.cockroach-certs/ca.crt ~/.cockroach-certs/ca.key [email protected]:~/.cockroach-certs/Copie para o servidor ‘node3’.
scp ~/.cockroach-certs/ca.crt ~/.cockroach-certs/ca.key [email protected]:~/.cockroach-certs/Agora, certifique-se de que o certificado e a chave CA estão carregados em todos os servidores host.
Criar Certificados de Cliente
Após criar a autoridade certificadora, precisamos gerar o certificado de cliente. O certificado de cliente será usado para proteger a comunicação entre o shell SQL embutido e o cluster.
Gere o certificado de cliente em todos os servidores usando o seguinte comando cockroach.
cockroach cert create-client \
root \
--certs-dir=$COCKROACH_CERTS_DIR \
--ca-key=$COCKROACH_CERTS_DIR/ca.keyE você obterá certificados de cliente para o usuário root ‘client.root.crt’ e ‘client.root.key’.
Criar Certificados de Servidor
Os certificados de servidor serão usados para proteger a comunicação entre os servidores no cluster CockroachDB. E para se juntar ao cluster seguro, você precisa gerar certificados de servidor para cada servidor.
No ‘node1’, crie o certificado de servidor usando o seguinte comando.
cockroach cert create-node \
localhost \
$(hostname) \
10.5.5.21 \
--certs-dir=$COCKROACH_CERTS_DIR \
--ca-key=$COCKROACH_CERTS_DIR/ca.keyAltere o endereço IP para o seu próprio.

No ‘node2’, crie o certificado de servidor usando o seguinte comando.
cockroach cert create-node \
localhost \
$(hostname) \
10.5.5.22 \
--certs-dir=$COCKROACH_CERTS_DIR \
--ca-key=$COCKROACH_CERTS_DIR/ca.keyAltere o endereço IP para o seu próprio.

No ‘node3’, crie o certificado de servidor usando o seguinte comando.
cockroach cert create-node \
localhost \
$(hostname) \
10.5.5.23 \
--certs-dir=$COCKROACH_CERTS_DIR \
--ca-key=$COCKROACH_CERTS_DIR/ca.keyAltere o endereço IP para o seu próprio.
Agora você obterá os certificados de servidor ‘node.crt’ e ‘node.key’ no diretório ‘~/.cockroach-certs’.
Passo 4 - Iniciar o Cluster CockroachDB Seguro
Após criar alguns certificados SSL, inicializaremos o Cluster CockroachDB Seguro a partir do servidor ‘node1’.
Execute o seguinte comando no servidor ‘node1’.
cockroach start \
--background --certs-dir=$COCKROACH_CERTS_DIR \
--advertise-host=10.5.5.21 --listen-addr=10.5.5.21Certifique-se de que não há erro.
Depois disso, verifique o status do nó do cluster executando o comando cockroach abaixo.
cockroach node status --host=10.5.5.21Você verá que o node1 com o endereço IP 10.5.5.21 está ativo e em execução com CockroachDB v2.1.6.
Passo 5 - Adicionar Nó ao Cluster
Em seguida, adicionaremos o ‘node2’ e o ‘node3’ ao cluster seguro CockroachDB.
Certifique-se de que o certificado CA e o certificado de servidor estão no diretório ~/.cockroach-certs.
ls -lah ~/.cockroach-certs/Agora execute o seguinte comando para adicionar o ‘node2’ com o endereço IP 10.5.5.22. Adicione-o ao 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:26257Uma vez que esteja completo, vá para o ‘node3’ e execute o seguinte 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:26257Altere o endereço IP para o seu próprio.
Agora o ‘node2’ e o ‘node3’ foram adicionados ao Cluster CockroachDB Seguro. Verifique a partir do servidor ‘node1’ usando o seguinte comando.
cockroach node status --host=10.5.5.21E você verá que três servidores diferentes estão ativos e executando o cockroach v2.1.6.

Passo 6 - Testes
Para este último passo, testaremos nossa instalação do Cluster Seguro CockroachDB acessando o painel de administração e testando a replicação do banco de dados entre os servidores.
Testando o Painel do CockroachDB
O CockroachDB fornece uma bela interface de painel para monitorar o cluster. Abra seu navegador da web e digite o endereço IP do servidor seguido da porta 8080.
E você verá a página de login do CockroachDB conforme abaixo.

Para fazer login no painel, precisamos criar um usuário no banco de dados CockroachDB.
Volte para o terminal do ‘node1’ e faça login no shell SQL do cockroachdb usando o seguinte comando.
cockroach sql --certs-dir=$COCKROACH_CERTS_DIR \
--host=10.5.5.21Agora crie um novo usuário chamado ‘hakase’ com a senha ‘hakase-labs123@#’ usando a consulta abaixo.
CREATE USER hakase WITH PASSWORD 'hakase-labs123@#';Digite ‘\q’ para sair do shell SQL do CockroachDB.

Agora volte para o navegador da web e digite o usuário ‘hakase’ com a senha ‘hakase-labs123@#’ na página de login e clique no botão Login.

E você verá o painel de administração do CockroachDB conforme abaixo.

Testando a Replicação do Banco de Dados
Agora vamos testar a replicação do banco de dados entre os servidores no Cluster CockroachDB criando o banco de dados no ‘node1’ e verificando o banco de dados a partir do ‘node2’ ou ‘node3’.
No ‘node1’, acesse o shell SQL do CockroachDB usando o seguinte comando.
cockroach sql --certs-dir=$COCKROACH_CERTS_DIR \
--host=10.5.5.21Crie dois bancos de dados ‘hakasedb’ e ‘hakasedb2’ usando as consultas abaixo.
create database hakasedb;
create database hakasedb2;Agora imprima a lista de bancos de dados e certifique-se de que você obteve os dois bancos de dados que acabamos de criar.
show databases;
Em seguida, faça login no servidor ‘node2’ e acesse o shell SQL do CockroachDB usando o seguinte comando.
cockroach sql --certs-dir=$COCKROACH_CERTS_DIR \
--host=10.5.5.22Verifique a lista de bancos de dados.
show databases;E você verá que ‘hakasedb’ e ‘hakasedb2’ foram replicados para o servidor ‘node2’.

E finalmente, a instalação e configuração do Cluster CockroachDB Seguro usando Ubuntu 18.04 foi concluída com sucesso.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.