openstackで自動化ツールを使ってみた!(ubuntu maas 1.7 対応版)

61
OpenStackで自動化ツール を使ってみた! Ubuntu MAAS 1.7 対応版) 日本仮想化技術株式会社 VitrualTech.jp たまおき のぶゆき オープンソースカンファレンス 2015 Tokyo/Spring

Upload: virtualtech-japan-inc

Post on 16-Jul-2015

1.006 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

OpenStackで自動化ツールを使ってみた!

(Ubuntu MAAS 1.7 対応版)

日本仮想化技術株式会社

VitrualTech.jp

たまおきのぶゆき

オープンソースカンファレンス 2015 Tokyo/Spring

Page 2: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

自己紹介

• 玉置伸行(たまおきのぶゆき)– [email protected]

– twitter.com/ntamaoki

– facebook.com/ntamaoki

• 日本仮想化技術株式会社 2013/8 -

– エンタープライズクラウド事業部

• OpenStackの価値を伝える

– ThinkITでOpenStackディストリビューション8社比較記事を企画

• エンタープライズクラスのクラウド基盤構築の検討支援

• 日本オラクル株式会社 – 2013/7

2

イントロダクション

Page 3: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

日本仮想化技術株式会社概要

• 社名:日本仮想化技術株式会社– 英語名:VirtualTech Japan Inc.– 略称:日本仮想化技術/VTJ

• 設立:2006年12月• 資本金:2,000万円• 売上高:1億3,000万円(2013年7月期)• 本社:東京都渋谷区渋谷1-8-1• 取締役:宮原徹(代表取締役社長兼CEO)• 伊藤宏通(取締役CTO)• スタッフ:9名(うち、8名が仮想化技術専門エンジニアです)• URL:http://VirtualTech.jp/• 仮想化技術に関する研究および開発

– 仮想化技術に関する各種調査– 仮想化技術に関連したソフトウェアの開発– 仮想化技術を導入したシステムの構築– OpenStackの導入支援・新規機能開発

ベンダーニュートラルな独立系仮想化技術のエキスパート集団

3

イントロダクション

Page 4: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

導入・移行

仮想化環境構築をトータルサポート

設計

• 戦略立案– コスト削減、社内標準化、将来プランのコンサルティング

• 設計

– 要求仕様の策定

– サーバ、ストレージからネットワークまでアプリケーションまで考慮した設計最適化

– キャパシティプランニング(ベンチマーク)

• 導入

– 仮想化ソリューションパッケージの提供

– 仮想化統合(P2V既存環境移行)

• 運用保守

– エンジニア教育

– 技術サポートの提供

– OSSソースコードレベルサポート

運用保守

ベンダーニュートラルなワンストップ・サポートをご提供4

戦略立案

イントロダクション

Page 5: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

OpenStackへの貢献

• 開発

– Nova bare-metal

provisioning

– DiskImage Builder

– Bug fixes in various

projects

• イベント企画・運営

• ドキュメント公開

5

Stackalytics – VirtualTech’s contributions

Commit 数は 120

OpenStack最新情報セミナー

イントロダクション

Page 6: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

EnterpriseCloud.jp

• OpenStackで始めるエンタープライズクラウドの情報サイト

• OpenStack導入手順書のダウンロード

– 年間1,000ダウンロード

• セミナー資料

• OpenStack環境構築ノウハウ

6

イントロダクション

Page 7: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

本日お話ししたいこと

• OpenStack で自動化ツールについて

– OpenStack で使用する自動化ツールについてのおさらい

• OpenStack で自動化ツールを使ってみた!

– Ubuntu MAAS を使って仮想マシンに Ubuntu やCentOS をプロビジョニングしてみます

7

プレゼンテーションの目的

Page 8: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

OPENSTACKの自動化ツールについて

OpenStack で使用する自動化ツールについてのおさらい

8

Page 9: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

OpenStack + 自動化ツールについての質問

• OpenStack を使ったことがありますか?

• OpenStack 環境を構築したことがありますか?

