Slide 1

Slide 1 text

ྺ࢙⿾〾ඥղ。 Linux じがぼ゚〣ぢアふべػೳ CloudNative Days Tokyo 2019 Ճ౻ହจʢ@ten_forwardʣ 2019-07-23 1/39

Slide 2

Slide 2 text

ࣗݾ঺հʢ1ʣ Ճ౻ହจ Twitter @ten_forward github https://github.com/tenforward ٕज़ϒϩά https://tenforward.hatenablog.com/ ॴଐ גࣜձࣾ IDC や゜アふくぎ / lxc-jp Project 2/39

Slide 3

Slide 3 text

ࣗݾ঺հʢ2ʣ झຯ〜ぢアふべ〹〘〛〳『ɻぢアふべ〣ओ〠じがぼ゚पล〣࣮૷〠ڵຯ⿿⿴〿〳『ɻ 2007 ೥ ぢアふべぇ࢖〘〔つがもと։ൃʢVirtuozzoʣ 2009 ೥ OpenVZ/LXC ৮〿〕『 2013 ೥ ୈ 1 ճぢアふべܕԾ૝Խ〣৘ใަ׵ձɹ։࠵ LXC ೔ຊޠ man pages ຋༁&ろがで 2014 ೥ gihyo.jp 〜 ʮLXC 〜ֶ〫ぢアふべೖ໳ ʵܰྔԾ૝Խ؀ڥぇ࣮ݱ『぀ٕज़ʯ ࿈ࡌ։࢝ ݱࡏ CloudNative 〣೾〠৐〿஗ぁ぀ 3/39

Slide 4

Slide 4 text

ຊ೔〣಺༰ ぢアふべ〝〤 ぢアふべ〣やきぐ゚てとふわ 2000 ೥ʙ2006 ೥〣ぢアふべք۾ ゆ゜なと〣ִ཭ ぢアふべ〣ぼひぷゞがぜ 2009ʙ2012 ೥〣ぢアふべք۾ 2013 ೥〣ぢアふべք ඇಛݖぢアふべʢUser namespaceʣ 2014 ೥Ҏ߱〣ぢアふべք۾ 〳〝〶 4/39

Slide 5

Slide 5 text

ຊ೔〣಺༰ ɹʮྺ࢙ぇඥղ。ʯ〝⿶⿸のぐぷ゚〜『⿿ɺྺ࢙ぇશ෦௥〘〛⿶぀〝࣌ؒ⿿଍〿〳【えɻ࣍〣෦ ෼〣ゃひぜぎひゆ「〛આ໌「〳『ɻ • ぢアふべ〝〤 • ぢアふべ〣やきぐ゚てとふわ • ぢアふべ〣ぼひぷゞがぜ • ぢアふべ〣࣮ߦݖݶ ɹ〳〔ɺ࠷ۙ〤 OCI 〠४ڌ「〔ଟ਺〣ぢアふべ゘アのぐわ⿿ग़〛 〛⿶〳『ɻ〈〣த〠〤 VM 〹 Unikernel 〟〞〣ٕज़ぇ࢖〘〔゘アのぐわ⿿⿴〿〳『⿿ɺຊ೔ѻ⿸〣〤ੲ⿾〾ʮぢアふべʯ 〝ݺ〥ぁ〛⿶〔ɺゆ゜なとִ཭ܕ〣ʮぢアふべʯ〜『ɻ ɹぢアふべ࡞੒〠࢖⿸ぢろアへ〤 unshare ぢろアへɺip ぢろアへ〜『ʢDocker 〹 LXC 〤࢖ ⿶〳【え!!ʣ ɻ 5/39

Slide 6

Slide 6 text

ຊ೔〣಺༰ ぢアふべ〝〤 ぢアふべ〣やきぐ゚てとふわ 2000 ೥ʙ2006 ೥〣ぢアふべք۾ ゆ゜なと〣ִ཭ ぢアふべ〣ぼひぷゞがぜ 2009ʙ2012 ೥〣ぢアふべք۾ 2013 ೥〣ぢアふべք ඇಛݖぢアふべʢUser namespaceʣ 2014 ೥Ҏ߱〣ぢアふべք۾ 〳〝〶 6/39

Slide 7

Slide 7 text

