Enviar búsqueda
Cargar
Puppet×docker 夢の競演
•
Descargar como PPTX, PDF
•
0 recomendaciones
•
114 vistas
R
Ryo Sugahara
Seguir
第6回 Puppetユーザ会での発表資料です。 https://japanpuppetusergroup.connpass.com/
Leer menos
Leer más
Ingeniería
Denunciar
Compartir
Denunciar
Compartir
1 de 14
Descargar ahora
Recomendados
蛇を埋葬する(PythonをEmbedする)
蛇を埋葬する(PythonをEmbedする)
Shintarou Okada
Gentooサークル新歓コンパのご案内
Gentooサークル新歓コンパのご案内
Takuto Matsuu
Gentoo Linuxの紹介
Gentoo Linuxの紹介
University of Tsukuba Linux User Group
マウスを使わないでキーボードで快適に生活する方法(GNU Screen/tmux/byobu/awesome)
マウスを使わないでキーボードで快適に生活する方法(GNU Screen/tmux/byobu/awesome)
Kenichiro MATOHARA
アプリ屋のための Docker入門
アプリ屋のための Docker入門
小川 昌吾
Goodby Hatena, hello Sphinx
Goodby Hatena, hello Sphinx
Kouhei Maeda
[EC-CUBE名古屋]仮想サーバでEC-CUBE環境を作ってみようハンズオン
[EC-CUBE名古屋]仮想サーバでEC-CUBE環境を作ってみようハンズオン
Hiroyasu Yamada
どこでも動くゲームを作るためのベタープラクティス
どこでも動くゲームを作るためのベタープラクティス
5mingame2
Recomendados
蛇を埋葬する(PythonをEmbedする)
蛇を埋葬する(PythonをEmbedする)
Shintarou Okada
Gentooサークル新歓コンパのご案内
Gentooサークル新歓コンパのご案内
Takuto Matsuu
Gentoo Linuxの紹介
Gentoo Linuxの紹介
University of Tsukuba Linux User Group
マウスを使わないでキーボードで快適に生活する方法(GNU Screen/tmux/byobu/awesome)
マウスを使わないでキーボードで快適に生活する方法(GNU Screen/tmux/byobu/awesome)
Kenichiro MATOHARA
アプリ屋のための Docker入門
アプリ屋のための Docker入門
小川 昌吾
Goodby Hatena, hello Sphinx
Goodby Hatena, hello Sphinx
Kouhei Maeda
[EC-CUBE名古屋]仮想サーバでEC-CUBE環境を作ってみようハンズオン
[EC-CUBE名古屋]仮想サーバでEC-CUBE環境を作ってみようハンズオン
Hiroyasu Yamada
どこでも動くゲームを作るためのベタープラクティス
どこでも動くゲームを作るためのベタープラクティス
5mingame2
Skype4 pyで遊んでみた
Skype4 pyで遊んでみた
Daijirou Yamada
Hubotを使ってbotをつくろう!
Hubotを使ってbotをつくろう!
Daisuke Kikuchi
第2回勉強会資料 柏木
第2回勉強会資料 柏木
beyond0iwamoto
Windowsにpythonをインストールしてみよう
Windowsにpythonをインストールしてみよう
Kenji NAKAGAKI
OpenStreetMapの紹介
OpenStreetMapの紹介
Nozomu KURASAWA
vscode pipenv docker
vscode pipenv docker
ikdysfm
『こなへん』ができるまで ☆リリース直前編☆
『こなへん』ができるまで ☆リリース直前編☆
5mingame2
自作GPUへの道
自作GPUへの道
Daisuke Kamikawa
3 Dプリンタでロボットを作ろう_プレンプロジェクト
3 Dプリンタでロボットを作ろう_プレンプロジェクト
Natsuo Akazawa
SPAJAMでやったこと
SPAJAMでやったこと
Hiroto Imoto
CrystalFantasiaを支えきった技術と技術だけではどうにもならなかった話
CrystalFantasiaを支えきった技術と技術だけではどうにもならなかった話
Keisuke Utsumi
JumperT16でDonkeyCarを操作する。
JumperT16でDonkeyCarを操作する。
Masanori Miyamoto
Pythonでゲーム作る
Pythonでゲーム作る
amusementcreators
About kitakat
About kitakat
hidenorly
今年使ってみて良かった、Pythonモジュール、パッケージ、ツール
今年使ってみて良かった、Pythonモジュール、パッケージ、ツール
aoshiman
久しぶりのPythonでgoogleのアレを制御してみた
久しぶりのPythonでgoogleのアレを制御してみた
Shohei Tai
軽量言語(Lua, mruby)でGR-KURUMIを操作
軽量言語(Lua, mruby)でGR-KURUMIを操作
三七男 山本
Ubuntu なひととき
Ubuntu なひととき
Hiroshi Chonan
ゼロから始める自作 CPU 入門
ゼロから始める自作 CPU 入門
Hirotaka Kawata
wxPython入門(大阪Pythonユーザの集まり2014/03)
wxPython入門(大阪Pythonユーザの集まり2014/03)
泰 増田
ChefとPuppetの比較
ChefとPuppetの比較
Sugawara Genki
究極のディストリビューションUbuntu
究極のディストリビューションUbuntu
Kenichi Takahashi
Más contenido relacionado
La actualidad más candente
Skype4 pyで遊んでみた
Skype4 pyで遊んでみた
Daijirou Yamada
Hubotを使ってbotをつくろう!
Hubotを使ってbotをつくろう!
Daisuke Kikuchi
第2回勉強会資料 柏木
第2回勉強会資料 柏木
beyond0iwamoto
Windowsにpythonをインストールしてみよう
Windowsにpythonをインストールしてみよう
Kenji NAKAGAKI
OpenStreetMapの紹介
OpenStreetMapの紹介
Nozomu KURASAWA
vscode pipenv docker
vscode pipenv docker
ikdysfm
『こなへん』ができるまで ☆リリース直前編☆
『こなへん』ができるまで ☆リリース直前編☆
5mingame2
自作GPUへの道
自作GPUへの道
Daisuke Kamikawa
3 Dプリンタでロボットを作ろう_プレンプロジェクト
3 Dプリンタでロボットを作ろう_プレンプロジェクト
Natsuo Akazawa
SPAJAMでやったこと
SPAJAMでやったこと
Hiroto Imoto
CrystalFantasiaを支えきった技術と技術だけではどうにもならなかった話
CrystalFantasiaを支えきった技術と技術だけではどうにもならなかった話
Keisuke Utsumi
JumperT16でDonkeyCarを操作する。
JumperT16でDonkeyCarを操作する。
Masanori Miyamoto
Pythonでゲーム作る
Pythonでゲーム作る
amusementcreators
About kitakat
About kitakat
hidenorly
今年使ってみて良かった、Pythonモジュール、パッケージ、ツール
今年使ってみて良かった、Pythonモジュール、パッケージ、ツール
aoshiman
久しぶりのPythonでgoogleのアレを制御してみた
久しぶりのPythonでgoogleのアレを制御してみた
Shohei Tai
軽量言語(Lua, mruby)でGR-KURUMIを操作
軽量言語(Lua, mruby)でGR-KURUMIを操作
三七男 山本
Ubuntu なひととき
Ubuntu なひととき
Hiroshi Chonan
ゼロから始める自作 CPU 入門
ゼロから始める自作 CPU 入門
Hirotaka Kawata
wxPython入門(大阪Pythonユーザの集まり2014/03)
wxPython入門(大阪Pythonユーザの集まり2014/03)
泰 増田
La actualidad más candente
(20)
Skype4 pyで遊んでみた
Skype4 pyで遊んでみた
Hubotを使ってbotをつくろう!
Hubotを使ってbotをつくろう!
第2回勉強会資料 柏木
第2回勉強会資料 柏木
Windowsにpythonをインストールしてみよう
Windowsにpythonをインストールしてみよう
OpenStreetMapの紹介
OpenStreetMapの紹介
vscode pipenv docker
vscode pipenv docker
『こなへん』ができるまで ☆リリース直前編☆
『こなへん』ができるまで ☆リリース直前編☆
自作GPUへの道
自作GPUへの道
3 Dプリンタでロボットを作ろう_プレンプロジェクト
3 Dプリンタでロボットを作ろう_プレンプロジェクト
SPAJAMでやったこと
SPAJAMでやったこと
CrystalFantasiaを支えきった技術と技術だけではどうにもならなかった話
CrystalFantasiaを支えきった技術と技術だけではどうにもならなかった話
JumperT16でDonkeyCarを操作する。
JumperT16でDonkeyCarを操作する。
Pythonでゲーム作る
Pythonでゲーム作る
About kitakat
About kitakat
今年使ってみて良かった、Pythonモジュール、パッケージ、ツール
今年使ってみて良かった、Pythonモジュール、パッケージ、ツール
久しぶりのPythonでgoogleのアレを制御してみた
久しぶりのPythonでgoogleのアレを制御してみた
軽量言語(Lua, mruby)でGR-KURUMIを操作
軽量言語(Lua, mruby)でGR-KURUMIを操作
Ubuntu なひととき
Ubuntu なひととき
ゼロから始める自作 CPU 入門
ゼロから始める自作 CPU 入門
wxPython入門(大阪Pythonユーザの集まり2014/03)
wxPython入門(大阪Pythonユーザの集まり2014/03)
Similar a Puppet×docker 夢の競演
ChefとPuppetの比較
ChefとPuppetの比較
Sugawara Genki
究極のディストリビューションUbuntu
究極のディストリビューションUbuntu
Kenichi Takahashi
PyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミング
Ransui Iso
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Masahito Zembutsu
Androidへのdebianインストール奮闘記
Androidへのdebianインストール奮闘記
Tomoya Kawanishi
Ubuntu Tokyo Meeting 9.08
Ubuntu Tokyo Meeting 9.08
Naruhiko Ogasawara
Chef Casual Talk Vol.1 最近、日本でPuppetの影が薄くなって悲しいので、 ここであえてPuppetの話をする
Chef Casual Talk Vol.1 最近、日本でPuppetの影が薄くなって悲しいので、 ここであえてPuppetの話をする
Hidetoshi Ochiai
Windows8活用研究2 2013-01-26-公開用
Windows8活用研究2 2013-01-26-公開用
Tomokazu Kizawa
ザックリとDocker
ザックリとDocker
ionis111
捕鯨!詳解docker
捕鯨!詳解docker
雄哉 吉田
Qt creatorでremote_debug
Qt creatorでremote_debug
Kazuo Asano (@kazuo_asa)
デスクトップ環境を作るらしいぞ!!!
デスクトップ環境を作るらしいぞ!!!
centra3
勉強会向けサーバを作ってみる2 / Rasbian jessieを試す/ Google Authenticatorのパスコードを作る
勉強会向けサーバを作ってみる2 / Rasbian jessieを試す/ Google Authenticatorのパスコードを作る
Kenichiro MATOHARA
XRDPで怠惰な日々を送る
XRDPで怠惰な日々を送る
monochrojazz
AllwinnerタブレットのOSを作ってみる(中編)
AllwinnerタブレットのOSを作ってみる(中編)
shimadah
今時のDev opsの取り組み事例集
今時のDev opsの取り組み事例集
Wataru NOGUCHI
Dockerを使ってみよう
Dockerを使ってみよう
Ryo Adachi
Android タブレットにLinuxを入れて色々と遊んでみよう 続編その2 Hacking of Android Tablet on Linux 2
Android タブレットにLinuxを入れて色々と遊んでみよう 続編その2 Hacking of Android Tablet on Linux 2
Netwalker lab kapper
Docker Machineを始めるには?
Docker Machineを始めるには?
Masahito Zembutsu
Robot Language and a Tail Recursive Interpreter
Robot Language and a Tail Recursive Interpreter
たけおか しょうぞう
Similar a Puppet×docker 夢の競演
(20)
ChefとPuppetの比較
ChefとPuppetの比較
究極のディストリビューションUbuntu
究極のディストリビューションUbuntu
PyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミング
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Androidへのdebianインストール奮闘記
Androidへのdebianインストール奮闘記
Ubuntu Tokyo Meeting 9.08
Ubuntu Tokyo Meeting 9.08
Chef Casual Talk Vol.1 最近、日本でPuppetの影が薄くなって悲しいので、 ここであえてPuppetの話をする
Chef Casual Talk Vol.1 最近、日本でPuppetの影が薄くなって悲しいので、 ここであえてPuppetの話をする
Windows8活用研究2 2013-01-26-公開用
Windows8活用研究2 2013-01-26-公開用
ザックリとDocker
ザックリとDocker
捕鯨!詳解docker
捕鯨!詳解docker
Qt creatorでremote_debug
Qt creatorでremote_debug
デスクトップ環境を作るらしいぞ!!!
デスクトップ環境を作るらしいぞ!!!
勉強会向けサーバを作ってみる2 / Rasbian jessieを試す/ Google Authenticatorのパスコードを作る
勉強会向けサーバを作ってみる2 / Rasbian jessieを試す/ Google Authenticatorのパスコードを作る
XRDPで怠惰な日々を送る
XRDPで怠惰な日々を送る
AllwinnerタブレットのOSを作ってみる(中編)
AllwinnerタブレットのOSを作ってみる(中編)
今時のDev opsの取り組み事例集
今時のDev opsの取り組み事例集
Dockerを使ってみよう
Dockerを使ってみよう
Android タブレットにLinuxを入れて色々と遊んでみよう 続編その2 Hacking of Android Tablet on Linux 2
Android タブレットにLinuxを入れて色々と遊んでみよう 続編その2 Hacking of Android Tablet on Linux 2
Docker Machineを始めるには?
Docker Machineを始めるには?
Robot Language and a Tail Recursive Interpreter
Robot Language and a Tail Recursive Interpreter
Puppet×docker 夢の競演
1.
Puppet×Docker 夢の競演(?) 菅原 亮 第6回
Puppetユーザ会 発表資料
2.
今回はPuppet Enterpriseが主役 Puppet Enterpriseって、 GUI便利だし10ノードまで無償だから、 もうちょっと使ってみようよという意味もあって、 今回はPuppet
Enterpriseを全面に出します。
3.
Dockerってなに? ・・・ここにいらっしゃるような皆さまには説明要らないですよね? 言わずと知れた代表的なコンテナアプリケーションのデプロイ自動化ソフトウェアです。 dockerコマンドを使っていろいろコマンドラインでコンテナを操作できます。 でもコマンドラインオプションが多過ぎていつも忘れてしまいます(僕だけ?) ・・・覚えてられません(汗 Puppetはそんな忘れっぽいアナタの強い味方です! docker run -it
--rm --privileged=true --add-host puppet:192.168.182.3 --add-host vpe:192.168.182.3 -v /sys/fs/cgroup:/sys/fs/cgroup:ro sugaharar/centos7-systemd コンテナをちょっど強引に例えるなら、 1つのマシン上に特定アプリ専用の ちっさなVMみたいなものが いっぱい載るイメージです。
4.
コンテナを起動する(コマンドライン編) Docker EnterpriseのWebコンソールを確認してから さっきのコマンドを実行してみましょう。 実行後、もう一度Docker EnterpriseのWebコンソールを確認してみましょう。 docker
run -it --rm --privileged=true --add-host puppet:192.168.182.3 --add-host vpe:192.168.182.3 -v /sys/fs/cgroup:/sys/fs/cgroup:ro sugaharar/centos7-systemd
5.
PuppetとDocker garethr/dockerモジュール https://forge.puppet.com/garethr/docker dockerコマンドでできる事はほぼマニフェストとして記述できます! Puppet ForgeでAPPROVEDになっています これがベースとなっていると思わしきPuppet社公式モジュールも新たに出ています。 puppetlabs/docker_platformモジュール https://forge.puppet.com/puppetlabs/docker_platform 今回はgarethr/dockerモジュールを使ってdockerをいろいろ弄ってみます!
6.
コンテナを起動する(Puppet編) Docker EnterpriseのWebコンソールを確認してから以下のマニフェストを実行します。 docker::run {
'sugaharar': ensure => present, image => 'sugaharar/centos7-systemd', privileged => true, tty => true, hostname => 'sugaharar', ports => ['22',], } 削除はコチラ docker::run { 'sugaharar': ensure => absent, image => 'sugaharar/centos7-systemd', }
7.
Puppet EnterpriseのGUIから制御する このように単にモジュールを呼び出すだけなら簡単ですけど、 それでは芸が無い(?)のでちょっとだけ便利にします。 1. 1回の呼び出しで複数のコンテナを起動/停止できる 2.
コンテナ起動と同時にPuppetエージェント自動インストール&自動登録 3. コンテナ停止と同時にPuppetエージェントの登録解除
8.
ハッシュを受け取るクラスを作って、イテレータでループさせます。 イテレータはPuppet v4系から使えるようになりました! class wrap_docker
( Hash $lst_container, ){ $lst_container.each |$container_name| { docker::run { $container_name[0]: ensure => $container_name[1], image => 'sugaharar/centos7-systemd', privileged => true, tty => true, hostname => $container_name[0], hostentries => [ 'vpe:192.168.2.2', ], ports => ['22',], } } } マニフェストを作る(その1)
9.
コンテナ起動の時はPuppetエージェントインストールします。 docker::execクラスを使うと起動したコンテナで任意のコマンドを実行できます。 if $container_name[1] ==
'present' { docker::exec { "puppet_agent_install_${container_name[0]}": detach => false, container => $container_name[0], command => '/bin/sh -c '/usr/bin/curl -k https://vpe:8140/packages/current/install.bash | /bin/bash -s'', tty => true, unless => '/bin/test -d /etc/puppetlabs', require => Docker::Run[$container_name[0]], } } マニフェストを作る(その2)
10.
コンテナ停止の時はsshを使って直接ノードをpurgeしてしまいます。 elsif $container_name[1] ==
'absent' { exec { "purge_container_node_${container_name[0]}": command => "/usr/bin/ssh vpe 'puppet node purge ${container_name[0]}'", onlyif => "/usr/bin/ssh vpe 'puppet cert list ${container_name[0]}'", } } マニフェストを作る(その3)
11.
class wrap_docker (
Hash $lst_container, ){ $lst_container.each |$container_name| { docker::run { $container_name[0]: ensure => $container_name[1], image => 'sugaharar/centos7-systemd', privileged => true, tty => true, hostname => $container_name[0], hostentries => [ 'vpe:192.168.2.2', ], ports => ['22',], } if $container_name[1] == 'present' { docker::exec { "puppet_agent_install_${container_name[0]}": detach => false, container => $container_name[0], command => '/bin/sh -c '/usr/bin/curl -k https://vpe:8140/packages/current/install.bash | /bin/bash -s'', tty => true, unless => '/bin/test -d /etc/puppetlabs', require => Docker::Run[$container_name[0]], } } elsif $container_name[1] == 'absent' { exec { "purge_container_node_${container_name[0]}": command => "/usr/bin/ssh vpe 'puppet node purge ${container_name[0]}'", onlyif => "/usr/bin/ssh vpe 'puppet cert list ${container_name[0]}'", } } } } 完成したマニフェスト
12.
使ってみよう! Puppet Enterpriseから実際にコンテナの起動と停止をしてみましょう! コンテナ起動: {"www01": "present",
"www02": "present"} コンテナ停止: {"www01": "absent", "www02": "absent"}
13.
まとめ ・Puppet ForgeのDockerモジュールでDockerを簡単制御 ・Puppet EnterpriseのGUIとDockerの組み合わせは便利 ・いろいろ応用しよう!
14.
ご清聴ありがとうございました
Descargar ahora