hack the juju/maas (interop2016)

15
Copyright © 2016 Bit-isle Equinix Inc. All Rights Reserved HACK! THE & ビットアイル・エクイニクス株式会社 熊谷育朗

Upload: ikuo-kumagai

Post on 15-Apr-2017

523 views

Category:

Technology


4 download

TRANSCRIPT

Page 1: Hack the Juju/MAAS (Interop2016)

Copyright © 2016 Bit-isle Equinix Inc. All Rights Reserved

HACK! THE &

ビットアイル・エクイニクス株式会社 熊谷育朗

Page 2: Hack the Juju/MAAS (Interop2016)

Copyright © 2016 Bit-isle Equinix Inc. All Rights Reserved

Juju/MAASとは何か。

Juju – deployment tool

‣ Machine/Service/Unitの概念を持ち、 Serviceの関係性を定義してサービスを デプロイすることのできるツール

‣ サービスデプロイの記載はCharmと 呼ばれる単位で記述、Charm Storeの ラインナップが豊富

MAAS(Metal as a Service)

‣ 物理サーバーの管理を行うツール 電源管理、物理デバイスの管理、 IPアドレス管理、OSインストール等が可能

‣ Jujuとの連携が可能

https://jujucharms.com/

http://maas.io/

http://www.ubuntu.com/cloud/juju

Page 3: Hack the Juju/MAAS (Interop2016)

Copyright © 2016 Bit-isle Equinix Inc. All Rights Reserved

Juju/MAASはHACKして使え。なぜなら

それぞれのコンポーネントの関係が(慣れてないと)複雑

ドキュメントでは表現しきれていない仕様もある

更新が早い

ちょいちょいハマる

→要するにOpen Source

中身を知って手を入れて使う。これ当たり前。

Page 4: Hack the Juju/MAAS (Interop2016)

Copyright © 2016 Bit-isle Equinix Inc. All Rights Reserved

Page 5: Hack the Juju/MAAS (Interop2016)

Copyright © 2016 Bit-isle Equinix Inc. All Rights Reserved

MAAS によるサーバーの管理

New

管理リストに登録

Ready

Deployed

OSインストール

HW情報を取得

Enlist

Commissionig

Deploy

Page 6: Hack the Juju/MAAS (Interop2016)

Copyright © 2016 Bit-isle Equinix Inc. All Rights Reserved

MAAS Server

MAAS の基本的な動作(簡易概念図)

上記のタイミングでサーバを起動/初期処理を行う仕組み

Tftpd(PXE boot)

Squid(Proxy)

Dhcpd(DHCP)

Bind(DNS)

Apache2(Httpd)

root-image

root-tgz

Client

Cloud-init

MAAS-web/API

Metadata-server rootfs

userdata

Enlist Commissionig Deploy

Pxe Boot

Iscsi マウント

root fs への

書き込み

Cloud-initによる

初期設定

iscsi(readonly)

dd

Page 7: Hack the Juju/MAAS (Interop2016)

Copyright © 2016 Bit-isle Equinix Inc. All Rights Reserved

MAAS HACK! Tips boot-resource の操作

iscsi マウントされるブートイメージはマウントして改変できる

改変したイメージをtar gzで圧縮すれば、ddで書き込まれるイメージとなる

# sudo mount -o loop -t ext4 ¥ /var/lib/maas/boot-resources/current/ubuntu/amd64/generic/trusty/release/root-image ¥ /mnt/ # sudo chroot /mnt/

# cd /mnt/ # sudo tar zcvf /home/ubuntu/work/root-tgz ./* # sudo cp /home/ubuntu/work/root-tgz ¥ /var/lib/maas/boot-resources/current/ubuntu/amd64/generic/trusty/release/root-tgz

Page 8: Hack the Juju/MAAS (Interop2016)

Copyright © 2016 Bit-isle Equinix Inc. All Rights Reserved

Page 9: Hack the Juju/MAAS (Interop2016)

Copyright © 2016 Bit-isle Equinix Inc. All Rights Reserved

Juju の管理する概念(Machine/Service/Unit)

Machine

‣ Jujuによるコントロールの反映の対象。

‣ 連携しているツールの管理するサーバとlxcコンテナを対象にできる

Service

‣ Charm(サービス定義)の管理単位

‣ CharmをJujuに反映するとServiceとして管理される

‣ ServiceとServiceの関係を定義することができる

Unit

‣ CharmをMachineに反映したインスタンスの管理単位

‣ Shellまたはpythonで記述されたプログラム

‣ Hooksと呼ばれるイベントから実行される

Page 10: Hack the Juju/MAAS (Interop2016)

Copyright © 2016 Bit-isle Equinix Inc. All Rights Reserved

Juju 動作概要(簡略図)

Juju bootstrap Unit

jujud

Juju Core

Hooks(イベント)

Charm

install

config-changed

start

upgrade-charm

stop

… Charm parameter

①deploy

②Machine起動

Service

③Jujud配置

④イベント起動

⑤イベント実行

Page 11: Hack the Juju/MAAS (Interop2016)

Copyright © 2016 Bit-isle Equinix Inc. All Rights Reserved

Juju Charm Hack

Charmの主要な構成要素

‣ Metadata

▪ Serviceに設定するパラメータを定義する

‣ Hooks

▪ イベント毎に実行する処理をプログラムで記載

- install

- config-changed

- start

- upgrade-charm

- stop

‣ Template

▪ デプロイ時に配置するconfig ファイルなどのテンプレート

- [name]-relation-joined

- [name]-relation-changed

- [name]-relation-departed

- [name]-relation-broken

Page 12: Hack the Juju/MAAS (Interop2016)

Copyright © 2016 Bit-isle Equinix Inc. All Rights Reserved

Jujuの魅力は Charm store

Charm Storeに行くと主要なOSSのCharm がほとんどある。OpenStack系は特に豊富

https://jujucharms.com/

Page 13: Hack the Juju/MAAS (Interop2016)

Copyright © 2016 Bit-isle Equinix Inc. All Rights Reserved

デモ

Page 14: Hack the Juju/MAAS (Interop2016)

Copyright © 2016 Bit-isle Equinix Inc. All Rights Reserved

知っていますか?

ドキュメントはあります。ちゃんと読みましょう(自戒)

‣ 今日の内容くらいはちゃんと読めば書いてあります。

バージョンを合せて読むのがポイント

Page 15: Hack the Juju/MAAS (Interop2016)

Copyright © 2016 Bit-isle Equinix Inc. All Rights Reserved

ユーザーグループ立ち上げ中

“If you want to go fast, go alone. If you want to go far, go together.” 「速く行きたければ一人で行きなさい。 遠くまで行きたければ一緒に行きなさい。」

Facebook グループへ

参加してください https://www.facebook.com/groups/maajug/