GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menyebarkan Cluster CockroachDB Aman di Server Ubuntu

CockroachDB adalah database SQL open source dan cloud-native yang dikembangkan oleh CockroachLabs. Ini adalah database SQL terdistribusi yang dibangun di atas penyimpanan transaksional dan nilai kunci. CockroachDB adalah database SQL terukur yang telah dibandingkan dengan database Google Spanner. Ini didasarkan pada kabel protokol PostgreSQL dan siap produksi.

Dalam tutorial ini, kami akan menunjukkan kepada Anda cara mengatur Secure CockroachDB Cluster di Ubuntu 18.04. Anda akan mempelajari cara menyiapkan cluster aman, mengakses dasbor admin CockroachDB, membuat pengguna baru di CockroachDB, membuat dan menampilkan database di CockroachDB.

Prasyarat

Untuk menjalankan Cluster CockroachDB, kita membutuhkan beberapa server. Dan kami akan menggunakan tiga server Ubuntu 18.04 dengan detail hostname dan alamat IP seperti di bawah ini.

node1   10.5.5.21
node2   10.5.5.22
node3   10.5.5.23

Apa yang akan kita lakukan?

  • Siapkan Server NTP dengan Chronysystemctl restart chrony
    systemctl aktifkan chrony
  • Unduh dan Instal CockroachDB
  • Buat Sertifikat
  • Inisialisasi Cluster CockroachDB
  • Tambahkan Node ke Cluster CockroachDB
  • Pengujian

Langkah 1 - Siapkan Server NTP dengan Chrony

Pertama, kita harus menjaga sinkronisasi waktu antar server di cluster. Jadi, kita perlu menginstal paket NTP di semua server. Dan untuk panduan ini, kita akan menggunakan chrony.

Instal paket chrony ke semua server menggunakan perintah berikut.

sudo apt install chrony -y

Setelah instalasi selesai, masuk ke direktori konfigurasi '/etc/chrony/' dan edit file 'chrony.conf'.

cd /etc/chrony/
vim chrony.conf

Hapus kumpulan NTP default dan ganti dengan kumpulan negara Anda sendiri.

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

Simpan dan tutup.

Sekarang restart layanan chrony dan kemudian tambahkan chrony ke layanan startup.

systemctl restart chrony
systemctl enable chrony

Akibatnya, waktu antar server akan disinkronkan ke server kumpulan NTP yang sama.

Langkah 2 - Unduh dan Instal CockroachDB

Pada langkah ini, kita akan mengunduh dan menginstal CockroachDB di semua server. Jadi, jalankan semua perintah di semua server cluster Anda.

Buat direktori baru bernama 'biner' dan masuk ke dalamnya.

mkdir -p binary; cd binary

Unduh file biner cockroachdb terkompresi untuk Linux dan ekstrak.

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

Sekarang salin file biner 'cockroach' ke direktori '/etc/local/bin'.

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

Setelah itu, Anda dapat menjalankan perintah 'cockroach' dan menjelajahi perintah dasar untuk bantuan, memeriksa versi dll.

cockroach version

CockroachDB telah diinstal di semua server.

Langkah 3 - Buat Sertifikat

Sekarang kita akan membuat beberapa sertifikat untuk mengamankan Cluster CockrouchDB. Kita dapat menggunakan OpenSSL atau baris perintah kecoa untuk menghasilkan file sertifikat.

Kami akan membuat sertifikat dan kunci CA, dan membuat sertifikat untuk root pengguna dan sertifikat untuk setiap node di cluster.

Buat direktori sertifikat '~/.cockroach-certs' dan variabel lingkungan untuknya.

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

Buat CA dan Salin ke Semua Node

Di server 'node1', buat otoritas sertifikat menggunakan perintah cockroach di bawah ini.

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

Dan Anda akan mendapatkan 'ca.key' dan 'ca.crt' di direktori '~/.cockroach-certs'.

Setelah itu copy ca certificate dan key ke semua server menggunakan perintah scp seperti di bawah ini.

Salin ke server 'node2'.

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

Salin ke server 'node3'.

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

Sekarang pastikan sertifikat dan kunci CA diunggah ke semua server host.

Buat Sertifikat Klien

Setelah membuat otoritas sertifikat, kita perlu membuat sertifikat klien. Sertifikat klien akan digunakan untuk mengamankan komunikasi antara shell SQL bawaan dan cluster.

Buat sertifikat klien di semua server menggunakan perintah cockroach berikut.

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

Dan Anda akan mendapatkan sertifikat klien untuk root pengguna 'client.root.crt' dan 'client.root.key'.

Buat Sertifikat Server

Sertifikat server akan digunakan untuk mengamankan komunikasi antar server di cluster CockroachDB. Dan untuk bergabung dengan cluster aman, Anda perlu membuat sertifikat server untuk setiap server.

