HOS 2.1 ネットワークカスタマイズ付きCephインストール(5/8)
2016-01-23
Machine-translated — the English original is authoritative.
Helion OpenStack 2.1 例のクラウドデプロイメント
いよいよデプロイメントを開始する時が来ました。
SSHキーにパスフレーズを設定しているため、Ansibleがクライアントノードに接続するたびにパスフレーズを入力する必要がないように、以下のコマンドを実行する必要があります(以前ブログで言及しましたが、この段階に到達するまでに数日かかり、接続が切れたり再起動したりを繰り返しました。そしてまたこれを行う必要があります 😉 ):
eval $(ssh-agent)
ssh-add ~/.ssh/id_rsa

HOS 2.1がファイアウォールの背後にあり、インターネットにアクセスするためにプロキシサーバーが必要な場合、Sherpaのプロキシ詳細を以下のように追加します:
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

[回避策] – 現在、Elasticsearchの名前に問題があり、インストールを続ける前にログ設定ファイルでそれを変更する必要があります。
sed -i "s/default='elasticsearch'/default='bananas'/" ~/helion/hos/ansible/roles/logging-common/defaults/main.yml
iLOパスワードを暗号化する必要がある場合、以前の記事ブログで提供されているスクリプトを使用して、servers.xmlファイル内のすべてのパスワードを以下のように一度に暗号化できます:
export HOS_USER_PASSWORD_ENCRYPT_KEY=SomeSecretKey
python hosencryptfile.py -fe ~/helion/my_cloud/definition/data/servers.yml

すべての設定が完了したので、以下のように変更をリポジトリにコミットする必要があります:
cd ~/helion/hos/ansible
git add -A
git commit -m "Basic cloud model updates configured"

ベアメタルノードのプロビジョニング
以下のコマンドは、すべてのパスワードが正しいことと、構成ネットワーク(このシナリオでは管理ネットワーク)がIPMIネットワークと正しく通信していることを確認します。
export HOS_USER_PASSWORD_ENCRYPT_KEY=SomeSecretKey
ansible-playbook -i hosts/localhost bm-power-status.yml

HLM上でのCobblerのデプロイ
ノードに最初にアクセスするために使用されるパスワードの入力を求められます – [自分へのメモ:私は「helion」を使用しました]。
ansible-playbook -i hosts/localhost cobbler-deploy.yml

ビルドされるノードのリストを確認します – デプロイヤー/コントローラー1はこのリストに表示されてはいけません。
sudo cobbler system find --netboot-enabled=1

コンソールで直接作業していない場合は、screenセッションを開始します –
screenをインストールし、以下のように実行します
sudo apt-get install screen
screen
export HOS_USER_PASSWORD_ENCRYPT_KEY=SomeSecretKey
SSHキーにパスフレーズを使用しているため、パスフレーズを繰り返し入力する必要がないように、以下のコマンドを実行する必要があります。
eval $(ssh-agent)
ssh-add ~/.ssh/id_rsa
次に、以下のコマンドを実行して、これらのノードにベースのhLinuxをインストールします:
cd ~/helion/hos/ansible
ansible-playbook -i hosts/localhost bm-reimage.yml
または
ansible-playbook -i hosts/localhost bm-reimage.yml -e nodelist=all
再インストールの場合

次に、構成プロセッサを実行します。これは本質的にモデルを検証します。
再び、このステップで処理される機密データを暗号化したい場合、パスワードの入力を求められます。今回は'H3lionhelion!'を使用します。
cd ~/helion/hos/ansible
ansible-playbook -i hosts/localhost config-processor-run.yml


次に、パブリックエンドポイントでTLSを設定するために自己署名証明書を作成します。
注:本番環境では、セキュリティ/PKIチームがこれを手配してくれるはずです。
~/helion/my_cloud/info/address_info.ymlファイルを確認して、パブリックエンドポイントのIPアドレスを取得します

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
次に、my-public-cert.keyとmy-public-cert.crtの内容を1つのファイルに結合し、それをHLMインストーラーで使用します。~/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

network_groups.ymlファイルを変更して、この新しいTLS構成を含めます

これで、すべてを再コミットし、構成プロセッサを再実行できます。
注:DNSサーバーを使用していないため、hos2.allthingscloud.euを/etc/hostsファイルにも追加しました。

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

これでついにクラウドをデプロイする準備が整いました
ansible-playbook -i hosts/localhost ready-deployment.yml

これらのサーバーは以前のデプロイメントで使用されたことがあるため、既存のすべてのドライブ構成を以下のように消去する必要があります:
ansible-playbook -i hosts/verb_hosts wipe_disks.yml --ask-vault-pass
計算ノードでいくつかの失敗が発生しますが、許容範囲です – それらには予備のドライブが割り当てられていません – OSドライブを消去すると、やり直しになるため 🙂

さて、クラウドデプロイメントを正式に開始しましょう
ansible-playbook -i hosts/verb_hosts site.yml --ask-vault-pass

この警告は今まで見たことがありません – 無視して安全であることを願っています – Ansibleのベストプラクティスに関する警告のように見えます …

これはインストールが成功したように見えます。
Originally published on allthingscloud.eu (2016-01-23).