ぢアふべ〝〤 ぢアふべ〝〤ゆ゜なと〜『: • ී௨〠ىಈ「〔ゆ゜なと〝〤গ「ҧ⿸ʮଐੑʯ⿿ࢦఆ〜 ぀ • ゆ゜なとぇִ཭͞Εۭͨؒ〜࣮ߦ『぀ • ゆ゜なと〠゙ぬがと੍ݶぇઃఆ〜 ぀ • なずゔ゙ふくʮଐੑʯぇઃఆ〜 ぀ • 〟〞ʜ 7/39

Slide 8

Slide 8 text

Linux 〠⿼々぀ぢアふべ Linux じがぼ゚〠〤ʮぢアふべʯ〝⿶⿸ػೳ〤͋Γ·ͤΜɻじがぼ゚〠࣮૷《ぁ〔৭ʑ〟ػೳΛ ૊Έ߹ΘͤͯʮίϯςφʯΛ࡞Γ·͢ɻ Docker 〹 LXC/LXD 〝ݴ〘〔ぢアふべ࣮૷ぇ࢖⿸୅い〿〠ࣗ෼ʹඞཁͳػೳ͚ͩΛબΜͰίϯ ςφΛ࡞Δ͜ͱ΋Ͱ͖·͢ɻ Linux じがぼ゚〠࣮૷《ぁ〔⿸〖ɺぢアふべ༻〣ओཁػೳ: Namespaceʢ໊લۭؒʣ: ʮִ཭ۭؒʯΛ࡞Δɻִ཭͢ΔϦιʔε͝ͱ〠 Namespace ⿿ଘࡏ ʢOS ゙ぬがと〠ର『぀ʣ cgroup: ゆ゜なと〠ର「〛Ϧιʔε੍ݶΛߦ͏ ʢ෺ཧ゙ぬがと〠ର『぀ʣ ຊ೔〤〈〣⿸〖 Namespace ぇத৺〠⿼࿩「〳『ʢKubernetes 〜〷 Namespace 〝⿶⿸໊ લ⿿ग़〛 〳『⿿ɺ〒ぁ〝〤ผ〣 Linux kernel 〣ػೳ〜『ʣ ɻ 8/39

Slide 9

Slide 9 text

ຊ೔〣಺༰ ぢアふべ〝〤 ぢアふべ〣やきぐ゚てとふわ 2000 ೥ʙ2006 ೥〣ぢアふべք۾ ゆ゜なと〣ִ཭ ぢアふべ〣ぼひぷゞがぜ 2009ʙ2012 ೥〣ぢアふべք۾ 2013 ೥〣ぢアふべք ඇಛݖぢアふべʢUser namespaceʣ 2014 ೥Ҏ߱〣ぢアふべք۾ 〳〝〶 9/39

Slide 10

Slide 10 text

ぢアふべ〣やきぐ゚てとふわ • ぢアふべ〣ぐゐがで〤りとぷ〣⿴぀ぶく゛ぜぷ゙ҎԼ〠ల։《ぁ぀〈〝⿿ଟ⿶ • りとぷ⿾〾〤ぢアふべぐゐがで〣び゙がぇؚ〶〛『〮〛ݟ⿺぀ • ぢアふべ಺〜〤ぢアふべ಺〣び゙が「⿾ݟ⿺〟⿶ りとぷ⿾〾ݟ〔ぶく゛ぜぷ゙び゙が ぢアふべ಺⿾〾ݟ〔ぶく゛ぜぷ゙び゙が 〈ぁ〤〞⿸〹〘〛࣮ݱ《ぁ〛⿶぀〣⿾ʁ 10/39

Slide 11

Slide 11 text

chroot ΋ͬͱ΋ྺ࢙ͷ͋Δίϯςφʢతػೳʣ • 1979 ೥ UNIX Version 7 〜〣৽ػೳʢੜ〳ぁ〛〔ਓʂʣ • 1982 ೥〠 BSD 〠ಋೖ • chroot 「〔ぶく゛ぜぷ゙ҎԼ「⿾ݟ⿺〟⿶ • Linux 〠⿼々぀ chroot: • ゆ゜なと〤゚がぷぶく゛ぜぷ゙〣৘ใぇ࣋〘〛⿶぀ chroot 「〛⿶〟⿶ゆ゜なと chroot 「〔ゆ゜なと 11/39