Pada 'node1', buat sertifikat server menggunakan perintah berikut.

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

Ubah alamat IP dengan milik Anda.

Pada 'node2', buat sertifikat server menggunakan perintah berikut.

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

Ubah alamat IP dengan milik Anda.

Pada 'node3', buat sertifikat server menggunakan perintah berikut.

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

Ubah alamat IP dengan milik Anda.

Sekarang Anda akan mendapatkan sertifikat server 'node.crt' dan 'node.key' pada direktori '~/.cockroach-certs'.

Langkah 4 - Mulai Cluster CockroachDB Aman

Setelah membuat beberapa sertifikat SSL, kami akan menginisialisasi Secure CockroachDB Cluster dari server 'node1'.

Jalankan perintah berikut di server 'node1'.

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

Pastikan tidak ada kesalahan.

Setelah itu, periksa status node cluster dengan menjalankan perintah cockroach di bawah ini.

cockroach node status --host=10.5.5.21

Anda akan mendapatkan node1 dengan alamat IP 10.5.5.21 dan berjalan dengan CockroachDB v2.1.6.

Langkah 5 - Tambahkan Node ke Cluster

Selanjutnya, kita akan menambahkan 'node2' dan 'node3' ke kluster aman CockroachDB.

Pastikan CA dan sertifikat server ada di direktori ~/.cockroach-certs.

ls -lah ~/.cockroah-certs/

Sekarang jalankan perintah berikut untuk menambahkan 'node2' dengan alamat IP 10.5.5.22. Tambahkan ke 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:26257

Setelah selesai, buka 'node3' dan jalankan perintah berikut.

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

Ubah alamat IP dengan milik Anda.

Sekarang 'node2' dan 'node3' telah ditambahkan ke Secure CockroachDB Cluster. Periksa dari server 'node1' menggunakan perintah berikut.

cockroach node status --host=10.5.5.21

Dan Anda akan mendapatkan tiga server berbeda dan menjalankan kecoa v2.1.6.

Langkah 6 - Pengujian

Untuk langkah terakhir ini, kita akan menguji instalasi CockroachDB Secure Cluster kita dengan mengakses dashboard admin dan menguji replikasi database antar server.

Menguji Dashboard CockroachDB

CockroachDB menyediakan UI dasbor yang indah untuk memantau cluster. Buka browser web Anda dan ketik alamat IP server diikuti dengan port 8080.

https://10.5.5.21:8080/

Dan Anda akan mendapatkan halaman login CockroachDB seperti di bawah ini.

Untuk masuk ke dasbor, kita perlu membuat pengguna di database CockroachDB.

Kembali ke terminal 'node1' Anda dan masuk ke shell SQL cockroachdb menggunakan perintah berikut.

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

Sekarang buat pengguna baru bernama 'hakase' dengan sandi '[email protected]#' menggunakan kueri di bawah.

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

Ketik '\q' untuk keluar dari shell SQL CockroachDB.

Sekarang kembali ke browser web dan ketik pengguna 'hakase' dengan sandi '[email protected]#' pada halaman login dan klik tombol Login.

Dan Anda akan mendapatkan dashboard admin CockroachDB seperti di bawah ini.

Menguji Replikasi Basis Data

Sekarang kita akan menguji replikasi database antar server di CockroachDB Cluster dengan membuat database di 'node1' dan memeriksa database dari 'node2' atau 'node3'.

Pada 'node1', akses shell SQL CockroachDB menggunakan perintah berikut.

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

Buat dua database 'hakasedb' dan 'hakasedb2' menggunakan kueri di bawah ini.

create database hakasedb;
create database hakasedb2;

Sekarang cetak daftar database dan pastikan Anda mendapatkan dua database yang baru saja kita buat.

show databases;

Selanjutnya, login ke server 'node2' dan akses shell CockroachDB SQL menggunakan perintah berikut.

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

Periksa daftar database.

show databases;

Dan Anda akan mendapatkan 'hakasedb' dan 'hakasedb2' telah direplikasi ke server 'node2'.

Dan terakhir, instalasi dan konfigurasi Secure CockroachDB Cluster menggunakan Ubuntu 18.04 telah berhasil diselesaikan.


Ubuntu
  1. Cara menyebarkan Odoo 11 di Ubuntu 18.04

  2. Cara Menginstal MySQL di Ubuntu 18.04

  3. Cara Menyebarkan Rocket.Chat di Ubuntu 18.04

  1. Cara menggunakan Mattermost di Ubuntu 18.04

  2. Cara Mengatur Server OpenVPN di Ubuntu 18.04

  3. Cara menggunakan Odoo 12 di Ubuntu 18.04

  1. Cara Memasang Server Minecraft di Ubuntu 18.04

  2. Cara Menginstal Nginx di Ubuntu 20.04

  3. Cara Menginstal MariaDB di Ubuntu 20.04