• 自動化ツールを使ったことがありますか?

– プロビジョニングツール

– オーケストレーションツール

• 自動化ツールを使って OpenStack を使ったことがありますか?

9

Page 10: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

二人の登場人物

10

Page 11: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

はじまりはいつも思いつき

11

Page 12: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

のぞみはすぐにはかなわない

12

Page 13: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

のぞみがすぐにかなう(クラウドならね)

13

Page 14: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

クラウド化のメリット(開発者視点)

• すぐに始められる

• 増設するのが容易(スケールアップというよりはスケールアウト)– 小さく始めて大きく育てる

– 利用状況を見ながらリソースを調達できる

• 自動化ツールを組み合わせて– 開発環境やテスト環境をあっというまに構築できる

– 閾値を設定してオートスケールする仕組みを作れる

– CI/CDを組み合わせて継続的に開発/デリバリーできる

• モバイルやビックデータなどの新領域のアプリに適している

14

OpenStack の自動化ツール

Page 15: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

運用者の悩みは深い

15

Page 16: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

クラウドといっても

16

Page 17: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

プロビジョニングツール

17

Page 18: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

オーケストレーションツール

18

Page 19: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

自動化のメリット(運用担当者視点)

• 数百台や数千台のサーバを運用するには自動化技術は必須

• 業務の自動化による運用コストの削減は願ったり叶ったり

• 業務の見直しによる業務効率の向上は良い

– 自動化技術の採用による、業務の高速化や業務の省力化をやりたい

– 業務範囲の見直しや属人化の排除に繋がるとなお良い

19

OpenStack の自動化ツール

Page 20: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

20

Page 21: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

プロビジョニングツールの選択

• OpenStack TripleO

– HP Helion や Red Hat で採用

• Ubuntu MAAS

• Crowbar

• Cobbler

21

OpenStack の自動化ツール

Page 22: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

MAAS

Ubuntu MAAS

MAAS:Metal as a Service

物理マシンプロビジョニング

物理サーバも仮想サーバも一

元管理

プロビジョニングをコマンド

やREST APIで提供

1

3

2

Page 23: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

MAAS の管理画面①

23

Ubuntu MAAS

Page 24: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

MAAS の管理画面②

24

Ubuntu MAAS

Page 25: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

筐体の一括登録も可能 (*1)

複数の電源管理方式に対応 (*2)

サブネット単位でDHCP/PXE 管理

複数サブネットを一元管理

MAAS アーキテクチャー

25

* 1. SeaMicro, UCS, libvirt* 2. IPMI, UCS Manager,

iLO4, Moonshot iLO, Intel AMT, SeaMicro 15k, libvirt, etc.

Ubuntu MAAS

Page 26: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

MAASの動作イメージ

26

Server MAAS User

Power-on, DHCP, PXE-boot

Boot image, Power-off電源管理情報検出 Enlist

Power-on

DHCP, PXE-boot

Boot image, Power-offインベントリ情報取得Commissioning

Declared

Ready

Request a machinePower-on

DHCP, PXE-boot

Deploy platform

Installed successfullyReturn a machine

運用中

Allocated

Ubuntu MAAS

Page 27: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

MAAS API

• RESTful

• GET / POST / PUT / DELETE

• http://<maas-controller>/MAAS

– /api/1.0/<object>/<path>/?op=<operation>&<param>=<value>&…

• object: account, maas, networks, nodegroups, nodes, node, tags, users, zone, etc.

• 使用例:– GET /api/1.0/nodes/?op=list # MAAS 登録ノード一覧取得

– GET /api/1.0/nodes/{system_id}/ # ノード情報取得

– PUT /api/1.0/nodes/{system_id}/ # ノード情報更新

– GET /api/1.0/tags/?op=list # タグ一覧取得

– POST /api/1.0/tags/?op=new&name=‘Neutron’ # 新規タグ追加

– POST /api/1.0/nodes/{system_id}/?op=start # ノード電源オン