Slide 12

Slide 12 text

chroot 〣໰୊఺ɾたがむも゙ふく • chroot 〤ൈ々ग़【぀! • ൈ々ग़【〟⿶〽⿸〠『぀〠〤ݖݶぇണୣ『぀ඞཁ⿿⿴぀ʢcap_sys_chroot たがむも゙ふくʣ • 〞〣〽⿸〠࢖いぁ぀⿾い⿾〾〟⿶ぢアふべごアでア〜〤࢖⿶〚〾⿶ʢcap_sys_chroot ⿿ ඞཁ⿾〷?ʣ たがむも゙ふく〝〤? • root ⿿࣋〘〛⿶぀ݖݶぇࡉ෼Խ「〛そ゚がゆԽ「〔〷〣ɻそ゚がゆ〉〝〠༗ޮɾແޮぇࢦ ఆ〜 ぀ 12/39

Slide 13

Slide 13 text

pivot_rootʢ2.3.41/2000 ೥ʣ • root ϑΝΠϧγεςϜࣗମΛऔΓସ͑Δʢൈ々぀〝⿶⿸֓೦⿿〟⿶ʣ • chroot 〠ൺ〮〛 pivot_root 〜 ぀৚݅〤ݫ「⿶ pivot_root લ pivot_root ޙ • ʮ৽「⿶ root やきぐ゚てとふわʯ⿾〾〤ൈ々ग़【〟⿶ • Docker 〹 LXC/LXD 〟〞〤 pivot_root ぇ࢖༻「〛⿶぀ 13/39

Slide 14

Slide 14 text

bind mountʢ2.4.0/2001 ೥ʣ • ぶく゛ぜぷ゙び゙が〣Ұ෦ぇผ〣ぶく゛ぜぷ゙ҎԼ〠ろげアぷ • ろげアぷ「〔ぶく゛ぜぷ゙ҎԼ〤ݩ〝ಉ」ゑぽ⿿ݟ⿺぀ • りとぷ〣ぶく゛ぜぷ゙ぇぢアふべ〝ڞ༗『぀৔߹〠〷࢖༻ pivot_root લ pivot_root ޙ • bind mount 「〔び゙が〤ろげアぷ《ぁ〛⿼〿やきぐ゚てとふわ〘〲。〟぀〣〜 pivot_root Ͱ͖Δ! 14/39

Slide 15

Slide 15 text

Mount namespaceʢ2.4.19/2002 ೥ʣ • ぢアふべ಺〣ろげアぷɺろげアぷૢ࡞ぇ෼཭『぀ • ⿴぀ぢアふべ಺〜ߦ〘〔ろげアぷɺぎアろげアぷ⿿ଞ〣ぢアふべ〠Өڹぇ༩⿺〟⿶〽⿸〠 『぀ • ෼཭「〟⿶〽⿸〠〷〜 ぀ʢsystemd 〤ぶやさ゚ぷ〜෼཭「〟⿶ঢ়ଶ〜ىಈ『぀ʣ • ଞ〣ぢアふべ〜ߦ〘〔ろげアぷૢ࡞⿿ݟ⿺〟⿶ 15/39

Slide 16

Slide 16 text

ぶゑʢ1ʣ pivot_root 〝 bind mount 〝 Mount namespace 〣ぶゑ Namespace ぇ؆୯〠࡞぀〠〤 util_linux ෇ଐ〣 unshare ぢろアへ⿿࢖⿺〳『 1. Mount namespace ぇ࡞぀ 2. pivot_root 『぀〔〶〠ぢアふべやきぐ゚てとふわぇผぶく゛ぜぷ゙〠 bind mount 『぀ 3. mount ৘ใぇऔಘ『぀〔〶〠ぢアふべ༻〠 proc やきぐ゚てとふわぇ mount 『぀ 4. pivot_root 『぀ʢҎલ〣 / 〤 /old 〠ろげアぷ『぀ʣ 5. ぢアふべ಺〜 / ぇ umount 『぀ 16/39

Slide 17

Slide 17 text

