GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nasadit Secure CockroachDB Cluster na serveru Ubuntu

CockroachDB je open source a cloudová nativní SQL databáze vyvinutá CockroachLabs. Je to distribuovaná databáze SQL postavená na transakčním úložišti a úložišti klíč-hodnota. CockroachDB je škálovatelná SQL databáze, která byla porovnána s databází Google Spanner. Je založen na drátě protokolu PostgreSQL a připraven na produkci.

V tomto tutoriálu vám ukážeme, jak nastavit Secure CockroachDB Cluster na Ubuntu 18.04. Naučíte se, jak nastavit zabezpečený cluster, přistupovat k administračnímu panelu CockroachDB, vytvořit nového uživatele na CockroachDB, vytvořit a zobrazit databázi na CockroachDB.

Předpoklady

Abychom mohli provozovat CockroachDB Cluster, potřebujeme více serverů. A budeme používat tři servery Ubuntu 18.04 s podrobným názvem hostitele a IP adresou, jak je uvedeno níže.

node1   10.5.5.21
node2   10.5.5.22
node3   10.5.5.23

Co uděláme?

  • Nastavení serveru NTP s Chronysystemctl restart chrony
    systemctl enable chrony
  • Stáhněte si a nainstalujte CockroachDB
  • Vytvořte certifikáty
  • Inicializujte CockroachDB Cluster
  • Přidat uzel do clusteru CockroachDB
  • Testování

Krok 1 – Nastavení serveru NTP s Chrony

Za prvé, musíme udržovat čas mezi servery v clusteru synchronizovaný. Musíme tedy nainstalovat balíček NTP na všechny servery. A pro tento průvodce budeme používat chrony.

Nainstalujte balík chrony na všechny servery pomocí následujícího příkazu.

sudo apt install chrony -y

Po dokončení instalace přejděte do konfiguračního adresáře '/etc/chrony/' a upravte soubor 'chrony.conf'.

cd /etc/chrony/
vim chrony.conf

Odstraňte výchozí fond NTP a nahraďte jej vlastním fondem země.

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 2

Uložit a zavřít.

Nyní restartujte službu chrony a poté přidejte chrony do spouštěcí služby.

systemctl restart chrony
systemctl enable chrony

V důsledku toho bude čas mezi servery synchronizován se stejnými servery fondu NTP.

Krok 2 – Stažení a instalace CockroachDB

V tomto kroku stáhneme a nainstalujeme CockroachDB na všechny servery. Spusťte tedy všechny příkazy na všech clusterových serverech.

Vytvořte nový adresář s názvem 'binary' a dostali se do něj.

mkdir -p binary; cd binary

Stáhněte si komprimovaný binární soubor cockroachdb pro Linux a rozbalte jej.

wget https://binaries.cockroachdb.com/cockroach-latest.linux-amd64.tgz
tar -xvzf cockroach-latest.linux-amd64.tgz

Nyní zkopírujte binární soubor 'šváb' do adresáře '/etc/local/bin'.

cp cockroach-*/cockroach /usr/local/bin/

Poté můžete spustit příkaz 'šváb' a prozkoumat základní příkaz pro nápovědu, zkontrolovat verzi atd.

cockroach version

CockroachDB byl nainstalován na všechny servery.

Krok 3 – Vytvoření certifikátů

Nyní vygenerujeme nějaké certifikáty pro zabezpečení CockrouchDB Clusteru. Pro generování souborů certifikátů můžeme použít OpenSSL nebo příkazový řádek švába.

Vygenerujeme certifikát a klíč CA a vygenerujeme certifikát pro kořenový adresář uživatele a certifikát pro každý uzel v clusteru.

Vytvořte adresář certifikátů '~/.cockroach-certs' a pro něj proměnnou prostředí.

mkdir -p ${HOME}/.cockroach-certs/
export COCKROACH_CERTS_DIR='${HOME}/.cockroach-certs/'

Vytvořit CA a zkopírovat do všech uzlů

