Ceph-dash je WSGI aplikace založená na frameworku Flask pro monitorování Ceph clusterů. Ke komunikaci s clusterem Ceph používá librada. Ceph-dash má pěkný dashboard, snadno se instaluje a má mnoho funkcí, včetně podpory InfluxDB a Graphite.
V tomto tutoriálu vám ukážu, jak nainstalovat Ceph-dash a nakonfigurovat jej tak, aby běžel pod webovým serverem Apache s podporou SSL a mod_auth. V prvním tutoriálu Ceph jsme již nainstalovali 'Ceph cluster', v tomto tutoriálu nakonfigurujeme ceph-dash na hostiteli monitoru 'mon1 ' tohoto nastavení.
Předpoklady
- Custer Ceph – Výukový program Ceph I
- Monitorovací uzel CentOS 7 – mon1
- Oprávnění uživatele root
Krok 1 – Instalace závislostí Ceph-dash
V tomto prvním kroku nainstalujeme závislosti potřebné pro ceph-dash, včetně webového serveru apache a mod_ssl.
Připojte se k uzlu mon1 z uzlu ceph-admin.
ssh mon1
Nainstalujte všechny potřebné závislosti pomocí příkazu yum.
sudo yum -y install httpd mod_wsgi mod_ssl git
Poté spusťte apache/httpd a přidejte jej, aby se spustil při startu.
sudo systemctl spustit httpd
sudo systemctl povolit httpd
Krok 2 – Stáhnout Ceph-dash
Ceph-dash je open source aplikace dostupná z úložiště github. Naklonujte úložiště do adresáře /var/www/.
cd /var/www/html/
klon git https://github.com/Crapworks/ceph-dash.git
Ve výchozím nastavení běží apache/httpd pod uživatelským jménem 'apache', takže musíme změnit vlastníka souborů a adresářů ceph-dash na uživatele 'apache'.
sudo chown -R /var/www/html/ceph-dash/
Krok 3 – Konfigurace virtuálního hostitele Apache pro Ceph-dash
Ceph-dash poskytuje ukázku konfigurace virtuálního hostitele pro Apache a Nginx v adresáři 'contrib'. Jako webový server pro Ceph-dash budeme používat apache, takže potřebujeme zkopírovat konfigurační soubor pro apache do adresáře apache/httpd.
cd /var/www/html/ceph-dash/
cp contrib/apache/cephdash /etc/httpd/conf.d/cephdash.conf
Přejděte do konfiguračního adresáře virtuálního hostitele a upravte soubor cephdash.conf.
cd /etc/httpd/conf.d/
vim cephdash.conf
Změňte hodnotu 'ServerName ' na název vaší domény – v mém případě ceph-mon.co
Změňte proces démona wsgi tak, aby se spouštěl jako apache uživatel.
Změňte adresář cephdash.wsgi na '/var/www/html/ceph-dash/contrib/wsgi/cephdash.wsgi' .
Změňte konfigurační adresář SSL na '/etc/httpd/ssl/ '.
Změňte adresář ceph-dash na '/var/www/html/ceph-dash “ a poté přidejte základní ověření konfigurace.
Níže je konfigurace.
ServerName ceph-mon.co
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/server-status
RewriteRule ^ /?(.*) https://%{HTTP_HOST}/$1 [R,L]
ServerName ceph- mon.co
WSGIDaemonProcess cephdash user=apache group=apache process=1 threads=5
WSGIScriptAlias / /var/www/html/ceph-dash/contrib/wsgi/cephdash.wsgi
WSGIPassAuthorization On
SSLEngine on
SSLCertificateFile /etc/httpd/ssl/ssl.crt
SSLCertificateKeyFile /etc/httpd/skeysl/s br />
WSGIProcessGroup cephdash
WSGIApplicationGroup %{GLOBAL}
Objednávka odepřít, povolit od všech
AuthType Basic
AuthName „Omezený obsah“
AuthUserFile /etc/apache2/.htpasswd
Vyžadovat platného uživatele
>
Uložte soubor a ukončete editor.
Krok 4 – Konfigurace SSL a Apache Basic Auth
V konfiguraci virtuálního hostitele jsme již definovali konfiguraci SSL v adresáři '/etc/httpd/ssl', takže tam musíme vytvořit certifikát a klíč SSL.
mkdir -p /etc/httpd/ssl/
Nyní vygenerujte soubor certifikátu SSL s vlastním podpisem pomocí příkazu OpenSSL.
openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout /etc/httpd/ssl/ssl.key -out \
/etc/httpd/ssl/ssl. crt
Změňte oprávnění souboru certifikátu na 600.
chmod 600 /etc/httpd/ssl/*
Dále přidejte základní auth Apache pomocí příkazu htpasswd níže pro ochranu přístupu Ceph-dash heslem.
htpasswd -c /etc/httpd/htpasswd hakase
Zadejte své heslo:
hakase je uživatelské jméno, které jsem zvolil.
Pokud je vše hotovo, otestujte konfigurační soubor Apache pomocí příkazu apachectl a ujistěte se, že výsledek je „Syntaxe OK ', poté restartujte apache.
apachectl configtest
sudo systemctl restart httpd
Krok 5 – Přidání portu HTTP a HTTPS do brány firewall
Na monitorovacím uzlu 'mon1 ', firewall je povolen. Musíme otevřít nový port pro připojení http a https, abychom měli přístup k Ceph-dash z webového prohlížeče.
Přidejte port http a https do firewallu pomocí příkazu firewall-cmd.
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --zone=public --add-port=443/tcp --permanentZnovu načtěte konfiguraci brány firewall.
sudo firewall-cmd --reload
Krok 6 – Testování
Otevřete webový prohlížeč a do adresního řádku zadejte doménu ceph-mon.co (použijte název domény, který jste zvolili pro instalaci ceph-dash), stiskněte enter.
Budete požádáni o uživatelské jméno a heslo, zadejte své uživatelské jméno a heslo, které jste použili v souboru htpasswd.
Nyní můžete vidět řídicí panel Ceph-dash.
Stav zdraví clusteru, stav monitoru uzlu, stav uzlů OSD.
Stav úložiště a PG.
Ceph-dash byl nainstalován pod apache webový server na monitorovacím uzlu 'mon1 '.
Cent OS