HOS 2.1 Installation de Ceph avec personnalisation du réseau (5 sur 8)

2016-01-23

HOS 2.1 Installation de Ceph avec personnalisation du réseau (5 sur 8)

Machine-translated — the English original is authoritative.

Il est maintenant temps de lancer le déploiement.

Comme j'ai protégé la clé SSH avec une phrase de passe, je dois exécuter les commandes suivantes pour éviter de devoir saisir la phrase de passe à chaque tentative de connexion d'Ansible aux nœuds clients (j'en ai parlé plus tôt dans le blog, mais il m'a fallu plusieurs jours, des déconnexions et des redémarrages pour en arriver là, et je dois le refaire 😉 ) :

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

InstallC (1)

Si HOS 2.1 se trouve derrière un pare-feu et qu'un serveur proxy est requis pour accéder à Internet, ajoutez les détails du proxy pour Sherpa comme suit :

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)

[WORKAROUND] – Il existe actuellement un problème avec le nom d'Elasticsearch qui nécessite de le modifier dans le fichier de configuration de la journalisation avant de poursuivre l'installation.

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

Si vous devez chiffrer vos mots de passe iLO, vous pouvez utiliser le script fourni dans un article de blog précédent qui chiffrera tous les mots de passe en une seule fois dans le fichier servers.xml comme suit :

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

InstallC (4)

Maintenant que toute la configuration est terminée, nous devons valider tous les changements dans le dépôt comme suit :

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

InstallC (5)

Approvisionnement des nœuds bare metal

La commande suivante vérifiera que tous les mots de passe sont corrects et que votre réseau de configuration (réseau de gestion dans ce scénario) communique correctement avec le réseau IPMI.

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

InstallC (6)

Déploiement de Cobbler sur le HLM

On vous demandera un mot de passe qui sera utilisé pour accéder initialement aux nœuds – [Note pour moi-même : j'ai utilisé « helion »].

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

InstallC (7)

Vérifiez la liste des nœuds qui vont être installés – vous ne devriez pas voir le déploiement/contrôleur1 dans cette liste.

sudo cobbler system find --netboot-enabled=1

InstallC (8)

Démarrez une session screen si vous ne travaillez pas directement sur la console –
Installez screen puis lancez-le comme suit

sudo apt-get install screen
screen
export HOS_USER_PASSWORD_ENCRYPT_KEY=SomeSecretKey

Comme j'ai utilisé une phrase de passe sur ma clé SSH, je dois exécuter les commandes suivantes pour éviter de devoir saisir la phrase de passe à plusieurs reprises.

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

Exécutez maintenant la commande suivante pour installer la base hLinux sur ces nœuds :

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

ou

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

s'il s'agit d'une réinstallation

InstallC (9)

Nous exécutons maintenant le processeur de configuration qui validera effectivement notre modèle.
Encore une fois, on nous demandera un mot de passe si nous souhaitons chiffrer les données sensibles traitées par cette étape. Je vais utiliser « H3lionhelion! » pour changer.

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

InstallC (10)

InstallC (17)

Nous allons maintenant créer un certificat auto-signé pour configurer TLS sur les points de terminaison publics.

Note : Dans une configuration de production, votre équipe de sécurité/PKI devrait pouvoir s'en charger pour vous.

Examinez le fichier ~/helion/my_cloud/info/address_info.yml pour obtenir l'adresse IP du point de terminaison public

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

Il est maintenant nécessaire de combiner le contenu de my-public-cert.key et my-public-cert.crt dans un seul fichier qui est utilisé par l'installateur HLM et de le copier dans ~/helion/my_cloud/config/tls/certs/

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

InstallC (22)

Modifiez le fichier network_groups.yml pour inclure cette nouvelle configuration TLS

InstallC (23)

Nous pouvons maintenant re-valider tout et relancer le processeur de configuration.
Note : J'ai également ajouté hos2.allthingscloud.eu à mon fichier /etc/hosts car je n'utilise pas de serveur DNS.

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)

Nous sommes enfin prêts à déployer le cloud

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

InstallC (26)

Comme ces serveurs ont été utilisés pour des déploiements précédents, je dois effacer toutes les configurations de disque existantes comme suit :

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

Nous obtenons quelques échecs pour les nœuds de calcul, ce qui est acceptable – ils n'ont aucun disque supplémentaire assigné – si je formatais le disque OS, je devrais recommencer 🙂

InstallC (28)

Lançons maintenant le déploiement du cloud à proprement parler

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

InstallC (29)

Je n'ai jamais vu cet avertissement auparavant – j'espère qu'il est sûr de l'ignorer – cela ressemble à un avertissement de bonne pratique d'Ansible …

InstallC (45)

Cela ressemble à une installation réussie.

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

← All posts