HOS 2.1 Installazione di Ceph con personalizzazione della rete (5 di 8)

2016-01-23

HOS 2.1 Installazione di Ceph con personalizzazione della rete (5 di 8)

Machine-translated — the English original is authoritative.

È ora di iniziare il deployment.

Avendo protetto la chiave SSH con una passphrase, devo eseguire i seguenti comandi per evitare di dover inserire la passphrase ad ogni tentativo di connessione di Ansible ai nodi client (ne ho già parlato in precedenza in questo blog, ma mi sono voluti diversi giorni, disconnessioni e riavvii per arrivare a questo punto del post e devo rifarlo 😉 ):

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

InstallC (1)

Se HOS 2.1 si trova dietro un firewall ed è necessario un server proxy per accedere a Internet, aggiungere i dettagli del proxy per Sherpa come segue:

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] – Attualmente è presente un problema con il nome di Elasticsearch che richiede di modificarlo nel file di configurazione del logging prima di procedere con l'installazione.

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

Se è necessario crittografare le password iLO, è possibile utilizzare lo script fornito in un precedente blog che crittogherà tutte le password contemporaneamente nel file servers.xml come segue:

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

InstallC (4)

Ora che tutta la configurazione è completa, dobbiamo impegnare (commit) tutte le modifiche nel repository come segue:

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

InstallC (5)

Provisioning dei nodi bare metal

Il comando seguente verificherà che tutte le password siano corrette e che la rete di configurazione (in questo scenario la rete di gestione) comunichi correttamente con la rete IPMI.

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

InstallC (6)

Deploy di Cobbler sull'HLM

Verrà richiesta una password che verrà utilizzata per accedere inizialmente ai nodi – [Nota per me stesso: ho usato “helion”].

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

InstallC (7)

Verificare l'elenco dei nodi che verranno installati – non si dovrebbe vedere il deployer/controller1 in questo elenco.

sudo cobbler system find --netboot-enabled=1

InstallC (8)

Iniziare una sessione screen se non si sta lavorando direttamente sulla console –
Installare screen e quindi eseguirlo come segue

sudo apt-get install screen
screen
export HOS_USER_PASSWORD_ENCRYPT_KEY=SomeSecretKey

Perché ho usato una passphrase sulla mia chiave SSH, devo eseguire i seguenti comandi per evitare di dover digitare ripetutamente la passphrase.

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

Ora eseguire il comando seguente per installare la base hLinux su questi nodi:

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

oppure

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

se si tratta di una reinstallazione

InstallC (9)

Ora eseguiamo il processore di configurazione che convaliderà efficacemente il nostro modello.
Ancora una volta, se desideriamo crittografare i dati sensibili elaborati da questo passaggio, ci verrà richiesta una password. Userò ‘H3lionhelion!’ per cambiare un po'.

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

InstallC (10)

InstallC (17)

Ora creeremo un certificato self-signed per configurare TLS sugli endpoint pubblici.

Nota: In un ambiente di produzione, il team Security/PKI dovrebbe potersi occupare di questo per te.

Esaminare il file ~/helion/my_cloud/info/address_info.yml per ottenere l'indirizzo IP dell'endpoint pubblico

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

Ora è necessario combinare i contenuti di my-public-cert.key e my-public-cert.crt in un unico file che viene utilizzato dall'installer HLM e copiarlo in ~/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)

Modificare il file network_groups.yml per includere questa nuova configurazione TLS

InstallC (23)

Ora possiamo impegnare nuovamente tutto e rieseguire il processore di configurazione.
Nota: Ho anche aggiunto hos2.allthingscloud.eu al mio file /etc/hosts poiché non sto utilizzando un server 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)

Ora siamo finalmente pronti a deployare la cloud

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

InstallC (26)

Poiché questi server sono stati utilizzati per deployment precedenti, devo cancellare tutte le configurazioni dei dischi esistenti come segue:

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

Si ottengono alcuni fallimenti per i nodi compute, il che è accettabile – non hanno dischi extra assegnati – se cancellassi il disco OS dovrei ricominciare 🙂

InstallC (28)

Ora avviamo il vero e proprio deployment della cloud

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

InstallC (29)

Non ho mai visto questo avviso prima – speriamo sia sicuro ignorarlo – sembra un avviso sulle best practice di Ansible …

InstallC (45)

Questo sembra un'installazione riuscita.

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

← All posts