Maklumat lanjut tentang Clustercontrol
https://docs.severalnines.com/docs/clustercontrol/getting-started/next-generation-of-clustercontrols-web-application/
1. Pastikan masa dan tarikh pada GMT local server.
timedatectl set-timezone "Asia/Kuala_Lumpur" |
* contoh * timedatectl set-time 02:12:35
2. Pasangkan software packages yang diperlukan
# Ubuntu
apt install podman buildah git etckeeper |
# Centos Streams / AlmaLinux / RockyLinux
dnf install -y buildah podman git podman-docker etckeeper |
Tarik image ClusterControl
podman pull severalnines/clustercontrol
podman image ls
### Mula ### Ini untuk simpanan sejarah sahaja
### Untuk Ubuntu pasang podman buildah dan git. Pastikan Ubuntu versi 20.04 dan ke atas
### https://linoxide.com/how-to-install-podman-on-ubuntu-20-04/
Untuk Ubuntu 22.04, podman boleh dipasang secara terus
# Ubuntu
apt install podman buildah git etckeeper |
# Centos Streams / AlmaLinux / RockyLinux
dnf install -y buildah podman git podman-docker etckeeper |
3. Buat direktori yang sesuai. Biasanya dalam $HOME username ada sudo
mkdir clustercontrol |
Sekiranya mahu jalankan semula Pod clustercontrol daripada asal (full reset) namakan direktori sedia ada kepada nama sesuai
pastikan yourpassword tukarkan kepada password yang bersesuaian (tukarkan backupsebelumdelete)
mv /clustercontrol /backupsebelumdelete |
Contoh
mv /clustercontrol /clustercontrol-backup-20220229 |
4. Dapatkan source clustercontrol
git clone https://github.com/severalnines/docker |
5. Bina Pod dengan buildah
cd docker/ |
(dot at the end of command - meaning current directory)
buildah bud -f Dockerfile -t severalnines/clustercontrol . |
Sekiranya tidak mahu build dalam host, boleh tarik terus dari docker.io
===>
https://www.how2shout.com/linux/how-to-install-podman-on-ubuntu-22-04-lts-jammy-linux/
edit /etc/containers/registries.conf
[registries.search]
registries=["registry.access.redhat.com", "registry.fedoraproject.org", "docker.io"]
#===> run this
podman info |
### Akhir ### Ini untuk simpanan sejarah sahaja
6. Konfigurasi sebelum jalankan Pod Custercontrol
salin root dan pentadbir atau yang berkaitan cert ssh daripada server ini ke semua mariadb node.
Gunakan pentadbir atau berkaitan untuk ssh gunakan SSH certs
Gunakan arahan ssh-copy-id ke server-server lain bagi membolehkan SSH dijalankan dalam scripts tanpa masukkan password.
Pastikan semua ID sama dan ID itu mempunyai keupayaan sudo.
7. Sediakan ruang simpan data clustercontrol
Buat direktori ini, ini akan digunakan untuk menyimpan data. Pastikan dalam mount point yang mempunyai ruang yang besar contoh ini menggunakan mount point /storage :-
mkdir -p /storage/clustercontrol |
8. Sediakan passwordless SSH dengan SSH certs
Jangan dilakukan ini jika rerun Pod. Ia akan rosakkan konfigurasi SSH Certs asal. Terus jalankan Pod dengan arahan podman run pada arahan seterusnya.
Salin rsa_key.pub server servercontrol pentadbir (yang berkaitan) kepada direktori yang username root podman pod servercontrol, sekali sahaja. Ini akan dibaca oleh pod berkenaan apabila bermula. Dalam contoh ini adalah /storage/clustercontrol/sshkey
Apabila menggunakan Podman SSH keys berdasarkan user yang anda gunakan. Dalam contoh ini saya menjalankan podman dalam root, maka podman akan rujuk sshnya sebagai di direktori /root/.ssh/
cd /storage/clustercontrol/sshkey (buat backup id_rsa dan id_rsa.pub)
cp /home/pentadbir/.ssh/id_rsa* /storage/clustercontrol/sshkey |
# ini jika rerun balik clustercontrol, perlu buat salinan backup sebelum jalankan kerja ini.
cp backupsebelumdelete /storage/clustercontrol/sshkey |
9. Jalankan Pod ClusterControl dengan arahan berikut
Pastikan yourpassword tukarkan kepada password yang bersesuaian (jika perlu) Jika tiada diberikan, clustercontrol akan janakan sendiri
===> Jalankan podman untuk clustercontrol
===> Gantikan IP dalam contoh ini 192.168.0.10 dengan IP, HOST server podman/clustercontrol dan jalan dengan arahan ini
podman run -d --privileged --restart on-failure --name clustercontrol \ |
Periksa proses dengan arahan
podman ps -a |
10. Buat Capaian melalui Web Browser (contohnya Mozilla Firefox)
Tunggu dalam lebih 5 minit untuk podman mulakan pod
Melalui web gui Web browser https://192.168.0.10:5001/ perlu dibuat dahulu untuk aktifkan setting.
===> Web Access - Contoh
https://192.168.0.10:5001/ (v1)
https://192.168.0.10:9443/ (v2) Elasticsearch
Jika pertama kali run V2 capai dahulu https://192.168.0.10:19501/ untuk “allow” melalui browser. Jika tidak dibuat, login akan gagal.
11. Salin SSH Certs kepada semua nodes yang Clustercontrol hendak kawal
Pastikan semua nodes dalam /etc/hosts dan /etc/cloud/template/host.redhat.tpl (jika gunakan cloudinit) ada. Gantikan Ip Address dengan alamat IP, base server servercontrol.
ipaddress clustercontrol (Contoh)
192.168.0.10 clustercontrol
Buat salinan ssh-copyid ke semua hosts (pentadbir atau yang berkaitan) termasuk dalam container
12. Terminal Pod Clustercontrol
Arahan ini adalah untuk mendapatkan terminal untuk Pod clustercontrol
podman exec -it clustercontrol /bin/bash |
(ia dalam podman container)
Pastikan /etc/hosts dalam podman container sama dengan /etc/hosts dalam host server.
Maklumat untuk Web GUi ClusterControl
ssh user pentadbir (sekiranya username SSH antara hosts adalah pentadbir. Tukarkan ikut kesesuaian)
ssh key dir /root/.ssh
sudo password adalah pentadbir atau yang bersesuaian.
13. Untuk stop dan restart Pod Clustercontrol
untuk stop podman pod, dapatkan container id dahulu..
podman ps -a |
Kemudian ...
podman stop containerid |
Untuk mula semula gunakan podman start containerid
14. Untuk Elasticsearch gunakan Web Gui V2
Sebelum menjalankan pemasangan elasticsearch, pastikan sharing directory yang nama sama telah dibuat. Sama ada NFS atau GlusterFS
Rujukan
https://severalnines.com/download-clustercontrol-database-management-system
https://severalnines.com/docs/user-guide/ui.html#import-existing-server-cluster
https://severalnines.com/docs/installation.html
https://severalnines.com/product/clustercontrol/clustercontrol-community-edition
https://severalnines.com/download-clustercontrol-database-management-system
https://severalnines.com/database-blog/clustercontrol-docker
https://blog.carroarmato0.be/2020/05/08/exposing-podman-container-on-the-network/
https://severalnines.com/clustercontrol
https://docs.severalnines.com/docs/clustercontrol/
Docker Image used by Podman
https://github.com/severalnines/docker
19 Feb 2022 V 1
26 Oct 2022 V 2 - Untuk Elasticsearch
5 Ogos 2023 V 2.1
LinuxMalaysia
http://blog.harisfazillah.info
Simpanan pelbagai nota-nota saya https://t.me/linuxmalaysiamy
Perancangan Latihan 3-tier
https://docs.google.com/document/d/1ZNgl1TbHpwdcoJ9UzBk82UVwJLP4IGm1h2pL89XzUfw/edit?usp=sharing