51
Ansibleで味わう Helion OpenStack 日本ヒューレット・パッカード株式会社 Helion Professional Services 塚本 正隆(@tsukamanFeb 23 rd , 2017 / LT @ Ansible Practice Meetup

Ansibleで味わうHelion OpenStack

Embed Size (px)

Citation preview

Page 1: Ansibleで味わうHelion OpenStack

Ansibleで味わうHelion OpenStack日本ヒューレット・パッカード株式会社Helion Professional Services塚本正隆(@tsukaman)Feb 23rd, 2017 / LT @ Ansible Practice Meetup

Page 2: Ansibleで味わうHelion OpenStack

2

みなさん

をご存知ですか?

Page 3: Ansibleで味わうHelion OpenStack

3

から始まるプレゼンを前にやってるので

知らない人はそっちをまず見てください

Page 4: Ansibleで味わうHelion OpenStack

4

Ansibleでインストール!新生Helion OpenStack!!http://bit.ly/160525_HLM

Page 5: Ansibleで味わうHelion OpenStack

5

動画もあるよ

https://youtu.be/gg_tHKAZQ1U

Page 6: Ansibleで味わうHelion OpenStack

6

このプレゼンでHelion OpenStackをインストールする

ものとして紹介したのが

Page 7: Ansibleで味わうHelion OpenStack

7

HLM

Page 8: Ansibleで味わうHelion OpenStack

8

HOSインストーラー

HPE Helion Lifecycle Manager

Page 9: Ansibleで味わうHelion OpenStack

9

HOSのライフサイクルマネージャー

HPE Helion Lifecycle Manager

Page 10: Ansibleで味わうHelion OpenStack

10

HPE HLMの特徴

–HLMはインストールだけを行うものにあらず!–クラウドの再構成–アップグレードやアップデート、パッチやホットフィックスの適用–ノードへのサービスの追加–ノードの追加や削除–メンテナンスの為のノードのオフライン化 などなど

–柔軟で拡張性の高いクラウド環境を容易に管理できる!–みんな大好きAnsibleを活用することで作業の効率化を実現–YAMLで構成を定義し、そこからPlaybookを生成して利用

10

Page 11: Ansibleで味わうHelion OpenStack

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

Page 12: Ansibleで味わうHelion OpenStack

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

Page 13: Ansibleで味わうHelion OpenStack

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

Page 14: Ansibleで味わうHelion OpenStack

14

それぞれがなにをしているか?

Page 15: Ansibleで味わうHelion OpenStack

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

Page 16: Ansibleで味わうHelion OpenStack

16

hos-init.bashHLMの初期セットアップスクリプト

なんかいろいろええ感じに作ったりしてくれたあと消えます

Page 17: Ansibleで味わうHelion OpenStack

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

Page 18: Ansibleで味わうHelion OpenStack

18

cobbler-deploy.yml各ノードをプロビジョニングするためになんかいろいろ

ええ感じに作ったりしてくれます

Page 19: Ansibleで味わうHelion OpenStack

19

bm-reimage.yml各ノードをなんかいろいろ

ええ感じにプロビジョニングしてくれます

Page 20: Ansibleで味わうHelion OpenStack

20

config-processor-run.yml定義内容をなんかいろいろ

ええ感じに検証したり保持する情報をまとめてくれます

Page 21: Ansibleで味わうHelion OpenStack

2121

Page 22: Ansibleで味わうHelion OpenStack

22

ready-deployment.yml各ファイルをなんかいろいろええ感じにデプロイ用の

ディレクトリに配置してくれます

Page 23: Ansibleで味わうHelion OpenStack

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

Page 24: Ansibleで味わうHelion OpenStack

24

site.ymlなんかいろいろええ感じに

OpenStackをデプロイしてくれます

Page 25: Ansibleで味わうHelion OpenStack

25

インストールだけ?

Page 26: Ansibleで味わうHelion OpenStack

26

hlm-stop.ymlなんかいろいろええ感じにOpenStackをGracefulに

停止してくれます

Page 27: Ansibleで味わうHelion OpenStack

27

hlm-start.ymlなんかいろいろええ感じにOpenStackをGracefulに

開始してくれます

Page 28: Ansibleで味わうHelion OpenStack

28

hlm-status.ymlなんかいろいろええ感じにOpenStackの各サービスが

動いているか教えてくれます

Page 29: Ansibleで味わうHelion OpenStack

29

nova-reconfigure.ymlなんかいろいろええ感じにNovaさんの設定変更を

してくれます

Page 30: Ansibleで味わうHelion OpenStack

30

このへんのPlaybookは各サービス毎のも

用意してます

Page 31: Ansibleで味わうHelion OpenStack

31

ふむふむほかには?

Page 32: Ansibleで味わうHelion OpenStack

32

percona-bootstrap.ymlなんかいろいろええ感じに

Percona(MySQLクラスタ)の起動をしてくれます

Page 33: Ansibleで味わうHelion OpenStack

33

vsalm-configure-cluster.ymlなんかいろいろええ感じにVSA(Virtual Storage Appliance)クラスタの設定をしてくれます

Page 34: Ansibleで味わうHelion OpenStack

34

なんでAnsibleのPlaybookでやるの?

Page 35: Ansibleで味わうHelion OpenStack

35

なんかノードいっぱいあるし

Page 36: Ansibleで味わうHelion OpenStack

3636

Page 37: Ansibleで味わうHelion OpenStack

3737

Page 38: Ansibleで味わうHelion OpenStack

38

Enterprise GradeなOpenStackですからね!

Page 39: Ansibleで味わうHelion OpenStack

39

冪等性大活躍

Page 40: Ansibleで味わうHelion OpenStack

40

とまぁそんなわけで

Page 41: Ansibleで味わうHelion OpenStack

41

便利なPlaybookさんがだいたい500個ほどあるわけです。

Page 42: Ansibleで味わうHelion OpenStack

42

\ ドヤァッ /( *`ω´)

Page 43: Ansibleで味わうHelion OpenStack

43

各作業で何のPlaybookを使うかは

Page 44: Ansibleで味わうHelion OpenStack

44

https://docs.hpcloud.com/

Page 45: Ansibleで味わうHelion OpenStack

45

にいろいろとドキュメントが置いてあります

Page 46: Ansibleで味わうHelion OpenStack

46

え?

Page 47: Ansibleで味わうHelion OpenStack

47

もっとHOSでAnsibleと

キャッキャウフフしたい?

Page 48: Ansibleで味わうHelion OpenStack

48

Helion OpenStack買っちゃえばいいんじゃ

ないかな・・・?

Page 49: Ansibleで味わうHelion OpenStack

49

もしくは・・・

Page 50: Ansibleで味わうHelion OpenStack

50

ウチくる!?

Page 51: Ansibleで味わうHelion OpenStack

Thank youHelion Professional Services塚本正隆 (@tsukaman)

クラウドやろうぜ!We are hiring!