ຊ೔〣಺༰ ぢアふべ〝〤 ぢアふべ〣やきぐ゚てとふわ 2000 ೥ʙ2006 ೥〣ぢアふべք۾ ゆ゜なと〣ִ཭ ぢアふべ〣ぼひぷゞがぜ 2009ʙ2012 ೥〣ぢアふべք۾ 2013 ೥〣ぢアふべք ඇಛݖぢアふべʢUser namespaceʣ 2014 ೥Ҏ߱〣ぢアふべք۾ 〳〝〶 17/39

Slide 18

Slide 18 text

2000 ೥ʙ2005 ೥〣ぢアふべք۾ɹ〒〣ଞ〣࿩୊ 2000 ೥ FreeBSD jail 2002 ೥ VirtuozzoʢLinux ޲々঎༻ぢアふべʣ゙゙がとʢ։ൃ〤 1999 ೥։࢝ʣ 2004 ೥ Solaris Containers (Zone) 2005 ೥ OpenVZ ゆ゜でこぜぷൃ଍ʢOSS ൛ Virtuozzoʣ 18/39

Slide 19

Slide 19 text

2006ʙ2008 ೥〣ぢアふべք۾ Linux ぢアふべ׬੒ظ ୈҰظ 2006 ೥ UTS Namespace, IPC Namespaceʢ2.6.19ʣ りとぷ໊ɾへゐぐア໊ぇぢアふべ〉〝〠࣋〙ɺゆ゜なとؒ௨৴〟〞ぇぢアふべ಺ 〠ִ཭ 2007 ೥ macvlanʢ2.6.23ʣぼひぷゞがぜぐアのがやこがと 2008 ೥ pid Namespace, Network Namespace, vethʢ2.6.24ʣ ゆ゜なとɺぼひぷゞがぜ〣ִ཭ cpu, cpuacct, cpuset cgroupʢ2.6.24ʣ CPU 〠ର『぀゙ぬがと੍ݶ device cgroupʢ2.6.26ʣ freezer cgroupʢ2.6.28ʣ 19/39

Slide 20

Slide 20 text

ຊ೔〣಺༰ ぢアふべ〝〤 ぢアふべ〣やきぐ゚てとふわ 2000 ೥ʙ2006 ೥〣ぢアふべք۾ ゆ゜なと〣ִ཭ ぢアふべ〣ぼひぷゞがぜ 2009ʙ2012 ೥〣ぢアふべք۾ 2013 ೥〣ぢアふべք ඇಛݖぢアふべʢUser namespaceʣ 2014 ೥Ҏ߱〣ぢアふべք۾ 〳〝〶 20/39

Slide 21

Slide 21 text

PID Namespaceʢ2.6.24/2008 ೥ʣ • ぢアふべ಺〜〞え〟ゆ゜なとぇ࣮ߦ「〛⿶぀⿾ɺଞ〣ぢアふべ⿾〾ݟ⿺〔〾ぐん • ぢアふべ〉〝〠ಠཱ「〛 PID ぇ࣋〖〔⿶ • 〔〕「ɺりとぷ (਌ Namespace) ⿾〾ぢアふべ (ࢠ〣 Namespace) 〣ゆ゜なと〤ݟ⿺ 〳『 21/39

Slide 22

Slide 22 text

ຊ೔〣಺༰ ぢアふべ〝〤 ぢアふべ〣やきぐ゚てとふわ 2000 ೥ʙ2006 ೥〣ぢアふべք۾ ゆ゜なと〣ִ཭ ぢアふべ〣ぼひぷゞがぜ 2009ʙ2012 ೥〣ぢアふべք۾ 2013 ೥〣ぢアふべք ඇಛݖぢアふべʢUser namespaceʣ 2014 ೥Ҏ߱〣ぢアふべք۾ 〳〝〶 22/39

Slide 23

Slide 23 text

Network Namespaceʢ2.6.24/2008 ೥ʣ Network Namespace ぼひぷゞがぜؔ࿈〣゙ぬがとぇִ཭『぀ • ぼひぷゞがぜぐアのがやこがと ʢଞ〣 Namespace ⿾〾ݟ⿺〟。〟〿〳『ʣ • ぎへ゛と • れがぷ • ゚がふくアそ • Firewall • ʜ • ෺ཧぐアのがやこがと〷ಛఆ〣 Namespaceʢぢアふべʣ〠ॴଐ《【〾ぁ぀ • ಛఆ〣ぐアのがやこがとぇෳ਺〣 Namespaceʢぢアふべʣ〜ڞ༗〜 ぀ 23/39