– GET /api/1.0/nodes/?op=list_allocated # 使用中ノード一覧取得

– POST /api/1.0/nodes/{system_id}/?op=stop # ノード電源オフ

– DELETE /api/1.0/nodes/{system_id}/ # ノード削除27

Ubuntu MAAS

Page 28: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

運用オペレーション(例)

• 初期化

$ juju bootstrap –e maas

• OpenStack 環境構築

$ juju-deployer –c openstack.yml –e maas

• ノード増設

– サーバー電源オン

• Web コンソール

– http://<maas-controller>/MAAS

• ノード タグ付け

$ maas login <profile> http://<maas-controller>/MAAS <apikey>

$ maas <profile> update-nodes <tag> add=<system_id>

• 等々

28

Ubuntu MAAS

Page 29: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

まとめ:Ubuntu MAAS

• 物理マシンプロビジョニング

– Ubuntu、CentOS、Windows OS対応

• プロビジョニングをコマンドやREST APIで提供

– 独自処理をスクリプト呼び出しで対応

• 大量のサーバを一元管理するためにベアメタルプロビジョニングをやるには最適

29

Ubuntu MAAS

Page 30: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

自動化ツールを使ってみた!

Ubuntu MAAS を使って仮想マシンに Ubuntu や CentOS をプロビジョニングしてみます

30

Page 31: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

作業ステップの説明

MAAS環境の構築

1. KVM サーバのインストール

2. KVM 管理用クライアントのインストール

3. MAAS サーバのインストール

4. MAAS のセットアップ

5. 物理サーバのセットアップ

6. 仮想サーバのセットアップ

MAAS 環境での仮想サーバのプロビジョニング

1. Ubuntu Server のプロビジョニング

2. CentOS のプロビジョニング

31

MAAS 環境の構築

Page 32: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

環境の説明①

32

KVMサーバ192.168.1.10

ルーター192.168.1.1

外部ネットワーク

KVM管理クライアント

192.168.1.2

MAAS

サーバ192.168.1.20

KVM

仮想サーバ1192.168.1.31

仮想サーバ2192.168.1.32

MAAS 環境の構築

Page 33: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

環境の説明②• KVM サーバ

– KVM を使用し、MAAS サーバや仮想サーバを稼働

– 本当は物理サーバで試したいが、KVM は便利なので採用

• MAAS サーバ– KVM と virshを使用し、仮想サーバを管理

– PXE(TFTP) や DHCP やDNSを MAAS サーバ上で起動

– MAAS は物理サーバを管理し、ベアメタルサーバをプロビジョニングできる

– パッケージをダウンロードするために外部ネットワークに接続

– 同一ネットワーク内にDHCPサーバがないこと

• KVM 管理用クライアント– KVM サーバの KVM を管理するために使用

• 仮想サーバ– MAAS を使用し、ベアメタルサーバと見立ててプロビジョニングする

33

MAAS 環境の構築

Page 34: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

環境の説明③

• 使用しているソフトウェア

– KVM サーバ、MAAS サーバ

• Ubuntu Server: 14.04.2

• MAAS: 1.7.1

– KVM 管理クライアント

• Lubuntu: 14.04.2

34

MAAS 環境の構築

Page 35: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

1. KVM サーバのインストール

35

KVMサーバ192.168.1.10

ルーター192.168.1.1

外部ネットワーク

KVM管理クライアント

192.168.1.2

MAAS

サーバ192.168.1.20

KVM

仮想サーバ1192.168.1.31

仮想サーバ2192.168.1.32

MAAS 環境の構築

Page 36: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

1. KVM サーバのインストール①1. Ubuntu Server のインストール

OpenSSH Server を追加する、本書では ubuntuユーザを作成

2. bridge-utilsパッケージのインストール

kvm$ sudo apt-get update

kvm$ sudo apt-get install bridge-utils

3. ネットワークの設定

kvm$ sudo vi /etc/network/interfaces

auto eth0

iface eth0 inet manual

auto br0

iface br0 inet static

