HOS 2.1 Ceph-Installation mit Netzwerk-Anpassung (5 von 8)

2016-01-23

HOS 2.1 Ceph-Installation mit Netzwerk-Anpassung (5 von 8)

Machine-translated — the English original is authoritative.

Jetzt ist es an der Zeit, mit der Bereitstellung zu beginnen.

Da ich den SSH-Schlüssel mit einer Passphrase geschützt habe, muss ich die folgenden Befehle ausführen, um zu vermeiden, dass ich bei jedem Verbindungsversuch von Ansible mit den Client-Knoten die Passphrase eingeben muss (ich habe dies bereits früher in diesem Blog erwähnt, aber es hat mich mehrere Tage, Trennungen und Neustarts gekostet, bis ich zu diesem Punkt im Blog gelangt bin, und ich muss es erneut tun 😉):

eval $(ssh-agent)
ssh-add ~/.ssh/id_rsa

InstallC (1)

Falls HOS 2.1 hinter einer Firewall steht und ein Proxy-Server erforderlich ist, um auf das Internet zuzugreifen, fügen Sie die Proxy-Details für Sherpa wie folgt hinzu:

sed -i 's$sherpa_http_proxy$http://172.16.1.5:8080$' ~/helion/my_cloud/config/sherpa/sherpa.conf.j2
sed -i 's$sherpa_https_proxy$http://172.16.1.5:8080$' ~/helion/my_cloud/config/sherpa/sherpa.conf.j2
sed -i 's$sherpa_no_proxy$localhost$' ~/helion/my_cloud/config/sherpa/sherpa.conf.j2

InstallC (2)

[ARBEITSLÖSUNG] – Derzeit gibt es ein Problem mit dem Elasticsearch-Namen, das erfordert, dass Sie dies in der Protokollierungskonfigurationsdatei ändern, bevor Sie mit der Installation fortfahren.

sed -i "s/default='elasticsearch'/default='bananas'/" ~/helion/hos/ansible/roles/logging-common/defaults/main.yml

Falls Sie Ihre iLO-Passwörter verschlüsseln müssen, können Sie das Skript verwenden, das in einem früheren Blog bereitgestellt wurde, das alle Passwörter gleichzeitig in der Datei servers.xml verschlüsselt, wie folgt:

export HOS_USER_PASSWORD_ENCRYPT_KEY=SomeSecretKey
python hosencryptfile.py -fe ~/helion/my_cloud/definition/data/servers.yml

InstallC (4)

Nun, da alle Konfigurationen abgeschlossen sind, müssen wir alle Änderungen wie folgt in das Repository übernehmen:

cd ~/helion/hos/ansible
git add -A
git commit -m "Basic cloud model updates configured"

InstallC (5)

Bereitstellung der Bare-Metal-Knoten

Der folgende Befehl überprüft, ob alle Passwörter korrekt sind und ob Ihr Konfigurationsnetzwerk (in diesem Szenario das Management-Netzwerk) korrekt mit dem IPMI-Netzwerk kommuniziert.

export HOS_USER_PASSWORD_ENCRYPT_KEY=SomeSecretKey
ansible-playbook -i hosts/localhost bm-power-status.yml

InstallC (6)

Bereitstellung von Cobbler auf dem HLM

Sie werden nach einem Passwort gefragt, das zunächst zum Zugriff auf die Knoten verwendet wird – [Hinweis an mich selbst: Ich habe „helion“ verwendet].

ansible-playbook -i hosts/localhost cobbler-deploy.yml

InstallC (7)

Überprüfen Sie die Liste der Knoten, die erstellt werden sollen – Sie sollten den Deployer/Controller1 in dieser Liste nicht sehen.

sudo cobbler system find --netboot-enabled=1

InstallC (8)

Starten Sie eine Screen-Sitzung, falls Sie nicht direkt an der Konsole arbeiten –
Installieren Sie screen und führen Sie es wie folgt aus

sudo apt-get install screen
screen
export HOS_USER_PASSWORD_ENCRYPT_KEY=SomeSecretKey

Weil ich einen Passphrase für meinen SSH-Schlüssel verwendet habe, muss ich die folgenden Befehle ausführen, um zu vermeiden, dass ich die Passphrase wiederholt eingeben muss.

