Ansibleで味わうHelion OpenStack

Preview:

Citation preview

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.bashHLMの初期セットアップスクリプト

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

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 youHelion Professional Services塚本正隆 (@tsukaman)

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

Recommended