address 192.168.1.10

netmask 255.255.255.0

gateway 192.168.1.1

dns-nameservers 8.8.8.8

bridge_ports eth036

interface ファイルの記述については各自の環境に合わせて編集してください

MAAS 環境の構築

Page 37: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

1. KVM サーバのインストール②

4. ブリッジの確認

ブリッジが作成できていることが確認できればOK

kvm% brctl show

5. KVM パッケージのインストール

kvm% sudo apt-get install qemu-kvm qemu-system libvirt-bin virtinst

kvm% sudo adduser $USER libvirtd

6. Ubuntu Server インストールイメージの配置

kvm% cd /var/lib/libvirt/images

kvm% sudo wget http://releases.ubuntu.com/14.04/ubuntu-14.04.2-server

-adm64.iso

37

MAAS 環境の構築

Page 38: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

2. KVM 管理用クライアントのインストール

38

KVMサーバ192.168.1.10

ルーター192.168.1.1

外部ネットワーク

KVM管理クライアント

192.168.1.2

MAAS

サーバ192.168.1.20

KVM

仮想サーバ1192.168.1.31

仮想サーバ2192.168.1.32

MAAS 環境の構築

Page 39: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

2.KVM 管理用クライアントのインストール

1. Lubuntuのインストール

2. 仮想マシンマネージャをインストール

desktop% sudo apt-get install virt-manager ssh-askpass-gnome

3. 仮想マシンマネージャの初期設定

KVM 管理用クライアントでKVMサーバへ接続1. ターミナルを開き、仮想マシンマネージャを起動

desktop% virt-manager

2. 仮想マシンマネージャのメニューバーより[ファイル]-[接続の追加]を選択

3. 下記の項目を指定し、接続ボタンを押す

39

項目 設定値

ハイパーバイザー QEMU/KVM

リモートホストに接続 有効

メソッド SSH

ユーザー名 [KVM サーバのユーザー名]

ホスト名 [KVMサーバのホスト名]

MAAS 環境の構築

Page 40: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

3. MAAS サーバのインストール

40

KVMサーバ192.168.1.10

ルーター192.168.1.1

外部ネットワーク

KVM管理クライアント

192.168.1.2

MAAS

サーバ192.168.1.20

KVM

仮想サーバ1192.168.1.31

仮想サーバ2192.168.1.32

MAAS 環境の構築

Page 41: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

3. MAAS サーバのインストール

1. Ubuntu Serverのインストール

OpenSSH Serverを追加する、本書では ubuntuユーザを作成

2. MAAS用のパーソナルパッケージアーカイブ(PPA)を追加

maas% sudo add-apt-repository ppa:maas-maintainers/stable

3. MAAS パッケージのインストール

MAASパッケージには複数のバージョンが存在するため、インストール時には最新のパッケージ・リストを入手する必要がある

maas% sudo apt-get update

下記のコマンドでインストール可能なバージョンを確認できる

maas% sudo apt-cache policy maas

MAAS パッケージをインストール

maas% sudo apt-get install maas maas-dhcp maas-dns

41

MAAS 環境の構築

Page 42: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

4. MAAS のセットアップ①

1. MAAS の管理画面にWebブラウザでアクセス

MAAS がインストールされたことを下記URLにアクセスして確認する

http://[MAASサーバのIPアドレス]/MAAS

2. MAAS の管理ユーザーを作成

maas% maas-region-admin createadmin

Username: [MAAS 管理ユーザの名前]

Password: [MAAS 管理ユーザのパスワード]

Again: [MAAS 管理ユーザのパスワード]

Email: [MAAS 管理ユーザのメールアドレス]

3. MAAS の管理画面にログイン

4. MAAS の管理画面の”Images”タブにてデプロイ用のOSイメージを設定

Ubuntu “14.04 LTS” と “amd64”を選択し、Import Imagesボタンを押す

MAASの内部処理のためにOSイメージを使用するため amd64 は必ず選択する

42

MAAS 環境の構築