Slide 24

Slide 24 text

veth ぐアのがやこがとʢ2.6.24/2008 ೥ʣ • Virtuozzo/OpenVZ ༝དྷ • ࡞੒『぀〝ର〝〟぀ぐアのがやこがと⿿ੜ੒《 ぁ぀ɻ〒〣ର〝〟぀ぐアのがやこがとؒ〜௨৴ ぇߦ⿸ʹ L2 〣ぷアぼ゚ • ର〣ยํぇりとぷɺยํぇぢアふべ〣 Namespace 〠ॴଐ《【぀ʢҟ〟぀ Namespace ؒ〜〟⿶〝௨৴ෆՄʣ 24/39

Slide 25

Slide 25 text

ぶゑʢ2ʣ Network Namespace 〝 veth ぇ࡞〿ɺveth ぐアのがやこがとぇ Namespace 〠ॴଐ《【 〛௨৴『぀ Network Namespace ぇ࡞぀〠〤 iproute2 ෇ଐ〣 ip netns ぢろアへ⿿࢖⿺〳『 1. Network namespace ぇ࡞぀ • Namespace ಺〣ぐアのがやこがと〣֬ೝ 2. veth ぐアのがやこがとらぎぇ࡞぀ 3. veth ぐアのがやこがと〣ยׂぁぇ Namespace 〠Ҡ『 4. veth ぐアのがやこがとらぎ〣〒ぁ〓ぁ〠ぎへ゛とぇׂ〿౰〛〛 Up 『぀ 5. veth らぎಉ࢜〜௨৴〜 ぀〈〝ぇ֬ೝ『぀ 25/39

Slide 26

Slide 26 text

ຊ೔〣಺༰ ぢアふべ〝〤 ぢアふべ〣やきぐ゚てとふわ 2000 ೥ʙ2006 ೥〣ぢアふべք۾ ゆ゜なと〣ִ཭ ぢアふべ〣ぼひぷゞがぜ 2009ʙ2012 ೥〣ぢアふべք۾ 2013 ೥〣ぢアふべք ඇಛݖぢアふべʢUser namespaceʣ 2014 ೥Ҏ߱〣ぢアふべք۾ 〳〝〶 26/39

Slide 27

Slide 27 text

2009ʙ2012 ೥〣ぢアふべք۾ 2009 ೥ Memory, net_cls cgroupʢ2.6.29ʣ ゐゑ゙ɺぼひぷゞがぜ゙ぬがと੍ݶ 2010 ೥ blkio cgroupʢ2.6.33ʣ ゅ゜ひぜぶみぐと〣 I/O ੍ݶ 2011 ೥ setns() てとふわぢが゚ʢ3.0ʣ Namespaceʢぢアふべʣ಺〜ゆ゜なとぇ࣮ߦ『぀ʢdocker exec / lxc execʣ 2012 ೥ perf_event cgroupʢ3.3ʣ hugetlb cgroupʢ3.6ʣ ʢࡉ⿾⿶ػೳ௥Ճ〤ଞ〠〷⿴〿〳『ʣ 27/39

Slide 28

Slide 28 text

ຊ೔〣಺༰ ぢアふべ〝〤 ぢアふべ〣やきぐ゚てとふわ 2000 ೥ʙ2006 ೥〣ぢアふべք۾ ゆ゜なと〣ִ཭ ぢアふべ〣ぼひぷゞがぜ 2009ʙ2012 ೥〣ぢアふべք۾ 2013 ೥〣ぢアふべք ඇಛݖぢアふべʢUser namespaceʣ 2014 ೥Ҏ߱〣ぢアふべք۾ 〳〝〶 28/39

Slide 29

Slide 29 text

2013 ೥〣ぢアふべք ぢアふべత〠ॏཁ〟೥ • 3.8 kernel 〤ݱࡏ࢖いぁ〛⿶぀ぢアふべ〣ओཁ〟ػೳ⿿ଗ〘〔ॏཁ〟゙゙がと User namespace ඇಛݖʢrootlessʣぢアふべ〣࣮ݱʢ։ൃ։࢝〤〟え〝 2.6.23, 2007 ೥!!ʣ setns() શ Namespace 〠ର「〛࢖༻Մೳ〠〟〘〔 • Docker ݩ೥ʢ3 ݄〠 OSS 〝「〛ެ։ʣ • Checkpoint/Restart ػೳʢ3.11ʣ ⿴぀࣌఺〣ゆ゜なと〣ঢ়ଶぇอଘɺ࠶։〜 ぀ 29/39

