Portainer¶
Einrichtung der Proxy-Weiterleitung für Portainer auf Managed Server¶
Wenn Sie einen Managed Server mit Managed Docker mit Portainer bestellt haben, können Sie das Webinterface von Portainer mit dieser Anleitung aufrufbar machen. Für die Einrichtung eines Proxys gehen Sie im Endkundenmenü nach
Subdomains => Übersicht
Dort legen Sie entweder eine neue Subdomain an oder wählen eine vorhandene Subdomain aus. Mit Klick auf die Aktion Ziel können Sie den Proxy Eintrag vornehmen.
Wir empfehlen den Proxyzugriff durch ein Passwort zu schützen. Setzen Sie hierfür den Haken bei Proxyzugriff nur mit Passwort. Bei .htusers-Datei geben Sie den Pfad zu der .htusers-Datei an. Wenn Sie keine .htusers-Datei haben, muss diese erst erstellt werden.
Die .htusers-Datei können Sie durch Einrichten eines Verzeichnisschutzes im Webverzeichnis der Subdomain erstellen. Eine Anleitung dazu finden Sie hier:
Einrichten eines Verzeichnisschutzes
Alternativ kann auf unseren Managed Servern diese auch über die Shell erzeugt werden, wenn Sie sich über SSH als Benutzer anmelden. Rufen Sie hierfür die htpasswd Binärdatei auf:
/usr/local/pd-admin2/httpd-2.4/bin/htpasswd -c ~/.htuser <user>
Anstelle von <user> zum Schluss geben Sie den gewünschten Benutzernamen an. Danach werden Sie aufgefordert das Passwort zu setzen.
Als Ziel für Ihre Subdomain geben Sie https://<private IP Adresse>:9443/ an und setzen den Haken bei Proxy-Eintrag für URL-Ziel anstatt Redirect anlegen. Die private IP Adresse wird Ihnen in der Begrüßungsmail mitgeteilt.
Mit Klick auf OK ist die Einrichtung des Proxys abgeschlossen und Sie können den Dienst über die gewählte Subdomain aufrufen.
OpenSearch und OpenSearch Dashboards mit Portainer installieren¶
Diese Anleitung beschreibt die Installation von OpenSearch 3.8.0 und OpenSearch Dashboards 3.8.0 ausschließlich über die Portainer-Weboberfläche.
Voraussetzungen¶
Für die Installation benötigen Sie:
- Zugriff auf die Portainer-Weboberfläche
In den folgenden Beispielen wird 10.0.68.15 als IP-Adresse des
Docker-Hosts verwendet. Verwenden Sie die IP-Adresse, die Ihnen für Ihre
Umgebung bereitgestellt wurde.
OpenSearch installieren¶
Öffnen Sie in Portainer:
Containers → Add container
Container¶
Tragen Sie folgende Werte ein:
Name:
opensearch
Image:
opensearchproject/opensearch:3.8.0
Port veröffentlichen¶
Veröffentlichen Sie folgenden Port:
Host IP: 10.0.68.15
Host Port: 9200
Container Port: 9200
Protocol: TCP
Host IP: 10.0.68.15
Host Port: 9600
Container Port: 9600
Protocol: TCP
Dadurch ist OpenSearch über die angegebene interne IP-Adresse erreichbar.
Umgebungsvariablen¶
Öffnen Sie unter Advanced container settings den Bereich Env und
fügen Sie folgende Variablen hinzu:
discovery.type=single-node
OPENSEARCH_INITIAL_ADMIN_PASSWORD=<SICHERES_ADMIN_PASSWORT>
OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m
Wichtig
Ersetzen Sie <SICHERES_ADMIN_PASSWORT> durch ein ausreichend starkes
Passwort und bewahren Sie dieses sicher auf.
Volumes¶
Für diese Installation werden keine zusätzlichen Volumes konfiguriert.
Unter Volumes ist daher kein zusätzlicher Eintrag erforderlich.
OpenSearch prüfen¶
Öffnen Sie in Portainer:
Containers → opensearch
Der Container muss den Status running besitzen.
Öffnen Sie anschließend Logs. Der Start ist erfolgreich, wenn keine
schwerwiegenden Fehlermeldungen angezeigt werden und OpenSearch vollständig
initialisiert wurde.
Die OpenSearch-API ist anschließend erreichbar unter:
https://10.0.68.15:9200
Passwort des technischen Dashboards-Benutzers ändern¶
Die OpenSearch-Demo-Konfiguration verwendet für die interne Kommunikation mit
OpenSearch Dashboards den reservierten Benutzer kibanaserver. Das
mitgelieferte Demo-Passwort sollte nicht weiterverwendet werden. Vor der
Installation von OpenSearch Dashboards wird deshalb ein eigenes, sicheres
Passwort für kibanaserver gesetzt.
Öffnen Sie in Portainer:
Containers → opensearch → Console
Verbinden Sie sich mit:
/bin/bash
Wechseln Sie in das Security-Verzeichnis und erstellen Sie eine Sicherung:
cd /usr/share/opensearch/config/opensearch-security
cp internal_users.yml internal_users.yml.bak
Passwort-Hash erzeugen¶
Erzeugen Sie für das gewünschte Passwort einen neuen Hash:
OPENSEARCH_JAVA_HOME=/usr/share/opensearch/jdk \
/usr/share/opensearch/plugins/opensearch-security/tools/hash.sh \
-p '<SICHERES_DASHBOARDS_PASSWORT>'
Kopieren Sie den ausgegebenen Hash und setzen Sie ihn in eine Variable:
NEW_HASH='<AUSGEGEBENER_HASH>'
Ersetzen Sie anschließend ausschließlich den Passwort-Hash des Benutzers
kibanaserver:
sed -i "/^kibanaserver:/,/^[^[:space:]]/ s#^[[:space:]]*hash: .*# hash: \"${NEW_HASH}\"#" \
internal_users.yml
Kontrollieren Sie die Änderung:
grep -n -A4 '^kibanaserver:' internal_users.yml
Benutzerkonfiguration übernehmen¶
Laden Sie anschließend nur die geänderte Benutzerkonfiguration in OpenSearch:
cd /usr/share/opensearch/plugins/opensearch-security/tools
OPENSEARCH_JAVA_HOME=/usr/share/opensearch/jdk \
./securityadmin.sh \
-f /usr/share/opensearch/config/opensearch-security/internal_users.yml \
-t internalusers \
-icl \
-nhnv \
-cacert /usr/share/opensearch/config/root-ca.pem \
-cert /usr/share/opensearch/config/kirk.pem \
-key /usr/share/opensearch/config/kirk-key.pem
Bei erfolgreicher Übernahme erscheint unter anderem:
SUCC: Configuration for 'internalusers' created or updated
Done with success
Optional kann das neue Passwort direkt im OpenSearch-Container geprüft werden:
curl -k -u kibanaserver:'<SICHERES_DASHBOARDS_PASSWORT>' \
https://localhost:9200/_plugins/_security/authinfo?pretty
Wichtig
kibanaserver ist ausschließlich für die interne Kommunikation zwischen
OpenSearch Dashboards und OpenSearch vorgesehen. Für die Anmeldung an der
Weboberfläche wird weiterhin der Benutzer admin verwendet.
OpenSearch Dashboards installieren¶
Nachdem OpenSearch erfolgreich gestartet wurde, öffnen Sie erneut:
Containers → Add container
Container¶
Name:
opensearch-dashboards
Image:
opensearchproject/opensearch-dashboards:3.8.0
Port veröffentlichen¶
Host IP: 10.0.68.15
Host Port: 5601
Container Port: 5601
Protocol: TCP
Umgebungsvariablen¶
Öffnen Sie unter Advanced container settings den Bereich Env und
fügen Sie folgende Variablen hinzu:
OPENSEARCH_HOSTS=["https://10.0.68.15:9200"]
OPENSEARCH_SSL_VERIFICATIONMODE=none
OPENSEARCH_USERNAME=kibanaserver
OPENSEARCH_PASSWORD=<SICHERES_DASHBOARDS_PASSWORT>
OPENSEARCH_SSL_VERIFICATIONMODE=none ist für diese Installation
vorgesehen, solange OpenSearch mit dem bereitgestellten selbstsignierten
Zertifikat betrieben wird.
Volumes¶
Für OpenSearch Dashboards werden ebenfalls keine zusätzlichen Volumes konfiguriert.
OpenSearch Dashboards prüfen¶
Öffnen Sie in Portainer:
Containers → opensearch-dashboards
Der Container muss den Status running besitzen.
Öffnen Sie anschließend Logs.
Ein erfolgreicher Start ist unter anderem an folgender Meldung erkennbar:
Server running at http://0.0.0.0:5601
Die Weboberfläche ist anschließend erreichbar unter:
http://10.0.68.15:5601
Die Anmeldung erfolgt mit:
Benutzer: admin
Passwort: <OPENSEARCH_INITIAL_ADMIN_PASSWORD>
Reverse Proxy für OpenSearch Dashboards¶
OpenSearch Dashboards kann über einen Proxy-Eintrag auf einem anderen Host im gleichen privaten Netzwerk erreichbar gemacht werden.
Die Weiterleitung erfolgt dabei auf die private IP-Adresse und den Port von OpenSearch Dashboards:
Reverse Proxy
|
v
http://10.0.68.15:5601
|
v
OpenSearch Dashboards
Eine allgemeine Anleitung zur Einrichtung einer Proxy-Weiterleitung finden Sie unter:
Einrichtung der Proxy-Weiterleitung für Portainer auf Managed Server
Als Ziel-Adresse verwenden Sie die private IP-Adresse des Servers sowie den Port von OpenSearch Dashboards. In diesem Beispiel lautet die Ziel-Adresse:
http://10.0.68.15:5601/
Beispielkonfiguration:
Subdomain: opensearch-dash.test20000.de
Ziel: http://10.0.68.15:5601/
Testindex über OpenSearch Dashboards¶
Nach der Anmeldung können Sie die Funktion von OpenSearch direkt über die Weboberfläche testen.
Öffnen Sie in OpenSearch Dashboards Dev Tools.
Testindex erstellen¶
PUT test-index
{
"settings": {
"number_of_shards": 1,
"number_of_replicas": 0
}
}
Für eine Single-Node-Installation wird number_of_replicas auf 0
gesetzt.
Testdokument schreiben¶
POST test-index/_doc/1?refresh=true
{
"message": "OpenSearch funktioniert",
"status": "OK"
}
Testdokument auslesen¶
GET test-index/_search
Die Antwort sollte das zuvor angelegte Testdokument enthalten.
Indexstatus prüfen¶
GET _cat/indices?v
Der Index test-index sollte bei dieser Single-Node-Konfiguration den
Status green besitzen.