HOS 2.1 Ceph-Installation mit Netzwerk-Anpassung (5 von 8)
2016-01-23
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

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

[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

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"

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

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

Ü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

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

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


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

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

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

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.

cd ~/helion/hos/ansible
git add -A
git commit -m "Added TLS configuration"
ansible-playbook -i hosts/localhost config-processor-run.yml

Nun sind wir endlich bereit, die Cloud bereitzustellen
ansible-playbook -i hosts/localhost ready-deployment.yml

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 🙂

Nun starten wir die eigentliche Cloud-Bereitstellung
ansible-playbook -i hosts/verb_hosts site.yml --ask-vault-pass

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

Dies sieht nach einer erfolgreichen Installation aus.
Originally published on allthingscloud.eu (2016-01-23).