HOS 2.1 Instalación de Ceph con personalización de red (5 de 8)

2016-01-23

HOS 2.1 Instalación de Ceph con personalización de red (5 de 8)

Machine-translated from English. Read the English original

# Despliegue de ejemplo de la nube Helion OpenStack 2.1

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

InstallC (1)

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

InstallC (2)

[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

InstallC (4)

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"

InstallC (5)

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

InstallC (6)

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

InstallC (7)

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

InstallC (8)

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

InstallC (9)

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

InstallC (10)

InstallC (17)

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

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

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

InstallC (22)

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

InstallC (23)

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.

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)

Ahora estamos finalmente listos para desplegar la nube

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

InstallC (26)

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 🙂

InstallC (28)

Ahora iniciemos el despliegue de la nube propiamente dicho

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

InstallC (29)

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

InstallC (45)

Esto parece una instalación exitosa.

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

← All posts