Page 43: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

4. MAAS のセットアップ②

5. MAASの管理画面の”Clusters”タブにてクラスタのインターフェースを設定

クラスタ“Cluster master”のリンクを押し、「Edit Cluster Controller」画面にて“Interface”の編集ボタンを押す

43

MAAS 環境の構築

Interface 変更せず

Management “DHCP and DNS”に変更

IP 変更せず

Subnet mask 変更せず

broadcast IP 変更せず

Router IP 変更せず

DHCP dynamic IP range low DHCPで使用するIPアドレスを設定DHCP Dynamic IP range high

Page 44: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

4. MAAS のセットアップ③

6. SSH公開鍵を作成

MAASサーバでSSH公開鍵を作成公開鍵の作成先とパスフレーズの設定を求められますが、空白のまま Enter キーを押す

maas% ssh-keygen –t rsa

maas% cat $HOME/.ssh/id_rsa.pub

7. MAAS の管理画面の”Preference”にてSSH公開鍵を設定MAAS の管理画面の右上にある MAAS ユーザ名をクリックすると、”Preference”リンクを確認できる

“Preference”リンクをクリックし、”+ Add SSH Key”ボタンをクリックし、SSH公開鍵を登録する

SSH公開鍵は複数登録することができ、このSSH公開鍵はMAASでベアメタルサーバや仮想サーバをプロビジョニングした際に各サーバに自動的に配布される

44

MAAS 環境の構築

Page 45: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

5. 物理サーバのセットアップ①

1. 物理サーバを起動

2. ノード情報を確認

45

MAAS 環境の構築

1. Hostname MAAS に登録するホスト名(任意/未入力時はランダム)

2. Release 変更せず

3. Cluster 変更せず

4. Architecture 変更せず

5. Power type 本書では“IPMI”を設定、HP iLO とDell iDrac を例示

5.1 Power driver “LAN_2.0[IPMI 2.0]” “LAN_2.0[IPMI 2.0]”

5.2 IP address HP iLO の IP アドレス Dell iDrac の IP アドレス

5.3 Power user HP iLO のログインユーザー Dell iDracのログインユーザー

5.4 Power password HP iLO のログインパスワード Dell iDracのログインパスワード

5.5 MAC Address MAASネットワークに接続しているNICのMACアドレス

6. Physical zone 変更せず

7. MAC Address 変更せず

Page 46: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

5. 物理サーバのセットアップ②

46

– Power type の選択項目

– Power type の詳細パラメータについて• 本来は HP iLO や Dell iDrac のユーザを作成し、自動的に詳細パラメータを入力

• パラメータが自動入力されない場合は、手動でユーザの作成とパラメータを入力

MAAS 環境の構築

Page 47: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

6. 仮想サーバのセットアップ

47

KVMサーバ192.168.1.10

ルーター192.168.1.1

外部ネットワーク

KVM管理クライアント

192.168.1.2

MAAS

サーバ192.168.1.20

KVM

仮想サーバ1192.168.1.31

仮想サーバ2192.168.1.32

MAAS 環境の構築

Page 48: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

6. 仮想サーバのセットアップ①

1. KVM 管理用クライアントで仮想サーバを作成

1. KVM 管理用クライアントでKVMサーバへ接続

ターミナルを開き、仮想マシンマネージャを起動

desktop% virt-manager

2. 仮想マシンマネージャで“新しい仮想マシンの作成”ボタンをクリック

48

MAAS 環境の構築

1. 仮想マシンの名前 仮想サーバの名前を設定

2. インストール方法 “ネットワークブート(PXE)”を選択

3. OSの種類 Linux

4. バージョン “Generic 2.6.25 or later kernel with virtio”を選択

5. メモリー 仮想サーバに割り当てるメモリ

6. CPU 仮想サーバに割り当てる仮想CPU

7. ストレージ 仮想サーバに割り当てるディスク容量

Page 49: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

6. 仮想サーバのセットアップ②

1. KVM 管理用クライアントで仮想サーバを作成

