Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Don't need docker

411 views

Published on

Gentoo勉強会で systemd のコンテナを勧めてみた

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Don't need docker

  1. 1. I love Gentoo! 山田剛 #gentoo勉強会 2016/10/01
  2. 2. 注意事項 タイトルは煽りです! 当方、dockerに敵意は持っておりません
  3. 3. おまえ誰よ GO Yamada Web広告配信会社で雑用の合間に DNS、メール、Hadoop等の運用、 構築をやってます  最近の仕事  インターネットができないんです案件からGmail への移行  好きな Linux ディストリ  Gentoo 教 systemd 派  ここ1年の興味  糖質制限を Python に関連付けしてネタを作りたい  最近詰まっているところ  Gentoo で qmail-smtpd の Unit の書き方  コミュニティ  Sphinx-Users.JP  Python mini hack-a-thon 3 Twitter: usaturn
  4. 4. 宣伝 Sphinx-Users.JP 「Sphinx」というPythonのドキュメンテーション ツールのユーザ会で活動しています。 4 現在ユーザ会のメンバで SoftwareDesignにSphinx の記事を連載中!
  5. 5. アンケート  btrfs を常用している人  Gentoo で docker 使っている人  Gentoo を systemd で使っている人  systemd-nspawn を使っている人
  6. 6. 本日のアジェンダ 1. btrfs について 2. systemd のおさらいとメリット 3. systemd-nspawn の紹介
  7. 7. btrfs  Copy on Write  従来のパーティションをサブボリュームとして作る ことが可能  サブボリュームのスナップショットが撮れる  サブボリューム単位でバックアップがとれる  send/receive  RAID0、RAID1 が stable で利用可能  透過圧縮が利く compress=gzip, lzo  スワップ領域が作れない
  8. 8. Gentoo 人も systemd 使おう  ユニット(unit)  systemd がプロセス管理する為の最小単位、あるい はその設定ファイル  便利機能各種  Genntoo や Arch なら systemd で基本機能を代替で きるので最小構成が作りやすい  Gentoo は systemd の stage3 があるので簡単に セットアップできるようになった
  9. 9. ユニットでできる事  コマンドの実行  他のユニットとの依存関係の解決  ファイルの存在や mount デバイスの有無等の条件 分岐
  10. 10. syslog が要らない  journald という仕組みでテキストログではなくバイ ナリに出力される。
  11. 11. ネットワーク設定  systemd-networkd
  12. 12. cron が要らない  systemd.timer
  13. 13. ntp クライアントが要らない  systemd-timesyncd
  14. 14. grub が要らない  標準で systemd-boot というブートローダーを備え ており、UEFI の場合は GRUB のインストールが不 要。  BIOS が UEFI の場合は /boot を ESP にする事に よって UEFI から直接 ESP のファイルを起動する事 ができる。ブートローダーも使いたくなければ、直 接 UEFI エントリに登録する事も可能
  15. 15. Gentoo で systemd を導入するメリット  既存の必須アプリで systemd が代替できる物が多 い為、パッケージの導入が少なくなる  もちろん、systemd の便利機能が使える事はよい事
  16. 16. docker が要らない? systemd-nspawn この発表の主目的
  17. 17. デモ コンテナの起動停止 :: machinectl start [コンテナ名] machinectl poweroff コンテナのスタートアップ :: machinectl enable [コンテナ名] machinectl disable [コンテナ名] 稼働中のコンテナの確認 :: machinectl list machinectl status [コンテナ名] machinectl show [コンテナ名] コンテナイメージの確認 :: machinectl list-images machinectl image-status machinectl show-image コンテナイメージの複製 :: machinectl clone [From] [To] コンテナイメージのリネーム、削除 :: machinectl rename [From] [To] machinectl remove [コンテナ名]
  18. 18. デモ コンテナイメージの容量制限 :: machinectl set-limit コンテナイメージのアーカイブ、展開 :: # アーカイブ machinectl export-tar --format=[gz, bzip2, xz] [コンテナ名] [ファイル名] # xz でマルチスレッド圧縮をする例 (一番お勧め!) maxz() { machinectl export-tar $1 $1.tar && nice -n 20 xz -z -f -T $(nproc) -vv $1.tar; } maxz [コンテナ名] # インポート machinectl import-tar [ファイル名] [コンテナ名] Web サーバからイメージをダウンロードする :: # machinectl pull-tar [URL] [name] machinectl pull-tar --verify=no http://spica:8000/gbase.tar.gz gbase # pull の最中に Ctrl+C で処理をバックグラウンドにする事ができるが、バックグラウンドの処 理を見たい時に実行する。 machinectl list-transfers
  19. 19. まとめ sysytemd を使うと従来必須だった パッケージを入れずに済む systemd-nspawn はとても便利 systemd-nspawn 使うなら btrfs も 合わせて使うとイメージのクローン がスナップショットになり作成が速 い、容量を食わない等のメリットが ある

×