際際滷

際際滷Share a Scribd company logo
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Solaris Zoneと
Puppet、
Serverspecで
インフラCI
OSC 2015 Tokyo/Fall
となか
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
徭失B初
兆念: となかふみひさ?
ID: @ftnk?
インフラエンジニア
麼に Solaris (151a から)
この PC も Solaris?
?
?
侭奉
床の Solaris メインの氏芙?
晩云 OpenSolaris ユ`ザグル`プ?
?
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
晩云OpenSolaris
ユ`ザ`グル`プ
http://www.opensolaris.gr.jp/?
#osoljp?
試
茶氏i氏α
http://connpass.com/series/322/?
?
パッケ`ジ恬撹
https://osdn.jp/projects/jposug/?
?
?
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
agenda
Solaris でもインフラ CI し
たい
1.
Solaris Zone2.
Puppet3.
Serverspec4.
Solaris で CI5.
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Solaris
でも
インフラCI
したい
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
インフラ CI
Serverspec がリリ`スされて
からインフラの CI が}
?
Puppet や Chef などの撹砿
尖ソフトウェアでサ`バをB
し、Serverspec でテスト
?
CI のためのh廠を喘吭する圭
隈として Vagrant や Docker
がよく聞われている
?
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Solaris で CI
Vagrant で Solaris の VM を
喘吭することはできるが、
Solaris だけで]じたい
?
Solaris では Docker が聞えな
い
Solaris でも Docker に鬉垢襪
いうはある
https://www.oracle.com/corporate/
pressrelease/docker-gets-in-the-
zone-with-oracle-solaris-073015.html
?
?
?
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Solaris で CI
Solaris には Zone があるんだ
し、Zone を聞いたい
?
Vagrant や Docker のような湖
じで、Zone をQう圭隈が駅勣
?
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
とりあえずの圭隈
Docker や Vagrant 議なものを
聞わない
?
Bgみの Zone にして、
Puppet などをg佩し
Serverspec でテスト
仟、劉h廠にするg佩をテストできない
返できしが駅勣?
?
?
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
まとめ
Zone を聞いたい?
CI のたびに、仟、劉h廠を喘
吭したい
?
Vagrant や Docker のような湖
じで Zone をQうしくみが圀し
い
?
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Solaris
Zone
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Solaris Zone
Zone の古勣?
Zone のN?
Zone のB?
Zone とパッケ`ジ?
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Zone の古勣
Solaris 10 參週2005 定??
揖じカ`ネルで}方のシステム
を嘛
光Nリソ`スの蛍x?崙?
?
しくはm鍋さんの OSC 2015 Tokyo/
Spring のY創を歌孚
http://www.slideshare.net/
satorumiyazaki/solaris-osc-
tokyo2015springzone
?
?
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Zone のNbrand
Solaris 11.2 における Zone のNbrand
solaris
糞弔 Zone
solaris10
Solaris 10 を咾す Zone
solaris-kz
ホストとはなるバ`ジョンのカ`ネルを咾
す Zone
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Immutable Zone
file-mac-profile のO協で zone を read only
に
strict
iみ函り喘?
?
fixed-configuration
/var 參和はきzみ辛?
?
flexible-configuration
/etc と /var 參和はきzみ辛?
?
none
iみき辛?
?
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Immutable Zone
$ touch hoge
touch: cannot create hoge: Read-only file system
zoneadm apply で郡啌音辛?
strict ではきzみできないの
で、軟rにログがけること
を_Jするサ`ビスは軟咾任
ない
?
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Zone
の
B
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Zone のB (solaris)
# zonecfg -z testzone create
# zoneadm -z testzone install
Zone の撹には /etc/zones/SYSdefault.xml
のテンプレ`トが聞われる。
テンプレ`トを聞わない栽は 'create -b'?
?
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Zone のB (solaris10)
# zonecfg -z testzone create -t SYSsolaris10
# zoneadm -z testzone install -a sol10.flar -u
パッケ`ジ system/zones/brand/brand-
solaris10 が駅勣
?
インスト`ルにはいずれかのア`カイブが駅勣
flash archive / pax / cpio (+gzip/
bzip2) / ufsdump (level 0)
?
?
'-t' で峺協しているテンプレ`トのg悶は /etc/
zones/SYSsolaris10.xml
?
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Zone のB (solaris-kz)
# zonecfg -z testzone create -t SYSsolaris-kz
# zoneadm -z testzone install
パッケ`ジ system/zones/brand/brand-
solaris-kz が駅勣
?
'-t' で峺協しているテンプレ`トのg悶は /etc/
zones/SYSsolaris-kz.xml
?
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Zone のB
ここまでの圭隈はシンプルすぎ?
gHにはネットワ`クO協とか
したいことがある
?
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Zone Brにできること
Zone の撹を局す
cpu / memory / disk / network etc.?
?
AI マニフェストを峺協する
package / publisher / pool / zfs etc.?
?
SC プロファイルを峺協する
hostname / root / user /
nsswitch.conf / resolv.conf / keymap
etc.
?
?
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Zone の撹を局す
Zone の撹
cpu?
memory?
disk?
network?
など zonecfg でO協するもの
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Zone の撹を局す
# zonecfg -z testzone1 export -f testzone1.zonecfg
# zonecfg -z testzone2 create -f testzone1.zonecfg
create rに '-f' でファイルを局すことができる?
kernel zone の keysource リソ`スの export
には慙泙駅勣
?
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
AI マニフェストを峺協する
AI マニフェスト
AI (Automated Installer) が歌孚するファイル?
/usr/share/auto_install/manifest/
zone_default.xml
?
zpool/zfs/be/facet/package などをO協辛嬬?
?
Zone のインスト`ルrに AI がg佩されます?
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
AI マニフェストを峺協する
# zoneadm -z testzone install -m testzone_manifest.xml
zoneadm install rに '-m' で AI マニフェスト
を局すことができる
?
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
SC プロファイルを峺協する
SC (System Configuration) プロファイル
hostname/nsswitch.conf/resolv.conf/keymap/
tiemzone/root/user account などをO協辛嬬
Zone 兜指ブ`トrの Wizard でO協する朕?
SC プロファイルでO協することで Wizard が竃な
くなる
?
?
?
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
SC プロファイルを峺協する
# zoneadm -z testzone install -c testzone_profile.xml
zoneadm install/clone rに '-c' で SC プロ
ファイルを局すことができる
?
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Zone の clone
# zoneadm -z testzone2 clone testzone1
# zoneadm -z testzone2 clone testzone1 -c profile.xml
揖匯の zpool 貧であれば、ZFS の clone
なる zpool 貧であれば、デ`タのコピ`?
Publisher からのインスト`ルより壼い?
?
unconfig されるので、
SC プロファイルを局す?
兜指ブ`トrに Wizard でO協?
などが駅勣
?
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Zone Bまとめ
Solaris 11.2 で聞える Zone は 3 N
solaris/solaris10/solaris-kz?
?
file-mac-profile で zone 坪でのiみきを
崙囮
?
Zone Brに局せるO協は局しておくと宴旋
Zone の撹?
AI マニフェスト?
SC プロファイル?
?
Zone の clone は宴旋?
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Puppet
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Puppet 古勣
Puppetlabs による撹砿尖ツ`ル
ZFS や Zone の荷恬にも?
master/agent 撹、g悶、どちらも辛嬬?
?
Solaris 11.2 からパッケ`ジが贋壓
Solaris 喘 module が根まれている?
?
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Puppet マニフェスト
サ`バのO協をいたファイル
をマニフェストと柵ぶ
node 'default' {
Package['pkg:/web/server/apache-22'] -> Service['svc:/network/http:apache22']
package { 'pkg:/web/server/apache-22':
ensure => installed,
}
service { 'svc:/network/http:apache22':
ensure => running,
enable => true,
}
}
?
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
リソ`スタイプ
マニフェストにく 'package' や 'service' などを
リソ`スタイプという
?
リソ`スタイプ
Puppet 覆婆畊
http://docs.puppetlabs.com/references/
latest/type.html
?
?
モジュ`ルによって戻工
https://forge.puppetlabs.com/?
?
ユ`ザによる協x?
?
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Solaris module
ネットワ`クvB?
サ`ビスvB?
その麿BE、パッケ`ジ?
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Solaris module: network
dladm
etherstub / ip tunnel / link aggregation /
link properties / vlan / vnic
?
?
ipadm
address object / address properties /
interface properties / ip interface / ipmp
interface / protocol properties / vni
interface
?
?
nsswitch?
resolver?
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Solaris module: service
svccfg?
nis?
ldap?
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Solaris module: others
BE?
package
facet / variant / mediator /
publisher
?
?
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Puppet のgなデモ
Apache のO協
パッケ`ジのインスト`ル?
64bit バイナリを旋喘?
mpm は worker?
サ`ビスを enable にする?
サ`ビスを軟?
?
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Puppet まとめ
Puppet は撹砿尖ソフトウェ
ア
?
覆 zone や zfs に?
Oracle による Solaris モジ
ュ`ル
?
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Serverspec
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Serverspec 古勣
http://serverspec.org/?
m和oさんによる、サ`バ
撹のテストツ`ル
?
RSpec ベ`ス?
SSH / Docker API / WinRM な
どをU喇してテストをg佩
?
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Serverspec の Solaris 11

ほぼ、となかがいています?
となかが聞う譴砲いては
}なく咾い討い泙
?
Solaris 10 でもある殻業は
くはずです
?
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Solaris っぽいテスト 1
describe service('apache22') do
it { should be_enabled }
it { should be_running }
its(:property) { should include('httpd/server_type' => 'worker') }
its(:property) { should include('httpd/enable_64bit' => 'true') }
end
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Solaris っぽいテスト 2
describe zfs('rpool') do
it { should exist }
its(:property) { should include('mounted' => 'yes') }
end
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
リソ`スタイプ
bond / bridge / cgroup / command / cron /
default_gateway / docker_container /
docker_image / file / group / host /
iis_app_pool / iis_website / interface /
ipfilter / ipnat / iptables / kernel_module /
linux_audit_system / linux_kernel_parameter /
lxc / mail_alias / mysql_config / package /
php_config / port / ppa / process /
routing_table / selinux / selinux_module /
service / user / x509_certificate /
x509_private_key / windows_feature /
windows_registry_key / yumrepo / zfs
?
http://serverspec.org/
resource_types.html
?
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Serverspec
のデモ
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Advanced Tips
http://serverspec.org/advanced_tips.html?
gHに聞っていくには、serverspec-init で伏
撹される Rakefile や spec_helpler のまま
ではつらい
How to use host specific properties?
How to share Serverspec tests among
hosts
?
How to use Serverspec tests as shared
behaviors
?
?
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Serverspec まとめ
Serverspec サ`バ撹のテス
トツ`ル
?
Solaris にも?
Rakefile や spec_helper.rb
はきQえ容X
?
Advanced Tips に朕を宥す?
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
インフラ
CI
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
インフラCI
Puppet などの撹砿尖ソフト
ウェアで吭輙┐蠅撹される
ことをServerspec でテスト
し、@A議に Puppet などのコ
`ドを個鋲していくこと。
?
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Solaris にする
インフラCIの送れ
Solaris h廠の喘吭?
Puppet g佩?
Serverspec g佩?
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
}1: Solarish廠の喘吭
Vagrant で Solaris の VM を喘吭する?
Solaris 貧で Zone を喘吭する?
Solaris 貧で Kernel Zone を喘吭する?
SPARC 貧で LDOM を喘吭する?
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
}2: Zoneのあつかい
Zone のB?
Zone 坪で Puppet のg佩?
Zone にして Serverspec の
g佩
?
Zone の篤?
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Zone のあつかい
docker4solaris を聞う?
徭恬スクリプトを聞う?
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
docker4solaris
https://github.com/maduma/
docker4solaris
?
Zone を Docker っぽくQう
Bash script
s 250 佩?
h廠はQめ嬉ち
etherstub / ipnat / dhcp?
?
?
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Tutorial を咾してみる
docker version
docker search tutorial
docker pull learn/tutorial
docker run learn/tutorial echo "Hello World"
docker run learn/tutorial ping www.google.com
docker run learn/tutorial pkg install apache-22
docker ps -l
docker commit CONTAINER learn/apache-22
docker images
docker run learn/apache-22 /usr/apache2/2.2/bin/apachectl -M
docker inspect CONTAINER
docker push learn/apache-22
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
徭恬スクリプト
_k嶄?
Zone を恬って、Zone 坪でコマ
ンドをg佩するところまではで
きている
?
オプションを Vagrant や
Docker に貌せるか深え嶄
?
ご吭勅鹿嶄?
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
デモ
Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
まとめ
Solaris には祇醤がBっている
ので、それらをうまくつなげる
ものをければ、なんとかなる
?
docker4solaris のような護り
俳り嶷勣
?

More Related Content

Solaris Zone と Puppet、Serverspec でインフラ CI

  • 1. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 Solaris Zoneと Puppet、 Serverspecで インフラCI OSC 2015 Tokyo/Fall となか
  • 2. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 徭失B初 兆念: となかふみひさ? ID: @ftnk? インフラエンジニア 麼に Solaris (151a から) この PC も Solaris? ? ? 侭奉 床の Solaris メインの氏芙? 晩云 OpenSolaris ユ`ザグル`プ? ?
  • 3. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 晩云OpenSolaris ユ`ザ`グル`プ http://www.opensolaris.gr.jp/? #osoljp? 試 茶氏i氏α http://connpass.com/series/322/? ? パッケ`ジ恬撹 https://osdn.jp/projects/jposug/? ? ?
  • 4. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 agenda Solaris でもインフラ CI し たい 1. Solaris Zone2. Puppet3. Serverspec4. Solaris で CI5.
  • 5. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 Solaris でも インフラCI したい
  • 6. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 インフラ CI Serverspec がリリ`スされて からインフラの CI が} ? Puppet や Chef などの撹砿 尖ソフトウェアでサ`バをB し、Serverspec でテスト ? CI のためのh廠を喘吭する圭 隈として Vagrant や Docker がよく聞われている ?
  • 7. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 Solaris で CI Vagrant で Solaris の VM を 喘吭することはできるが、 Solaris だけで]じたい ? Solaris では Docker が聞えな い Solaris でも Docker に鬉垢襪 いうはある https://www.oracle.com/corporate/ pressrelease/docker-gets-in-the- zone-with-oracle-solaris-073015.html ? ? ?
  • 8. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 Solaris で CI Solaris には Zone があるんだ し、Zone を聞いたい ? Vagrant や Docker のような湖 じで、Zone をQう圭隈が駅勣 ?
  • 9. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 とりあえずの圭隈 Docker や Vagrant 議なものを 聞わない ? Bgみの Zone にして、 Puppet などをg佩し Serverspec でテスト 仟、劉h廠にするg佩をテストできない 返できしが駅勣? ? ?
  • 10. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 まとめ Zone を聞いたい? CI のたびに、仟、劉h廠を喘 吭したい ? Vagrant や Docker のような湖 じで Zone をQうしくみが圀し い ?
  • 11. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 Solaris Zone
  • 12. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 Solaris Zone Zone の古勣? Zone のN? Zone のB? Zone とパッケ`ジ?
  • 13. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 Zone の古勣 Solaris 10 參週2005 定?? 揖じカ`ネルで}方のシステム を嘛 光Nリソ`スの蛍x?崙? ? しくはm鍋さんの OSC 2015 Tokyo/ Spring のY創を歌孚 http://www.slideshare.net/ satorumiyazaki/solaris-osc- tokyo2015springzone ? ?
  • 14. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 Zone のNbrand Solaris 11.2 における Zone のNbrand solaris 糞弔 Zone solaris10 Solaris 10 を咾す Zone solaris-kz ホストとはなるバ`ジョンのカ`ネルを咾 す Zone
  • 15. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 Immutable Zone file-mac-profile のO協で zone を read only に strict iみ函り喘? ? fixed-configuration /var 參和はきzみ辛? ? flexible-configuration /etc と /var 參和はきzみ辛? ? none iみき辛? ?
  • 16. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 Immutable Zone $ touch hoge touch: cannot create hoge: Read-only file system zoneadm apply で郡啌音辛? strict ではきzみできないの で、軟rにログがけること を_Jするサ`ビスは軟咾任 ない ?
  • 17. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 Zone の B
  • 18. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 Zone のB (solaris) # zonecfg -z testzone create # zoneadm -z testzone install Zone の撹には /etc/zones/SYSdefault.xml のテンプレ`トが聞われる。 テンプレ`トを聞わない栽は 'create -b'? ?
  • 19. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 Zone のB (solaris10) # zonecfg -z testzone create -t SYSsolaris10 # zoneadm -z testzone install -a sol10.flar -u パッケ`ジ system/zones/brand/brand- solaris10 が駅勣 ? インスト`ルにはいずれかのア`カイブが駅勣 flash archive / pax / cpio (+gzip/ bzip2) / ufsdump (level 0) ? ? '-t' で峺協しているテンプレ`トのg悶は /etc/ zones/SYSsolaris10.xml ?
  • 20. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 Zone のB (solaris-kz) # zonecfg -z testzone create -t SYSsolaris-kz # zoneadm -z testzone install パッケ`ジ system/zones/brand/brand- solaris-kz が駅勣 ? '-t' で峺協しているテンプレ`トのg悶は /etc/ zones/SYSsolaris-kz.xml ?
  • 21. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 Zone のB ここまでの圭隈はシンプルすぎ? gHにはネットワ`クO協とか したいことがある ?
  • 22. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 Zone Brにできること Zone の撹を局す cpu / memory / disk / network etc.? ? AI マニフェストを峺協する package / publisher / pool / zfs etc.? ? SC プロファイルを峺協する hostname / root / user / nsswitch.conf / resolv.conf / keymap etc. ? ?
  • 23. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 Zone の撹を局す Zone の撹 cpu? memory? disk? network? など zonecfg でO協するもの
  • 24. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 Zone の撹を局す # zonecfg -z testzone1 export -f testzone1.zonecfg # zonecfg -z testzone2 create -f testzone1.zonecfg create rに '-f' でファイルを局すことができる? kernel zone の keysource リソ`スの export には慙泙駅勣 ?
  • 25. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 AI マニフェストを峺協する AI マニフェスト AI (Automated Installer) が歌孚するファイル? /usr/share/auto_install/manifest/ zone_default.xml ? zpool/zfs/be/facet/package などをO協辛嬬? ? Zone のインスト`ルrに AI がg佩されます?
  • 26. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 AI マニフェストを峺協する # zoneadm -z testzone install -m testzone_manifest.xml zoneadm install rに '-m' で AI マニフェスト を局すことができる ?
  • 27. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 SC プロファイルを峺協する SC (System Configuration) プロファイル hostname/nsswitch.conf/resolv.conf/keymap/ tiemzone/root/user account などをO協辛嬬 Zone 兜指ブ`トrの Wizard でO協する朕? SC プロファイルでO協することで Wizard が竃な くなる ? ? ?
  • 28. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 SC プロファイルを峺協する # zoneadm -z testzone install -c testzone_profile.xml zoneadm install/clone rに '-c' で SC プロ ファイルを局すことができる ?
  • 29. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 Zone の clone # zoneadm -z testzone2 clone testzone1 # zoneadm -z testzone2 clone testzone1 -c profile.xml 揖匯の zpool 貧であれば、ZFS の clone なる zpool 貧であれば、デ`タのコピ`? Publisher からのインスト`ルより壼い? ? unconfig されるので、 SC プロファイルを局す? 兜指ブ`トrに Wizard でO協? などが駅勣 ?
  • 30. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 Zone Bまとめ Solaris 11.2 で聞える Zone は 3 N solaris/solaris10/solaris-kz? ? file-mac-profile で zone 坪でのiみきを 崙囮 ? Zone Brに局せるO協は局しておくと宴旋 Zone の撹? AI マニフェスト? SC プロファイル? ? Zone の clone は宴旋?
  • 31. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 Puppet
  • 32. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 Puppet 古勣 Puppetlabs による撹砿尖ツ`ル ZFS や Zone の荷恬にも? master/agent 撹、g悶、どちらも辛嬬? ? Solaris 11.2 からパッケ`ジが贋壓 Solaris 喘 module が根まれている? ?
  • 33. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 Puppet マニフェスト サ`バのO協をいたファイル をマニフェストと柵ぶ node 'default' { Package['pkg:/web/server/apache-22'] -> Service['svc:/network/http:apache22'] package { 'pkg:/web/server/apache-22': ensure => installed, } service { 'svc:/network/http:apache22': ensure => running, enable => true, } } ?
  • 34. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 リソ`スタイプ マニフェストにく 'package' や 'service' などを リソ`スタイプという ? リソ`スタイプ Puppet 覆婆畊 http://docs.puppetlabs.com/references/ latest/type.html ? ? モジュ`ルによって戻工 https://forge.puppetlabs.com/? ? ユ`ザによる協x? ?
  • 35. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 Solaris module ネットワ`クvB? サ`ビスvB? その麿BE、パッケ`ジ?
  • 36. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 Solaris module: network dladm etherstub / ip tunnel / link aggregation / link properties / vlan / vnic ? ? ipadm address object / address properties / interface properties / ip interface / ipmp interface / protocol properties / vni interface ? ? nsswitch? resolver?
  • 37. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 Solaris module: service svccfg? nis? ldap?
  • 38. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 Solaris module: others BE? package facet / variant / mediator / publisher ? ?
  • 39. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 Puppet のgなデモ Apache のO協 パッケ`ジのインスト`ル? 64bit バイナリを旋喘? mpm は worker? サ`ビスを enable にする? サ`ビスを軟? ?
  • 40. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 Puppet まとめ Puppet は撹砿尖ソフトウェ ア ? 覆 zone や zfs に? Oracle による Solaris モジ ュ`ル ?
  • 41. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 Serverspec
  • 42. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 Serverspec 古勣 http://serverspec.org/? m和oさんによる、サ`バ 撹のテストツ`ル ? RSpec ベ`ス? SSH / Docker API / WinRM な どをU喇してテストをg佩 ?
  • 43. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 Serverspec の Solaris 11 ほぼ、となかがいています? となかが聞う譴砲いては }なく咾い討い泙 ? Solaris 10 でもある殻業は くはずです ?
  • 44. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 Solaris っぽいテスト 1 describe service('apache22') do it { should be_enabled } it { should be_running } its(:property) { should include('httpd/server_type' => 'worker') } its(:property) { should include('httpd/enable_64bit' => 'true') } end
  • 45. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 Solaris っぽいテスト 2 describe zfs('rpool') do it { should exist } its(:property) { should include('mounted' => 'yes') } end
  • 46. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 リソ`スタイプ bond / bridge / cgroup / command / cron / default_gateway / docker_container / docker_image / file / group / host / iis_app_pool / iis_website / interface / ipfilter / ipnat / iptables / kernel_module / linux_audit_system / linux_kernel_parameter / lxc / mail_alias / mysql_config / package / php_config / port / ppa / process / routing_table / selinux / selinux_module / service / user / x509_certificate / x509_private_key / windows_feature / windows_registry_key / yumrepo / zfs ? http://serverspec.org/ resource_types.html ?
  • 47. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 Serverspec のデモ
  • 48. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 Advanced Tips http://serverspec.org/advanced_tips.html? gHに聞っていくには、serverspec-init で伏 撹される Rakefile や spec_helpler のまま ではつらい How to use host specific properties? How to share Serverspec tests among hosts ? How to use Serverspec tests as shared behaviors ? ?
  • 49. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 Serverspec まとめ Serverspec サ`バ撹のテス トツ`ル ? Solaris にも? Rakefile や spec_helper.rb はきQえ容X ? Advanced Tips に朕を宥す?
  • 50. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 インフラ CI
  • 51. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 インフラCI Puppet などの撹砿尖ソフト ウェアで吭輙┐蠅撹される ことをServerspec でテスト し、@A議に Puppet などのコ `ドを個鋲していくこと。 ?
  • 52. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 Solaris にする インフラCIの送れ Solaris h廠の喘吭? Puppet g佩? Serverspec g佩?
  • 53. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 }1: Solarish廠の喘吭 Vagrant で Solaris の VM を喘吭する? Solaris 貧で Zone を喘吭する? Solaris 貧で Kernel Zone を喘吭する? SPARC 貧で LDOM を喘吭する?
  • 54. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 }2: Zoneのあつかい Zone のB? Zone 坪で Puppet のg佩? Zone にして Serverspec の g佩 ? Zone の篤?
  • 55. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 Zone のあつかい docker4solaris を聞う? 徭恬スクリプトを聞う?
  • 56. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 docker4solaris https://github.com/maduma/ docker4solaris ? Zone を Docker っぽくQう Bash script s 250 佩? h廠はQめ嬉ち etherstub / ipnat / dhcp? ? ?
  • 57. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 Tutorial を咾してみる docker version docker search tutorial docker pull learn/tutorial docker run learn/tutorial echo "Hello World" docker run learn/tutorial ping www.google.com docker run learn/tutorial pkg install apache-22 docker ps -l docker commit CONTAINER learn/apache-22 docker images docker run learn/apache-22 /usr/apache2/2.2/bin/apachectl -M docker inspect CONTAINER docker push learn/apache-22
  • 58. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 徭恬スクリプト _k嶄? Zone を恬って、Zone 坪でコマ ンドをg佩するところまではで きている ? オプションを Vagrant や Docker に貌せるか深え嶄 ? ご吭勅鹿嶄?
  • 59. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 デモ
  • 60. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8 まとめ Solaris には祇醤がBっている ので、それらをうまくつなげる ものをければ、なんとかなる ? docker4solaris のような護り 俳り嶷勣 ?