3. “新しい仮想マシンの作成”を実行

4. 作成した仮想サーバを“強制的に電源オフ”ボタンを押し、仮想サーバを停止

5. 仮想サーバを開き、仮想サーバの情報を表示

6. “Boot Options”メニューを選択し、起動デバイスを追加起動デバイスに“Network(PXE)”を追加し、起動デバイスの順序を一番上に設定する

49

MAAS 環境の構築

Page 50: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

6. 仮想サーバのセットアップ③

2. MAASサーバで、仮想サーバをMAAS に追加するための手順

1. MAAS サーバに libvirtライブラリのパッケージを追加

maas% sudo apt-get install libvirt-bin

2. MAAS サーバに maasユーザ用のディレクトリを作成

maas% sudo mkdir –p /home/maas

maas% sudo chown maas:maas /home/maas

3. MAAS サーバの maasユーザのログインシェルを変更

maas% sudo chsh –s /bin/bash maas

4. MAAS サーバの maasユーザの公開鍵を作成

公開鍵の作成先とパスフレーズの入力が求められますが、空白のまま Enter キーを押す

maas% sudo –u maas ssh-keygen –t rsa

50

MAAS 環境の構築

Page 51: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

6. 仮想サーバのセットアップ④

2. MAASサーバで、仮想サーバをMAAS に追加するための手順

5. MAAS サーバの maasユーザの公開鍵を KVM サーバへ転送

KVM サーバ(192.168.1.10)の ubuntuユーザにコマンドを実行した例

maas% sudo -u maas -i ssh-copy-id [email protected]

6. 動作確認

MAAS サーバで下記のコマンドを実行して、KVM サーバ上の仮想マシンの一覧を取得する

KVM サーバ(192.168.1.10)の ubuntuユーザにコマンドを実行した例

maas% sudo -u maas virsh -c

qemu+ssh://[email protected]/system list --all

51

MAAS 環境の構築

Page 52: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

作業ステップの説明

MAAS環境の構築

1. KVM サーバのインストール

2. KVM 管理用クライアントのインストール

3. MAAS サーバのインストール

4. MAAS のセットアップ

5. 物理サーバのセットアップ

6. 仮想サーバのセットアップ

MAAS 環境での仮想サーバのプロビジョニング

1. Ubuntu Server のプロビジョニング

2. CentOS のプロビジョニング

52

MAAS 環境での仮想サーバのプロビジョニング

Page 53: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

1. Ubuntu Server のプロビジョニング①

1. KVM 管理用クライアントで仮想サーバを実行

MAAS 内部で Enlist 作業を実行し、MAAS のノードデータベースにノードが追加される

2. MAAS の管理画面でノードを確認

3. MAAS の管理画面の “Nodes”タブにて、ノードの情報を更新する

4. 管理画面のノード情報画面より「Commision node」ボタンをクリック

仮想ノードが自動的にパワーオンし、Commision作業を実行

5. MAAS の管理画面の “Nodes”タブにて、ノードの情報を更新する

詳細については次ページにて説明

6. MAAS の管理画面の “Nodes”タブにて、ノードを選択して「Start select

nodes」→ 「Go」ボタンをクリックすると仮想マシンが起動

内部ではAcquire(ノードの確保)が自動的に行う

Acquireの操作はデフォルトに設定したOSをデプロイする場合は省略できるが、それ以外の場合一度ノード確保をしないとOS選択ができない53

MAAS 環境での仮想サーバのプロビジョニング

Page 54: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

1. Ubuntu Server のプロビジョニング②

3. MAAS の管理画面の “Nodes”タブにて、ノードの情報を更新する

54

1. Hostname MAAS に登録するホスト名(任意/未入力時はランダム)

2. Release “Ubuntu 14.04 LTS”を選択

3. Cluster 変更せず

4. Architecture 変更せず

5. Power type “virsh(virtual systems)”を選択

5.1 Power address “qemu+ssh://[email protected]/system”を指定

