Ansibleで味わう
Helion OpenStack
日本ヒューレット・パッカード株式会社
Helion Professional Services
塚本 正隆(@tsukaman)
Feb 23rd, 2017 / LT @ Ansible Practice Meetup
2
みなさん
をご存知ですか?
3
から始まるプレゼンを
前にやってるので
知らない人はそっちを
まず見てください
4
Ansibleでインストール!
新生Helion OpenStack!!
http://bit.ly/160525_HLM
5
動画もあるよ
https://youtu.be/gg_tHKAZQ1U
6
このプレゼンで
Helion OpenStackを
インストールする
ものとして紹介したのが
7
HLM
8
HOSインストーラー
HPE Helion Lifecycle Manager
9
HOSのライフサイクルマネージャー
HPE Helion Lifecycle Manager
10
HPE HLMの特徴
–HLMはインストールだけを行うものにあらず!
–クラウドの再構成
–アップグレードやアップデート、パッチやホットフィックスの適用
–ノードへのサービスの追加
–ノードの追加や削除
–メンテナンスの為のノードのオフライン化 などなど
–柔軟で拡張性の高いクラウド環境を容易に管理できる!
–みんな大好きAnsibleを活用することで作業の効率化を実現
–YAMLで構成を定義し、そこからPlaybookを生成して利用
10
11
インストールの大まかな流れ
–HPE Helion OpenStack 4.0 Docs:
https://docs.hpcloud.com/hos-4.x/
–インストールの大まかな流れ
1. ハードウェア基本設定(iLO/IPMI、BIOS、時刻(UTC)、WoL、PXE等)
2. OpenStack構成に準じた物理ネットワークの設定やDNS/NTPなどの準備
3. HLM(HPE Linux)のインストール
4. Helion Lifecycle Managerの初期展開
5. Example構成定義ファイル(ymlファイル)のコピー/編集と保存(git commit)
6. 物理ホストのプロビジョニング(ansible)
7. Configuration Processorの実行(ansible)
8. OpenStack環境の展開(ansible)
11
12
インストール 実行例
$ sudo mount <HelionOpenStack-4.0.1.iso> /media/cdrom
$ tar xvf /media/cdrom/hos/hos-4.0.1-20161110T130634Z.tar
$ ~/hos-4.0.1/hos-init.bash
$ cd ~/helion/my_cloud/definition
$ cp -r ~/helion/examples/entry-scale-kvm-vsa/* .
$ vi cloudConfig.yml data/*.yml
$ cd ~/helion/hos/ansible
$ git add –A
$ git commit -m "COMMIT MESSAGE“
$ ansible-playbook -i hosts/localhost cobbler-deploy.yml
$ ansible-playbook -i hosts/localhost bm-reimage.yml
$ ansible-playbook -i hosts/localhost config-processor-run.yml
$ ansible-playbook -i hosts/localhost ready-deployment.yml
$ cd ~/scratch/ansible/next/hos/ansible
$ ansible-playbook -i hosts/verb_hosts site.yml
12
13
Ansibleが活躍しているところ
$ sudo mount <HelionOpenStack-4.0.1.iso> /media/cdrom
$ tar xvf /media/cdrom/hos/hos-4.0.1-20161110T130634Z.tar
$ ~/hos-4.0.1/hos-init.bash
$ cd ~/helion/my_cloud/definition
$ cp -r ~/helion/examples/entry-scale-kvm-vsa/* .
$ vi cloudConfig.yml data/*.yml
$ cd ~/helion/hos/ansible
$ git add –A
$ git commit -m "COMMIT MESSAGE“
$ ansible-playbook -i hosts/localhost cobbler-deploy.yml
$ ansible-playbook -i hosts/localhost bm-reimage.yml
$ ansible-playbook -i hosts/localhost config-processor-run.yml
$ ansible-playbook -i hosts/localhost ready-deployment.yml
$ cd ~/scratch/ansible/next/hos/ansible
$ ansible-playbook -i hosts/verb_hosts site.yml
13
14
それぞれが
なにをしているか?
15
Ansibleが活躍しているところ
$ sudo mount <HelionOpenStack-4.0.1.iso> /media/cdrom
$ tar xvf /media/cdrom/hos/hos-4.0.1-20161110T130634Z.tar
$ ~/hos-4.0.1/hos-init.bash
$ cd ~/helion/my_cloud/definition
$ cp -r ~/helion/examples/entry-scale-kvm-vsa/* .
$ vi cloudConfig.yml data/*.yml
$ cd ~/helion/hos/ansible
$ git add –A
$ git commit -m "COMMIT MESSAGE“
$ ansible-playbook -i hosts/localhost cobbler-deploy.yml
$ ansible-playbook -i hosts/localhost bm-reimage.yml
$ ansible-playbook -i hosts/localhost config-processor-run.yml
$ ansible-playbook -i hosts/localhost ready-deployment.yml
$ cd ~/scratch/ansible/next/hos/ansible
$ ansible-playbook -i hosts/verb_hosts site.yml
15
16
hos-init.bash
HLMの初期セットアップスクリプト
なんかいろいろええ感じに
作ったりしてくれたあと消えます
17
Ansibleが活躍しているところ
$ sudo mount <HelionOpenStack-4.0.1.iso> /media/cdrom
$ tar xvf /media/cdrom/hos/hos-4.0.1-20161110T130634Z.tar
$ ~/hos-4.0.1/hos-init.bash
$ cd ~/helion/my_cloud/definition
$ cp -r ~/helion/examples/entry-scale-kvm-vsa/* .
$ vi cloudConfig.yml data/*.yml
$ cd ~/helion/hos/ansible
$ git add –A
$ git commit -m "COMMIT MESSAGE“
$ ansible-playbook -i hosts/localhost cobbler-deploy.yml
$ ansible-playbook -i hosts/localhost bm-reimage.yml
$ ansible-playbook -i hosts/localhost config-processor-run.yml
$ ansible-playbook -i hosts/localhost ready-deployment.yml
$ cd ~/scratch/ansible/next/hos/ansible
$ ansible-playbook -i hosts/verb_hosts site.yml
17
18
cobbler-deploy.yml
各ノードをプロビジョニング
するためになんかいろいろ
ええ感じに作ったりしてくれます
19
bm-reimage.yml
各ノードをなんかいろいろ
ええ感じにプロビジョニング
してくれます
20
config-processor-run.yml
定義内容をなんかいろいろ
ええ感じに検証したり
保持する情報をまとめてくれます
2121
22
ready-deployment.yml
各ファイルをなんかいろいろ
ええ感じにデプロイ用の
ディレクトリに配置してくれます
23
Ansibleが活躍しているところ
$ sudo mount <HelionOpenStack-4.0.1.iso> /media/cdrom
$ tar xvf /media/cdrom/hos/hos-4.0.1-20161110T130634Z.tar
$ ~/hos-4.0.1/hos-init.bash
$ cd ~/helion/my_cloud/definition
$ cp -r ~/helion/examples/entry-scale-kvm-vsa/* .
$ vi cloudConfig.yml data/*.yml
$ cd ~/helion/hos/ansible
$ git add –A
$ git commit -m "COMMIT MESSAGE“
$ ansible-playbook -i hosts/localhost cobbler-deploy.yml
$ ansible-playbook -i hosts/localhost bm-reimage.yml
$ ansible-playbook -i hosts/localhost config-processor-run.yml
$ ansible-playbook -i hosts/localhost ready-deployment.yml
$ cd ~/scratch/ansible/next/hos/ansible
$ ansible-playbook -i hosts/verb_hosts site.yml
23
24
site.yml
なんかいろいろええ感じに
OpenStackをデプロイ
してくれます
25
インストールだけ?
26
hlm-stop.yml
なんかいろいろええ感じに
OpenStackをGracefulに
停止してくれます
27
hlm-start.yml
なんかいろいろええ感じに
OpenStackをGracefulに
開始してくれます
28
hlm-status.yml
なんかいろいろええ感じに
OpenStackの各サービスが
動いているか教えてくれます
29
nova-reconfigure.yml
なんかいろいろええ感じに
Novaさんの設定変更を
してくれます
30
このへんのPlaybookは
各サービス毎のも
用意してます
31
ふむふむ
ほかには?
32
percona-bootstrap.yml
なんかいろいろええ感じに
Percona(MySQLクラスタ)の
起動をしてくれます
33
vsalm-configure-cluster.yml
なんかいろいろええ感じにVSA
(Virtual Storage Appliance)
クラスタの設定をしてくれます
34
なんでAnsibleの
Playbookでやるの?
35
なんかノード
いっぱいあるし
3636
3737
38
Enterprise Gradeな
OpenStackですからね!
39
冪等性
大活躍
40
とまぁ
そんなわけで
41
便利なPlaybookさんが
だいたい500個ほど
あるわけです。
42
\ ドヤァッ /
( *`ω´)
43
各作業で何の
Playbookを使うかは
44
https://docs.hpcloud.com/
45
にいろいろと
ドキュメントが
置いてあります
46
え?
47
もっとHOSで
Ansibleと
キャッキャウフフしたい?
48
Helion OpenStack
買っちゃえばいいんじゃ
ないかな・・・?
49
もしくは・・・
50
ウチくる!?
Thank you
Helion Professional Services
塚本 正隆 (@tsukaman)
クラウドやろうぜ!
We are hiring!

Ansibleで味わうHelion OpenStack