Na serveru 'node1' vytvořte certifikační autoritu pomocí příkazu cockroach níže.

cockroach cert create-ca \
--certs-dir=$COCKROACH_CERTS_DIR \
--ca-key=$COCKROACH_CERTS_DIR/ca.key

A získáte 'ca.key' a 'ca.crt' v adresáři '~/.cockroach-certs'.

Poté zkopírujte certifikát ca a klíč na všechny servery pomocí příkazu scp, jak je uvedeno níže.

Zkopírujte na server 'node2'.

scp ~/.cockroach-certs/ca.crt ~/.cockroach-certs/ca.key [email protected]:~/.cockroach-certs/

Zkopírujte na server 'node3'.

scp ~/.cockroach-certs/ca.crt ~/.cockroach-certs/ca.key [email protected]:~/.cockroach-certs/

Nyní se ujistěte, že certifikát CA a klíč jsou nahrány na všechny hostitelské servery.

Vytváření klientských certifikátů

Po vytvoření certifikační autority musíme vygenerovat klientský certifikát. Klientský certifikát bude použit k zabezpečení komunikace mezi vestavěným SQL shellem a clusterem.

Vygenerujte klientský certifikát na všech serverech pomocí následujícího příkazu šváb.

cockroach cert create-client \
root \
--certs-dir=$COCKROACH_CERTS_DIR \
--ca-key=$COCKROACH_CERTS_DIR/ca.key

A získáte klientské certifikáty pro uživatele root 'client.root.crt' a 'client.root.key'.

Vytvořit certifikáty serveru

Certifikáty serveru budou použity k zabezpečení komunikace mezi servery v clusteru CockroachDB. A abyste se mohli připojit k zabezpečenému clusteru, musíte pro každý server vygenerovat certifikáty serveru.

Na uzlu 'node1' vytvořte certifikát serveru pomocí následujícího příkazu.

cockroach cert create-node \
localhost \
$(hostname) \
10.5.5.21 \
--certs-dir=$COCKROACH_CERTS_DIR \
--ca-key=$COCKROACH_CERTS_DIR/ca.key

Změňte IP adresu na svou vlastní.

V uzlu 'node2' vytvořte certifikát serveru pomocí následujícího příkazu.

cockroach cert create-node \
localhost \
$(hostname) \
10.5.5.22 \
--certs-dir=$COCKROACH_CERTS_DIR \
--ca-key=$COCKROACH_CERTS_DIR/ca.key

Změňte IP adresu na svou vlastní.

Na uzlu 'node3' vytvořte certifikát serveru pomocí následujícího příkazu.

cockroach cert create-node \
localhost \
$(hostname) \
10.5.5.23 \
--certs-dir=$COCKROACH_CERTS_DIR \
--ca-key=$COCKROACH_CERTS_DIR/ca.key

Změňte IP adresu na svou vlastní.

Nyní získáte certifikáty serveru 'node.crt' a 'node.key' v adresáři '~/.cockroach-certs'.

Krok 4 – Spuštění zabezpečeného CockroachDB Cluster

Po vytvoření některých SSL certifikátů inicializujeme Secure CockroachDB Cluster ze serveru 'node1'.

Spusťte následující příkaz na serveru 'node1'.

cockroach start \
--background --certs-dir=$COCKROACH_CERTS_DIR \
--advertise-host=10.5.5.21 --listen-addr=10.5.5.21

Ujistěte se, že nedošlo k chybě.

Poté zkontrolujte stav uzlu clusteru spuštěním příkazu šváb níže.

cockroach node status --host=10.5.5.21

Získáte, že node1 s IP adresou 10.5.5.21 je v provozu s CockroachDB v2.1.6.

Krok 5 – Přidání uzlu do clusteru

Dále přidáme 'node2' a 'node3' do zabezpečeného clusteru CockroachDB.

Ujistěte se, že certifikát CA a serveru je v adresáři ~/.cockroach-certs.

