Spiceweasel https://github.com/mattray/spiceweasel#cookbooks を使ってみた。
Spiceweasel は Chef の cookbook のダウンロード, role/cookbook の chef server へのアップロード, ブートストラップ等をバッチ処理的に行なってくれる(もしくはコ マンドラインを出力してくれる)ツールで、自分的にイケてるなと感じたのでブログに 書いておきます。
クラウドフェデレーション的サービスというかフロントエンドサービスというか、複数 のクラウドを扱えるサービスは増えてきているけど、chef を扱えるエンジニアであれ ば、この Spiceweasel で簡単・一括デプロイ出来るので良いのではないかと。
早速だけど chef-repo にこんな yamp ファイルを用意します。
cookbooks: - apt: - nginx: roles: - base: nodes: - 172.24.17.3: run_list: role[base] options: -i ~/.ssh/testkey01 -x root -N webset01 - 172.24.17.4: run_list: role[base] options: -i ~/.ssh/testkey01 -x root -N webset02 上から説明すると…
‘apt’, ’nginx’ の cookbook を opscode レポジトリからダウンロード ‘apt’, ’nginx’ の cookbook を chef-server へアップロード roles/base.rb を chef-server へアップロード 2つのノードに対して bootstrap 仕掛ける ってことをやるためのファイルです。予め chef-repo と roles は用意してあげる必要 があります。この辺りは knife の操作のための準備と全く同じ。また Spiceweasel は、 この yaml フィアル内の各パラメータや指定した role の内容の依存関係をチェックし てくれます。
...
(2013/08/31 修正しました)
自宅のノート PC にいつも Debian Gnu/Linux unstable を入れて作業してたのだけど、 Arch Linux が試したくなって入れてみた。すごくイイ。ミニマル思考で常に最新。端 末に入れる OS としては最適かも!と思えてきた。Ubuntu はデスクトップ環境で扱う にはチト大きすぎるし。FreeBSD のコンパイル待ち時間が最近耐えられないし…。
前リリースの Arch Linux には /arch/setup という簡易インストーラがあったのだけ ど、それすら最近無くなった。環境作る方法を自分のためにもメモしておきます。
OS イメージ iso 取得とインストール用 USB スティック作成 Linux, Windows, Mac で作り方が変わるようだけど、自分は Mac OSX を使ってインス トール USB スティックを作成した。
diskutil で USB スティック装着前後の disk デバイス番号を覚える
% diskutil list (ここでは /dev/rdisk4 として進める。)
アンマウントする。
% sudo diskutil unmountDisk /dev/rdisk4 ダウンロードした iso を USB スティックに書き込む。
% sudo dd if=/path/to/downloaded/iso of=/dev/rdisk4 bs=8192 % sudo diskutil eject /dev/rdisk4 USB スティック装着しインストール開始 起動するとメニューが表示されるので x86_64 を選んで起動。プロンプトが表示される。
...
以前紹介した OpenStack Folsom 構築 bash スクリプトなのだけど quantum の代わり に nova-network も使えるようにしておいた。
構築 bash スクリプトは、
https://github.com/jedipunkz/openstack_folsom_deploy/blob/master/README_jp.md
に詳しい使い方を書いておきました。またパラメータを修正して実行するのだけどパラ メータについては、
https://github.com/jedipunkz/openstack_folsom_deploy/blob/master/README_parameters_jp.md
に書いておきました。
手持ちの Thinkpad に OpenStack folsom 入れた写真。この写真の OpenStack Folsom を構築した時の手順を書いておくよ。
OS をインストール OS をインストールします。12.10 を使いました。(12.04 LTS でも可)。/dev/sda6 等、 Cinder 用に一つパーティションを作ってマウントしないでおきます。また固定 IP ア ドレスを NIC に付与しておきます。
スクリプト取得 スクリプトを取得する。
% sudo apt-get update; sudo apt-get install git-core % git clone https://github.com/jedipunkz/openstack_folsom_deploy.git % cd openstack_folsom_deploy パラメータ修正 deploy_with_nova-network.conf 内のパラメータを修正します。オールインワン構成な ので、ほぼほぼ修正せずに実行しますが
HOST_IP='<Thinkpad の IP アドレス>' だけ修正。
...
FreeBSD を OpenStack で管理したいなぁと思って自宅に OpenStack 環境作ってました。
お正月なのに…
使ったのは folsom ベースの OpenStack (nova-network) と FreeBSD 9.1 です。8 系 の FreeBSD でも大体同じ作業で実現出来るぽいです。あと nova-network でって書い たのは自宅に quantum だと少し厳しいからです。FlatDHCPManager が調度良かった。
今回のポイントは FreeBSD の HDD, NIC のドライバに virtio を使うように修正する ところです。OpenStack (KVM) は virtio 前提なので、そうせざるを得なかったです。
今回使ったソフトウェア OpenStack Folsom (nova-network) Ubuntu Server 12.10 FreeBSD 9.1 amd64 作業方法 準備としてこれらが必要になります。事前に行なってください。
FreeBSD-9.1-RELEASE-amd64-disc1.iso ダウンロード 作業ホスト (Ubuntu Server 12.10) に qemu-kvm をインストール freebsd9.img として qcow2 イメージを作成します。
% kvm-img create -f qcow2 freebsd9.img 8G 作成したイメージファイルに FreeBSD 9.1 をインストールします。
...
今日は “OpenStack Advent Calendar 2012 JP” というイベントのために記事を書きた いと思います。Advent Calendar とはキリスト生誕を祝うため 12/25 まで毎日誰かがブログ 等で特定の話題について述べるもの、らしいです。CloudStack さん, Eucalyptus さん も今年はやっているそうですね。
イベントサイト : http://atnd.org/events/34389
では早速!(ただ..CloudStack の Advent Calendar とネタがかぶり気味です..。)
御存知の通り OpenStack は API を提供していてユーザがコードを書くことで OpenStack のコマンド・Horizon で出来ることは全て可能です。API を叩くのに幾つか フレームワークが存在します。
fog libcloud deltacloud などです。
ここでは内部で fog を使っている knife-openstack を利用して API に触れてみよう かと思います。API を叩くことを想像してもらって、インフラエンジニアの仕事内容の 変化まで述べられたらいいなぁと思っています。
OpenStack 環境の用意 予め OpenStack 環境は揃っているものとしますです。お持ちでなければ
http://jedipunkz.github.com/blog/2012/11/10/openstack-folsom-install/
この記事を参考に環境を作ってみて下さい。あ、devstack でも大丈夫です。
chef, knife-openstack の用意 chef, knife-openstack を入れるのは OpenStack 環境でも、別のノードでも構いません。
chef が確か 1.9.2 ベースが推奨だったので今回は 1.9.2-p320 使います。 ruby は rbenv で入れるのがオススメです。knife-openstack, chef のインストールは…
...
InternetWeek2012 で開かれた “OpenFlow Trema ハンズオン” に参加してきました。
講師 : Trema 開発チーム 鈴木一哉さま, 高宮安仁さま 開催日 : 2012年11月21日 OpenStack の Quantum Plugin として Trema が扱えるという話だったので興味を持っ たのがきっかけです。また Ruby で簡潔にネットワークをコード化出来る、という点も 個人的に非常に興味を持ちました。OpenStack, CloudStack 等のクラウド管理ソフトウェ アが提供する API といい、Opscode Chef, Puppet 等のインフラソフトウェア構築フレー ムワークといい、この OpenFlow もインフラを形成する技術を抽象化し、技術者がコー ドを書くことでインフラ構築を行える、という点ではイマドキだなと思います。
Google は既にデータセンター間の通信を 100% 、OpenFlow の仕様に沿った機器・ソフ トウェアをを独自に実装しさばいているそうですし、我々が利用する日も近いと想像し ます。
OpenFlow のモチベーション OpenFlow の登場には理由が幾つかあって、既存のネットワークの抱えている下記の幾 つかの問題を解決するためです。
装置仕様の肥大化 多様なプロトコルが標準化 装置のコスト増大 ある意味、自律したシステムが招く複雑さ 一方、OpenFlow を利用すると..
コモディティ化された HW の利用が可能 OpenFlow はコントローラ (神) が集中管理するので楽な場合もある ネットワーク運用の自動化が図れる アプリケーションに合わせた最適化 柔軟な自己修復 等のメリットが。
OpenFlow と Trema とは? OpenFlow は ‘OpenFlow コントローラ’, ‘OpenFlow スイッチ’ から成る。OpenFlow コ ントローラと OpenFlow スイッチの間の通信は OpenFlow プロトコルでされる。今日の 話題 Trema はこの..
...
※2012/12/04 に内容を修正しました。Network Node を切り出すよう修正。 ※213/01/09 に内容を修正しました。パラメータ修正です。
OpenStack の Folsom リリースからメインコンポーネントの仲間入りした Quantum を 理解するのに時間を要してしまったのだけど、もう数十回とインストールを繰り返して だいぶ理解出来てきました。手作業でインストールしてると日が暮れてしまうのでと思っ て自分用に bash で構築スクリプトを作ったのだけど、それを公開しようと思います。
OpenStack Folsom の構築に四苦八苦している方に使ってもらえたらと思ってます。
http://jedipunkz.github.com/openstack_folsom_deploy/
chef や puppet, juju などデプロイのフレームワークは今流行です。ただどれも環境 を予め構築しなくてはいけないので、誰でもすぐに使える環境ってことで bash スクリ プトで書いています。時間があれば是非 chef の cookbook を書いていきたいです。と いうか予定です。でも、もうすでに opscode 等は書き始めています。(汗
ではでは、紹介を始めます。
前提の構成 management segment 172.16.1.0/24 +--------------------------------------------+------------------+----------------- | | | | | | | eth2 172.16.1.13 | eth2 172.16.1.12 | eth2 172.24.1.11 +------------+ +-----------+ +------------+ | | eth1 ------------------- eth1 | | | | | network | vlan/gre seg = 172.24.17.0/24 | compute | | controller | | node | data segment = 172.16.2.0/24 | node | | node | +------------+ 172.16.2.13 172.16.2.12 +-----------+ +------------+ | eth0 10.200.8.13 | eth0 10.200.8.11 | | | | +--------------------------------------------+------------------+----------------- | public segment 10.200.8.0/24 | | 10.200.8.1 +-----------+ | GW Router |-> The Internet +-----------+ Quantum は、
...
最近、OpenStack にどっぷり浸かってる @jedipunkz です。
Folsom がリリースされて Quantum を理解するのにめちゃ苦労して楽しい真っ最中なのだけど、 今日は OpenStack の中でも最も枯れているコンポーネント Swift を使ったオブジェクトストレー ジ構築について少し書こうかなぁと思ってます。
最近は OpenStack を構築・デプロイするのに皆、Swift 入れてないのね。仲間はずれ 感たっぷりだけど、一番安定して動くと思ってる。
これを読んで、自宅にオブジェクトストレージを置いちゃおぅ。
構成は ?… +--------+ | client | +--------+ | +-------------+ | swift-proxy | +-------------+ 172.16.0.10 | +-------------------+-------------------+ 172.16.0.0/24 | | | +-----------------+ +-----------------+ +-----------------+ | swift-storage01 | | swift-storage02 | | swift-storage03 | +-----------------+ +-----------------+ +-----------------+ 172.16.0.11 172.16.0.12 172.16.0.13 となる。IP アドレスは…
client : 172.16.0.0/24 のどこか swift-proxy : 172.16.0.10 swift-storage01 : 172.16.0.11 swift-storage02 : 172.16.0.12 swift-storage03 : 172.16.0.13 これはサンプル。自宅の環境に合わせて読み替えてください。
...