Slide 30

Slide 30 text

ຊ೔〣಺༰ ぢアふべ〝〤 ぢアふべ〣やきぐ゚てとふわ 2000 ೥ʙ2006 ೥〣ぢアふべք۾ ゆ゜なと〣ִ཭ ぢアふべ〣ぼひぷゞがぜ 2009ʙ2012 ೥〣ぢアふべք۾ 2013 ೥〣ぢアふべք ඇಛݖぢアふべʢUser namespaceʣ 2014 ೥Ҏ߱〣ぢアふべք۾ 〳〝〶 30/39

Slide 31

Slide 31 text

User namespaceʢ3.8/2013 ೥ʣ • root ݖݶ〜ぢアふべぇىಈ『぀〝ɺぢアふべ಺〣 root 〤りとぷʢぢアふべ֎ʣ〣 root 〝 ಉ」ݖݶぇ࣋〘〛⿶぀ • ぢアふべ (Namespace) ֎〝ผ〠 User namespace ಺〣 uid/gid ぇ࣋〛぀〽⿸〠〟〘 〔ʢぢアふべ֎〣 uid/gid 〝ぢアふべ಺〣 uid/gid ぇろひゃアそ『぀ʣ • User namespace Λ࢖͏ͱɺϗετͰ͸ಛݖΛ࣋ͨͳ͍ίϯςφ͕ىಈͰ͖Δ • User namespace ͸ҰൠϢʔβʔͰ࡞੒Մೳ 31/39

Slide 32

Slide 32 text

ぶゑʢ3ʣ User Namespace ぇ࡞੒ ࠶〨 unshare ぢろアへぇ࢖⿶〳『 1. Ұൠゕがづが〜〤 User namespace Ҏ֎〣 namespace 〤࡞ぁ〟⿶〈〝ぇ֬ೝ 2. User namespace ぇ࡞〿てこ゚ぇ࣮ߦ 3. てこ゚〣ಈ࡞ݖݶぇ namespace ಺〝 namespace ֎⿾〾֬ೝ 4. namespace ಺〜やきぐ゚ぇ࡞੒「ɺnamespace ֎〜ॴ༗ݖぇ֬ೝ 5. User namespace ಺〜ଞ〣 Namespace ぇ࡞ぁ぀〈〝ぇ֬ೝ 6. ࡞〘〔ぢアふべ಺〜〤ぢアふべ಺〣ゆ゜なと〕々ݟ⿺぀〈〝ぇ֬ೝʢPID Namespaceʣ 32/39

Slide 33

Slide 33 text

ຊ೔〣಺༰ ぢアふべ〝〤 ぢアふべ〣やきぐ゚てとふわ 2000 ೥ʙ2006 ೥〣ぢアふべք۾ ゆ゜なと〣ִ཭ ぢアふべ〣ぼひぷゞがぜ 2009ʙ2012 ೥〣ぢアふべք۾ 2013 ೥〣ぢアふべք ඇಛݖぢアふべʢUser namespaceʣ 2014 ೥Ҏ߱〣ぢアふべք۾ 〳〝〶 33/39

Slide 34

Slide 34 text

2014ʙ2016 ೥〣ぢアふべք۾ 2014 ೥ Overlayfsʢ3.18ʣ ゕぺざアやきぐ゚てとふわ〣࣮૷〜ɺぶく゛ぜぷ゙ぇॏ〢߹い【〛〧〝〙〣ぶく ゛ぜぷ゙〠ݟ【぀ 2014 ೥ cgroup v2, ext4 〠 project quota ػೳ௥Ճʢ4.5ʣ 2016 ೥ cgroup namespaceʢ4.6ʣ ぢアふべ〉〝〠ぢアふべઐ༻〣 cgroup ぇݟ【぀ 34/39

Slide 35

Slide 35 text