eval $(ssh-agent)
ssh-add ~/.ssh/id_rsa

Führen Sie nun den folgenden Befehl aus, um das Basis-hLinux auf diesen Knoten zu installieren:

cd ~/helion/hos/ansible
ansible-playbook -i hosts/localhost bm-reimage.yml

oder

ansible-playbook -i hosts/localhost bm-reimage.yml -e nodelist=all

falls es sich um eine Neuinstallation handelt

InstallC (9)

Nun führen wir den Konfigurationsprozessor aus, der unser Modell effektiv validiert.
Auch hier werden wir nach einem Passwort gefragt, falls wir die von diesem Schritt verarbeiteten sensiblen Daten verschlüsseln möchten. Ich werde der Reihe nach ‚H3lionhelion!‘ verwenden.

cd ~/helion/hos/ansible
ansible-playbook -i hosts/localhost config-processor-run.yml

InstallC (10)

InstallC (17)

Nun erstellen wir ein selbstsigniertes Zertifikat, um TLS auf den öffentlichen Endpunkten zu konfigurieren.

Hinweis: In einer Produktionsumgebung sollte Ihr Security-/PKI-Team dies für Sie organisieren können.

Betrachten Sie die Datei ~/helion/my_cloud/info/address_info.yml, um die IP-Adresse des öffentlichen Endpunkts zu erhalten

InstallC (18)

openssl req -nodes -newkey rsa:2048 -keyout my-public-cert.key -out my-public-cert.csr -text -subj '/C=US/O=Helion Test Certificate/CN=hos2.allthingscloud.eu/emailaddress=admin@ficticious.org/'

cat > v3_ext.cnf << *EOF*
[ v3_req ]
subjectAltName=DNS:hos2.allthingscloud.eu,DNS:172.16.61.5, IP:172.16.61.5
*EOF*

openssl x509 –days 365 -extfile v3_ext.cnf -extensions v3_req -in my-public-cert.csr -signkey my-public-cert.key -req -text -out my-public-cert.crt

Nun ist es erforderlich, den Inhalt von my-public-cert.key und my-public-cert.crt in einer einzigen Datei zu kombinieren, die vom HLM-Installer verwendet wird, und diese nach ~/helion/my_cloud/config/tls/certs/ zu kopieren.

cat my-public-cert.key my-public-cert.crt > allthingscloud-certs
cp allthingscloud-certs ~/helion/my_cloud/config/tls/certs/allthingscloud-certs

InstallC (22)

Ändern Sie die Datei network_groups.yml, um diese neue TLS-Konfiguration aufzunehmen

InstallC (23)

Nun können wir alles erneut übernehmen und den Konfigurationsprozessor erneut ausführen.
Hinweis: Ich habe hos2.allthingscloud.eu auch zu meiner /etc/hosts-Datei hinzugefügt, da ich keinen DNS-Server verwende.

InstallC (24)

cd ~/helion/hos/ansible
git add -A
git commit -m "Added TLS configuration"

ansible-playbook -i hosts/localhost config-processor-run.yml

InstallC (56)

Nun sind wir endlich bereit, die Cloud bereitzustellen

ansible-playbook -i hosts/localhost ready-deployment.yml

InstallC (26)

Da diese Server für frühere Bereitstellungen verwendet wurden, muss ich alle vorhandenen Laufwerkskonfigurationen wie folgt löschen:

ansible-playbook -i hosts/verb_hosts wipe_disks.yml --ask-vault-pass

Wir erhalten ein paar Fehler für die Compute-Knoten, was akzeptabel ist – sie haben keine freien Laufwerke zugewiesen – wenn ich das OS-Laufwerk löschen würde, müsste ich wieder von vorne beginnen 🙂

InstallC (28)

Nun starten wir die eigentliche Cloud-Bereitstellung

ansible-playbook -i hosts/verb_hosts site.yml --ask-vault-pass

InstallC (29)

Ich habe diese Warnung noch nie zuvor gesehen – hoffentlich ist es sicher, sie zu ignorieren – es sieht aus wie eine Ansible-Best-Practice-Warnung …

InstallC (45)

Dies sieht nach einer erfolgreichen Installation aus.

Originally published on allthingscloud.eu (2016-01-23).

← All posts