ls -lah ~/.cockroah-certs/

Nyní spusťte následující příkaz a přidejte 'node2' s IP adresou 10.5.5.22. Přidejte jej do clusteru 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:26257

Po dokončení přejděte na 'node3' a spusťte následující příkaz.

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:26257

Změňte IP adresu na svou vlastní.

Nyní byly do clusteru Secure CockroachDB přidány 'node2' a 'node3'. Zkontrolujte to ze serveru 'node1' pomocí následujícího příkazu.

cockroach node status --host=10.5.5.21

A získáte tři různé servery, na kterých běží šváb v2.1.6.

Krok 6 – Testování

V tomto posledním kroku otestujeme naši instalaci CockroachDB Secure Cluster tím, že vstoupíme do administračního panelu a otestujeme replikaci databáze mezi servery.

Testovací panel CockroachDB

CockroachDB poskytuje krásné uživatelské rozhraní řídicího panelu pro sledování clusteru. Otevřete webový prohlížeč a zadejte IP adresu serveru následovanou portem 8080.

https://10.5.5.21:8080/

A získáte přihlašovací stránku CockroachDB, jak je uvedeno níže.

Abychom se mohli přihlásit do řídicího panelu, musíme vytvořit uživatele v databázi CockroachDB.

Vraťte se do svého terminálu 'node1' a přihlaste se do shellu cockroachdb SQL pomocí následujícího příkazu.

cockroach sql --certs-dir=$COCKROACH_CERTS_DIR \
--host=10.5.5.21

Nyní vytvořte nového uživatele s názvem 'hakase' s heslem '[email protected]#' pomocí níže uvedeného dotazu.

CREATE USER hakase WITH PASSWORD '[email protected]#';

Zadáním '\q' ukončíte prostředí CockroachDB SQL.

Nyní se vraťte do webového prohlížeče a na přihlašovací stránce zadejte uživatele 'hakase' s heslem '[email protected]#' a klikněte na tlačítko Přihlásit se.

A získáte řídicí panel správce CockroachDB, jak je uvedeno níže.

Testování replikace databáze

Nyní otestujeme replikaci databáze mezi servery v Clusteru CockroachDB vytvořením databáze na 'node1' a kontrolou databáze z 'node2' nebo 'node3'.

Na uzlu 'node1' otevřete CockroachDB SQL shell pomocí následujícího příkazu.

cockroach sql --certs-dir=$COCKROACH_CERTS_DIR \
--host=10.5.5.21

Pomocí níže uvedených dotazů vytvořte dvě databáze 'hakasedb' a 'hakasedb2'.

create database hakasedb;
create database hakasedb2;

Nyní vytiskněte seznam databází a ujistěte se, že získáte dvě databáze, které jsme právě vytvořili.

show databases;

Dále se přihlaste k serveru 'node2' a pomocí následujícího příkazu otevřete CockroachDB SQL shell.

cockroach sql --certs-dir=$COCKROACH_CERTS_DIR \
--host=10.5.5.22

Zkontrolujte seznam databází.

show databases;

A dostanete 'hakasedb' a 'hakasedb2' bylo replikováno na server 'node2'.

A konečně, instalace a konfigurace Secure CockroachDB Cluster pomocí Ubuntu 18.04 byla úspěšně dokončena.


Ubuntu
  1. Jak nasadit Odoo 11 na Ubuntu 18.04

  2. Jak nainstalovat MySQL na Ubuntu 18.04

  3. Jak nasadit Rocket.Chat na Ubuntu 18.04

  1. Jak nasadit Mattermost na Ubuntu 18.04

  2. Jak nastavit server OpenVPN na Ubuntu 18.04

  3. Jak nasadit Odoo 12 na Ubuntu 18.04

  1. Jak nainstalovat Minecraft Server na Ubuntu 18.04

  2. Jak nainstalovat Nginx na Ubuntu 20.04

  3. Jak nainstalovat MariaDB na Ubuntu 20.04