最近のjuju/maasについて 〜 15分版 - openstack最新情報セミナー 2017年11月
TRANSCRIPT
最近のJuju/MAAS について
〜15分版〜
日本仮想化技術株式会社
技術部 遠山 洋平
2017年11月14日
1
本日の内容
• 概要
• 動向
• 使い方
2
UbuntuとJuju MAASの概要
3
Ubuntuとは
• イギリスの会社 Canonical が開発および支援
• オープンソース企業
• 顧客サポートも提供 → Ubuntu Advantage
• ユーザーコミュニティーも充実
• UbuntuはDebianベース
• Stable版....半年ごと、9ヶ月サポート。一般向け
• LTS版........2年ごと、5年サポート。商用向け
• 独自のEnterpriseアプリケーションをOSSで開発・提供
4
Jujuとは
• アプリケーションの構成管理ツール
• クラウドからベアメタルまでサポート
• OSのデプロイから構成まで
5
OS SSH App Config
OS SSH App Config
Juju
Ansible core
MAASとは
• Metal As A Serviceを提供
• ノード資源の管理
• 物理サーバー
• Cisco UCS , HPE Moonshot , Intel RSD...
• 仮想サーバー(KVM + Libvirt)
• ネットワークの管理
• 仮想ネットワークを使ったデプロイメント
• Bonding , Linux Bridge
• デプロイメント/リリース
• BIOS/UEFI対応
6
MAASの概要図
7※公式サイトから引用
•電源の管理はIPMIを利用 • OSSの組み合わせ
Juju + MAAS
8
Juju + Azure
9→JujuでAzureを扱うための手順
AWS GCP Oracle Cloud(2.2) etc...
最近の動向
10
CanonicalとKubernetes
• Kubernetesのエンタープライズサポート
• Jujuを利用
• CharmやBundleが用意されている
11※公式サイトから引用
安定したバージョン
• Juju
• PPA/Stable版の2.2系がおすすめ
• 最新版は2.2.6
• MAAS
• Ubuntu 16.04標準パッケージの2.2系がおすすめ
• 最新版は2.2.2
12
※2017年11月14日現在
Juju 2.2の変更点
• 対応するクラウドの追加
• Oracle Cloud
• VMware vSphere
• パフォーマンスと安定性の向上
• その他のポイント
• JAAS (Hosted Juju Controller)
• JujuでKubenetesの構築が可能に
13
Amazon Web Services Microsoft Azure Google Cloud Platform Oracle Cloud Rackspace Cloud CloudSigma Cloud Joyent Cloud Canonical MAAS LXD Container Hypervisor VMware vSphere
Jujuが現在対応しているもの
MAAS 2.2の変更点
• MAAS�Pods • Linux KVM • Intel RSD(Rack Scale Design)
• テスト機能の実装 • CPU
• メモリー • ストレージ • ネットワーク • おおよそのデプロイ状況の確認
14
使い方
15
Jujuとコンポーネント
• Juju CLI/GUI
• 命令を出す
• Juju bootstrap
• 命令を受けて処理を実行する
• インフラ
• Amazon Web Service , Microsoft Windows Azure , Google Cloud Platform etc...
• OpenStack
• ベアメタル(MAAS)
• ローカルPC(LXD+LXC)
16
Jujuとデプロイ方式
• Juju Charms
• 機能単体のデプロイ
• Charm�Storeで検証済みのものが配布
• カスタマイズ可能
• Juju Bundle
• 複数のアプリケーションの全自動デプロイ
• OpenStack , Kubenetes , Hadoop etc...
• 必要な情報はbundle.yamlに記述(ノード数/スペック)
• カスタマイズ可能
17
% juju deploy "charm"
% juju deploy "bundle"
Juju Charmの中身
• ほぼテキストデータ
• 何らかの言語で書かれたスクリプト
• Ubuntuで使える言語ならなんでも
• 設定はYAML形式のテキストファイル
• あとは
• Charmに設定する画像とか
• READMEとか
18
options:
debug:
type: boolean
default: False
description: Enable debug logging.
verbose:
type: boolean
default: False
description: Enable verbose logging.
use-syslog:
type: boolean
default: False
description: |
Setting this to True will allow supporting
services to log to syslog.
Juju CLI
• juju add-model →モデル作成
• juju switch "model" →モデル切替え
• juju add-machine →モデルにマシンを登録
• (例) juju add-machine --constraints tags=blade1
• juju deploy "apps" --to X →デプロイ
• (juju add-unit) →スケールの拡大
• juju add-relation →設定と関連付け
• juju gui →GUIのログイン情報の表示
19
Juju GUI
20
MAAS Dashboard
21
冗長構成にする
• マスタースレーブ juju deploy mariadbjuju config mariadb max-connections="5000"
juju deploy -n 2 mariadb maria-slavejuju config maria-slave max-connections="5000"
juju add-relation mariadb:master maria-slave:slave
• HAクラスターを利用 juju deploy openstack-dashboardjuju add-unit -n 2 openstack-dashboard
juju deploy hacluster dashboard-haclusterjuju config openstack-dashboard vip="172.17.29.195"
juju add-relation openstack-dashboard dashboard-hacluster
22
1:2構成
3ユニット
Apps
Apps
Apps
アップグレード
• MAAS
• apt upgrade
• Juju
• apt upgrade
• juju switch model
• juju upgrade-juju
23
Model A
Model B
Model C
Charmのアップデート
• デプロイしたとき
• juju deploy cs:trusty/mariadb-3
この場合
• mariadb-7に更新するにはモデルを切り替えて
• juju upgrade-charm --revision -7 mariadb
• バージョンを指定しなければ最新版に
• juju upgrade-charm mariadb
24
エラーが発生したら
• juju ssh "unit"でログインしてログを確認
• /var/log/juju etc...
•原因を取り除く
•パラメーターを修正
• juju resolved "unit"で再開
• (うまく行けば)デプロイできる
25
26
関連リンク
27
リンク集
• 公式
• Juju
• MAAS
• VTJ
• Juju/MAASでOpenStack Pike
• ブログの最近の記事
28