5.2 Power ID 仮想サーバの名前、仮想マシンマネージャで指定した名前を設定

5.3 Power password 仮想サーバのパスワード(任意)

6. CPU Count 変更せず

7. Memory 変更せず

8. Disk space 変更せず

9. Physical zone 変更せず

10. Network Interfaces 変更せず

MAAS 環境での仮想サーバのプロビジョニング

Page 55: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

2. CentOS のプロビジョニング①

CentOSやWindows をプロビジョニングするためのツールは現在 Canonical

で開発中です。公開時期や公開方法が決まり次第アナウンスするようです。

詳しくは Canonical の担当者までお問い合わせください。

本書ではMAAS 用にカスタマイズした CentOSのイメージが既に手元にある

ものとして記します。

55

MAAS 環境での仮想サーバのプロビジョニング

Page 56: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

2. CentOS のプロビジョニング②

1. MAAS サーバにてMAAS CLI を使用するための手順

CentOSやWindows などのカスタムOSイメージを登録したり、MAAS で管理しているノードに対してタグを追加したりするためにMAAS CLI を使用します。

1. MAAS の管理画面の”Preference”にてMAAS Key を参照

2. MAAS サーバでMAAS CLI にログイン

MAAS サーバ(192.168.1.20)のプロファイル my-maas でログインを実行した例

maas% maas mymaas http://192.168.1.20/MAAS/api/1.0 [MAAS

Key]

プロファイルは任意の名前で構いません。ここでは”mymaas”とします。

56

MAAS 環境での仮想サーバのプロビジョニング

Page 57: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

2. CentOS のプロビジョニング③

2. MAAS サーバにて CentOSカスタムイメージを追加

CentOS カスタムイメージ(centos6-amd64-root-tgz.gz)を実行した例

maas% maas mymaas boot-resource create name=CentOS os=CentOS \

title=“CentOS65” architecture=amd64/generic filetype=tgz \

content@=centos6-amd64-root-tgz

3. MAAS の管理画面の “Nodes”タブにて、ノードの情報を更新する

OSを”Custom”、Releaseを”CentOS65”に変更して更新

4. MAAS の管理画面の “Nodes”タブにて、ノードを選択して「Start select

nodes」→ 「Go」ボタンをクリックすると仮想マシンが起動

57

MAAS 環境での仮想サーバのプロビジョニング

Page 58: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

1. ロギングレベルの変更

• log.pyファイルの configure_root_logger() メソッドの中の記述を変更

"logging.INFO"を"logging.DEBUG"に変更

maas% sudo vi /usr/lib/python2.7/dist-

packages/provisioningserver/logger/log.py.

• maas_local_settings.pyファイルの記述を変更

LOGGING_LEVEL = ‘INFO’ を LOGGING_LEVEL = ‘DEBUG’に変更

maas% sudo vi /usr/share/maas/maas_local_settings.py

• Apache HTTP サーバを再起動

maas% sudo service apache2 restart

58

トラブルシューティング

Page 59: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

2. トラブルシューティング情報源

Ubuntu MAAS 1.7 manuals

https://maas.ubuntu.com/docs/troubleshooting.html

Troubleshooting

• Nodes hang on “Commissioning”

• Nodes fail to PXE boot

• Can’t log in to node

• Forgot MAAS superuser password

• Need to reconfigure server IP address

• Can’t find MAAS webpage

• Debugging ephemeral image

59

トラブルシューティング

Page 60: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

再掲:本日お話ししたいこと

• OpenStack で自動化ツールについて

– OpenStack で使用する自動化ツールについてのおさらい

• OpenStack で自動化ツールを使ってみた!

– Ubuntu MAAS を使って仮想マシンに Ubuntu やCentOS をプロビジョニングしてみます

60

プレゼンテーションの目的

Page 61: OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

お問い合わせ先

「仮想化環境を構築したいが、どこに相談すればいいの?」

まずは我々にご相談ください

http://VirtualTech.jp/[email protected]

050-7571-0584

61