HOS 2.1 ネットワークカスタマイズ付きCephインストール(5/8)

2016-01-23

HOS 2.1 ネットワークカスタマイズ付きCephインストール(5/8)

Machine-translated — the English original is authoritative.

Helion OpenStack 2.1 例のクラウドデプロイメント

いよいよデプロイメントを開始する時が来ました。

SSHキーにパスフレーズを設定しているため、Ansibleがクライアントノードに接続するたびにパスフレーズを入力する必要がないように、以下のコマンドを実行する必要があります(以前ブログで言及しましたが、この段階に到達するまでに数日かかり、接続が切れたり再起動したりを繰り返しました。そしてまたこれを行う必要があります 😉 ):

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

InstallC (1)

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

InstallC (2)

[回避策] – 現在、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

InstallC (4)

すべての設定が完了したので、以下のように変更をリポジトリにコミットする必要があります:

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

InstallC (5)

ベアメタルノードのプロビジョニング

以下のコマンドは、すべてのパスワードが正しいことと、構成ネットワーク(このシナリオでは管理ネットワーク)がIPMIネットワークと正しく通信していることを確認します。

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

InstallC (6)

HLM上でのCobblerのデプロイ

ノードに最初にアクセスするために使用されるパスワードの入力を求められます – [自分へのメモ:私は「helion」を使用しました]。

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

InstallC (7)

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

sudo cobbler system find --netboot-enabled=1

InstallC (8)

コンソールで直接作業していない場合は、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

再インストールの場合

InstallC (9)

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

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

InstallC (10)

InstallC (17)

次に、パブリックエンドポイントでTLSを設定するために自己署名証明書を作成します。

注:本番環境では、セキュリティ/PKIチームがこれを手配してくれるはずです。

~/helion/my_cloud/info/address_info.ymlファイルを確認して、パブリックエンドポイントのIPアドレスを取得します

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

次に、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

InstallC (22)

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

InstallC (23)

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

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)

これでついにクラウドをデプロイする準備が整いました

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

InstallC (26)

これらのサーバーは以前のデプロイメントで使用されたことがあるため、既存のすべてのドライブ構成を以下のように消去する必要があります:

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

計算ノードでいくつかの失敗が発生しますが、許容範囲です – それらには予備のドライブが割り当てられていません – OSドライブを消去すると、やり直しになるため 🙂

InstallC (28)

さて、クラウドデプロイメントを正式に開始しましょう

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

InstallC (29)

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

InstallC (45)

これはインストールが成功したように見えます。

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

← All posts