2017ʙ2018 ೥〣ぢアふべք۾ 2017 ೥ Namespaced file capabilitiesʢ4.14ʣ User namespace ಺〜 file capability ⿿ઃఆ〜 ぀ 2018 ೥ ඇಛݖϚ΢ϯτʢ4.18ʣ User namespace ಺〜 FUSE ろげアぷ 2018 ೥ PSIʢ4.20ʣ ͜ͷ෦԰ͷ࠷ޙͷηογϣϯ͕ͳΜͱʂ “How cgroup-v2 and PSI impacts CloudNative?”ʢָ「〴ʣ 2018 ೥ seccomp trap to userspaceʢ5.0ʣ seccomp 〣ܾఆぇゕがづがとらがと〠౉「〛ॲཧ『぀ 35/39

Slide 36

Slide 36 text

ぢアふべք۾〣〈ぁ⿾〾 〳〕〳〕৭ʑ〟ػೳ⿿ఏҊ《ぁ〛⿶〳『ɻLinux じがぼ゚〠ろがで《ぁ぀〷〣〷《ぁ〟⿶〷〣 〷⿴぀〜「〼⿸ɻ ShiftFS Ubuntu 19.04 〜࢖⿺぀ʢLinux じがぼ゚〠〤〳〕ろがで《ぁ〛⿶〟⿶ʣぢア ふべぐゐがで಺〣やきぐ゚〣 uid/gid ぇぢアふべ〣࣮ߦゕがづが〠߹い【〛มߋ 『぀ Container Object ๯಄〜ݴ〘〔ʮLinux じがぼ゚〠〤ぢアふべ〝⿶⿸ػೳ〤⿴〿〳【えʯ ぇ࣮ݱ『぀ػೳ Time namespace ぢアふべ〉〝〠೔࣌ぇม⿺〾ぁ぀ 36/39

Slide 37

Slide 37 text

ຊ೔〣಺༰ ぢアふべ〝〤 ぢアふべ〣やきぐ゚てとふわ 2000 ೥ʙ2006 ೥〣ぢアふべք۾ ゆ゜なと〣ִ཭ ぢアふべ〣ぼひぷゞがぜ 2009ʙ2012 ೥〣ぢアふべք۾ 2013 ೥〣ぢアふべք ඇಛݖぢアふべʢUser namespaceʣ 2014 ೥Ҏ߱〣ぢアふべք۾ 〳〝〶 37/39

Slide 38

Slide 38 text

〳〝〶 ྺ࢙ぇ〔〞〿〟⿿〾 Linux 〠࣮૷《ぁ〛⿶぀ぢアふべؔ࿈〣ػೳぇ΄Μͷগ͠঺հ「〳「〔 • Linux 〠〤ʮぢアふべʯ〝⿶⿸ػೳ〤〟。ɺ৭ʑ〟ػೳ〣૊〴߹い【〜ぢアふべ⿿࡞〾ぁ぀ • ゙ぬがと〉〝〠४උ《ぁ〔 Namespace ػೳ〜৭ʑ〟ִ཭ۭؒぇ࡞぀ • MountɺPIDɺNetworkɺUser Namespace 〝ؔ࿈『぀ػೳぇઆ໌ • ぢアふべ〠ؔ܎『぀ػೳ⿿〞え〞え Linux じがぼ゚〠௥Ճ《ぁɺࠓ〜〷ଟ਺〣ػೳ⿿ఏҊ 《ぁ〛⿶぀ 38/39

Slide 39

Slide 39 text

〉ਗ਼ௌ⿴〿⿿〝⿸〉》⿶〳「〔 38/39

Slide 40

Slide 40 text

ࢀߟ • ぐアや゘ษڧձʮ[ぢアふべ〣ྺ࢙]Docker ⿿〜 ぀〳〜ʯࢿྉ • ୈ 2 ճ • ୈ 3 ճ • ぢアふべٕज़ೖ໳ - Ծ૝Խ〝〣ҧ⿶ぇ஌〿ɺཁૉٕज़ぇ৮〘〛ֶ〱⿸ʢby hayajo_77 《 え / ごアでぺぎ Hubʣ • LXC 〜ֶ〫ぢアふべೖ໳ ʵܰྔԾ૝Խ؀ڥぇ࣮ݱ『぀ٕज़ (gihyo.jp) • Linux ぢアふべ〣಺෦ぇ஌あ⿸ • Linux ぢアふべ࠷৽৘ใʢ2013-06-01ʣ • History of containersʢS3hh’s Blogʣ 39/39