HOS 2.1 Instalación de Ceph con personalización de red (5 de 8)
2016-01-23
Machine-translated from English. Read the English original
Es hora de comenzar el despliegue.
Como he protegido la clave SSH con una frase de contraseña, necesito ejecutar los siguientes comandos para evitar tener que introducir la frase de contraseña en cada intento de conexión de Ansible a los nodos cliente (he mencionado esto anteriormente en el blog, pero me ha llevado varios días, desconexiones y reinicios llegar a este punto del blog y necesito hacerlo de nuevo 😉 ):
eval $(ssh-agent)
ssh-add ~/.ssh/id_rsa

Si HOS 2.1 está detrás de un firewall y se requiere un servidor proxy para acceder a Internet, añada los detalles del proxy para Sherpa de la siguiente manera:
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

[SOLUCIÓN ALTERNATIVA] – Actualmente hay un problema con el nombre de Elasticsearch que requiere que lo cambie en el archivo de configuración de registro antes de continuar con la instalación.
sed -i "s/default='elasticsearch'/default='bananas'/" ~/helion/hos/ansible/roles/logging-common/defaults/main.yml
Si necesita cifrar sus contraseñas de iLO, puede utilizar el script proporcionado en un blog anterior que cifrará todas las contrasezas a la vez en el archivo servers.xml de la siguiente manera:
export HOS_USER_PASSWORD_ENCRYPT_KEY=SomeSecretKey
python hosencryptfile.py -fe ~/helion/my_cloud/definition/data/servers.yml

Ahora que toda la configuración está completa, necesitamos confirmar todos los cambios en el repositorio de la siguiente manera:
cd ~/helion/hos/ansible
git add -A
git commit -m "Basic cloud model updates configured"

Provisionamiento de los nodos bare metal
El siguiente comando verificará que todas las contraseñas son correctas y que su red de configuración (red de gestión en este escenario) se comunica correctamente con la red IPMI.
export HOS_USER_PASSWORD_ENCRYPT_KEY=SomeSecretKey
ansible-playbook -i hosts/localhost bm-power-status.yml

Despliegue de Cobbler en el HLM
Se le pedirá una contraseña que se utilizará para acceder inicialmente a los nodos – [Nota para mí mismo: utilicé “helion”].
ansible-playbook -i hosts/localhost cobbler-deploy.yml

Verifique la lista de nodos que se van a construir – no debería ver el deployer/controller1 en esta lista.
sudo cobbler system find --netboot-enabled=1

Inicie una sesión de screen si no está trabajando directamente en la consola –
Instale screen y luego ejecútelo de la siguiente manera
sudo apt-get install screen
screen
export HOS_USER_PASSWORD_ENCRYPT_KEY=SomeSecretKey
Como he utilizado una frase de contraseña en mi clave SSH, necesito ejecutar los siguientes comandos para evitar tener que escribir la frase de contraseña repetidamente.
eval $(ssh-agent)
ssh-add ~/.ssh/id_rsa
Ahora ejecute el siguiente comando para instalar la base hLinux en estos nodos:
cd ~/helion/hos/ansible
ansible-playbook -i hosts/localhost bm-reimage.yml
o
ansible-playbook -i hosts/localhost bm-reimage.yml -e nodelist=all
si es una reinstalación

Ahora ejecutamos el procesador de configuración que validará efectivamente nuestro modelo.
Una vez más, se nos pedirá una contraseña si deseamos cifrar los datos sensibles procesados por este paso. Utilizaré ‘H3lionhelion!’ por cambio.
cd ~/helion/hos/ansible
ansible-playbook -i hosts/localhost config-processor-run.yml


Ahora crearemos un certificado autofirmado para configurar TLS en los puntos de conexión públicos.
Nota: En una configuración de producción, su equipo de Seguridad/PKI debería poder organizar esto por usted.
Examine el archivo ~/helion/my_cloud/info/address_info.yml para obtener la dirección IP del punto de conexión público

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
Ahora es necesario combinar el contenido de my-public-cert.key y my-public-cert.crt en un único archivo que es utilizado por el instalador HLM y copiarlo en ~/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

Modifique el archivo network_groups.yml para incluir esta nueva configuración TLS

Ahora podemos confirmar todo y volver a ejecutar el procesador de configuración.
Nota: También he añadido hos2.allthingscloud.eu a mi archivo /etc/hosts ya que no estoy utilizando un servidor DNS.

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

Ahora estamos finalmente listos para desplegar la nube
ansible-playbook -i hosts/localhost ready-deployment.yml

Como estos servidores se han utilizado para despliegues anteriores, necesito borrar todas las configuraciones de disco existentes de la siguiente manera:
ansible-playbook -i hosts/verb_hosts wipe_disks.yml --ask-vault-pass
Obtenemos algunos fallos para los nodos de cómputo, lo cual es aceptable – no tienen unidades adicionales asignadas – si borro la unidad del sistema operativo, tendría que empezar de nuevo 🙂

Ahora iniciemos el despliegue de la nube propiamente dicho
ansible-playbook -i hosts/verb_hosts site.yml --ask-vault-pass

Nunca he visto esta advertencia antes – espero que sea seguro ignorarla – parece una advertencia de las mejores prácticas de Ansible …

Esto parece una instalación exitosa.
Originally published on allthingscloud.eu (2016-01-23).