最近のLinuxコンテナの進化 / TechFeed Summit #3

2591343b244565d6199f61c4acd148f9?s=47 tenforward
August 20, 2020

最近のLinuxコンテナの進化 / TechFeed Summit #3

TechFeed Summit #3 中の LT 資料です。

2591343b244565d6199f61c4acd148f9?s=128

tenforward

August 20, 2020
Tweet

Transcript

  1. ࠷ۙ〣 Linux ぢアふべ〣ਐԽ TechFeed Summit #3 Ճ౻ହจ 2020-08-20 1/9

  2. ࣗݾ঺հ • TenForward(@ten_forward) / Ճ౻ହจ • linuxcontainers.org 〹 LXC/LXD ؔ࿈〣຋༁

    • LXC 〜ֶ〫ぢアふべೖ໳ ʵܰྔԾ૝Խ؀ڥぇ࣮ݱ『぀ٕज़ • Plamo Linux ゐアふべが 2/9
  3. Linux 〣ʮぢアふべʯ〝⿶⿸ݬӨ Linux 〠⿼々぀ʮぢアふべʯ • Linux kernel 〠ʮぢアふべʯ〝⿶⿸ػೳ〤⿴〿〳【えʢաڈ〠ʮぢアふべʯざゅでこぜぷ ⿿ఏҊ《ぁ〔〈〝〤⿴〿〳『ʼࠓ〣ॴ٫Լ《ぁ〛〳『ʣ •

    ৭ʑ〟ػೳ〣૊〴߹い【〜ʮぢアふべʯ⿿〜 〛⿶〳『 • ʮぢアふべʯ〝〤Կ〾⿾〣ܗ〜りとぷ〹ଞ〣ʮぢアふべʯ⿾〾のとぜ〹のとぜび゙がぇִ཭ 「〛⿶〳『ʢݟ〔໨〜〷ɺ゙ぬがとফඅ〣໘〜〷ʣ Linux 〜ʮぢアふべʯぇߏங『぀ػೳ〣୅ද • NamespaceʢKubernetes 〣〒ぁ〝〤ؔ܎⿴〿〳【えʣ • cgroup 〒〣ଞ৭ʑ〟ػೳ〣૊〴߹い【〜ʮぢアふべʯ〝⿶⿸ܗ〣〟⿶〷〣⿿〜 ⿴⿿〘〛⿶〳『ɻ〒〣 ଟ਺〣ػೳ〣࠷ۙ〣ߋ৽ぇ঺հ「〳『ɻ 3/9
  4. 2013 ೥ɾDocker ݩ೥ 〳』〤গ「લ〣ྺ࢙⿾〾ʜ • 2013 ೥〤 Docker ݩ೥〜⿴぀〝ಉ࣌〠 Linux

    じがぼ゚〠ぢアふべؔ࿈〣ओཁ〟ػೳ⿿ ଗ〘〔೥〜「〔ʢ〷⿸ 7 ೥લ!!ʣ • 〒〣ޙ〷 Linux じがぼ゚〠〤〴〟《え〠〝〘〛ॏཁ〕〘〔〿ɺ〒⿸〜〷〟⿾〘〔〿『぀ػ ೳ⿿௥Ճ《ぁଓ々〛⿶〳『 4/9
  5. User Namespace 〈〣ػೳ〣׬੒〜ɺݱࡏ࢖いぁ〛⿶぀ぢアふべ〣ओཁػೳ⿿〰〱ଗ⿶〳「〔: • root Ҏ֎〣ゕがづが〜ぢアふべぇىಈ〜 ぀ػೳʢrootlessʣ • ࣮૷։࢝⿿ 2007 ೥〜׬੒⿿

    2013 ೥!! • 〈ぁ⿿〟⿶〝ʮぢアふべ〣 root=りとぷ〣 rootʯ〜『〽ɻةݥ〟߳〿 5/9
  6. Overlayfs • Docker 〣やきぐ゚てとふわ〣ずゑ〤゛ぐんがߏ଄ • ゙゙がと౰ॳ〣 Docker 〤 aufs 〝⿶⿸じがぼ゚〠ろがで《ぁ〛⿶〟⿶゛ぐんがへ〟やき

    ぐ゚てとふわલఏ〜「〔 • 3.18 じがぼ゚ʢ2014 ೥ʣ〠 Overlayfs ⿿ろがで《ぁɺじがぼ゚ඪ४〣゛ぐんがへ〟 やきぐ゚てとふわ⿿࢖⿺぀〽⿸〠〟〿〳「〔 6/9
  7. cgroup v2 • 4.5 じがぼ゚ʢ2014 ೥ʣ〠ਖ਼ࣜ〠ろがでʢstable 〟ػೳ〠ʣ • ࠓ〜〷やびが〠࢖いぁ〛⿶぀ cgroup

    v1 ⿿⿴぀〣〠〟え〜〈え〟ػೳ։ൃ「〔〣? • cgroup v1 ⿿ろがで《ぁ〔ࠒ〤ʮぢアふべべぺぬ゛ʁʯ〟࣌ظ〜「〔 • ࠓޙ〤ঃʑ〠〈〖〾〠Ҡߦ『぀〤』ɻv1 ⿿࣋〘〛⿶〔৭ʑ〟໰୊఺⿿ղܾ《ぁ〛⿶〳『 7/9
  8. ࠷ۙ〣ߋ৽ ʮ࠷ۙʯ〝ݴ〘〛〷 CloudNative ք۾〣࣌ؒ〣ྲྀぁ⿾〾『぀〝௕⿶⿾〷?ʢେମ 2017 ೥Ҏ߱ 〣⿼࿩ʣ • ぢアふべ〣ོ੝ぇ 〘⿾々〠ぢアふべؔ࿈〣ػೳ〕々〜〟。ɺぢアふべҎ֎〜〷࢖いぁ぀ػ ೳ〠վྑ⿿ࢪ《ぁ〛⿶〳『

    • ぢアふべؔ࿈ • cgroup Namespace • ඇಛݖぢアふべ〜やきぐ゚てとふわろげアぷʢぶみぐとやきぐ゚〷࡞ぁ぀〽⿸〠〟〿〳「〔ʣ • ⿶ 〟〿໨త〣 cgroup 〠ゆ゜なとぇॴଐ《【〾ぁ぀〽⿸〠〟〘〔 • Time Namespace • ぢアふべҎ֎〜〷Մೳੑ⿿޿⿿぀ • PSIʢゐゑ゙ɺCPUɺI/O 〟〞〣゙ぬがと〣ඡഭ౓߹⿶ぇ؍ଌʣˡ〒〷〒〷 cgroup 〤ぢアふべ Ҏ֎〜〷〙⿾⿺぀ • pidfdʢPID 〣஋〘〛্ݶ⿿⿴〘〛্ݶ〠ୡ「〔ޙ〤࠶ར༻《ぁ〳『ʣ 8/9
  9. 〳〝〶 ݁ہԿ⿿ݴ⿶〔⿶〣? ˠ Linux ぢアふべ〣৽ػೳぇ௥〘⿾々぀〣〘〛ʜ • ৽「⿶ػೳぇࢼ『〣〘〛ָ「⿶〜『〽〢ʂʢˡҰ൪ॏཁʣKubernetes 〣৽ػೳぇࢼ『〣 〷ָ「⿶々〞じがぼ゚〣৽ػೳࢼ『〣〷⿼〷「あ⿶〜『〽ʂ •

    Docker 〹 Kubernetes 〜ઃఆ〜 ぀஋〜〷みひぜごアへ〜〞〣〽⿸〠ઃఆ《ぁ〛⿶぀ ⿾ʁ ઃఆ〣《ぁํぇཧղ『぀〈〝〜ޮՌత〠ઃఆぇར༻〜 ぀〤』ʢ〈⿸⿶⿸੍ݶ⿿⿴぀ ⿾〾〈え〟ઃఆ「〛〷ҙຯ⿿〟⿶〽ʁ 〝⿾ʣ • Docker 〹 Kubernetes 〜৽ػೳ⿿࣮૷《ぁ〔⿴⿾〙 〠〤ਅ〘ઌ〠ʮ〒〣ҙຯぇཧղ「 〟⿿〾ʯ৽ػೳぇࢼ【぀ʢՄೳੑ⿿⿴〿〳『ʣʂ એ఻ • じがぼ゚〣৽ػೳ〤ਅ〘ઌ〠 LXC/LXD 〠࣮૷《ぁ぀ʢ〈〝⿿ଟ⿶ʣ〣〜ɺLXC/LXD ぇ ⿼〘⿾々぀〣〤ָ「⿶〜『〽 • ࠷৽ػೳぇ⿼〘⿾々぀جૅ஌ࣝぇ〙々぀〔〶〠〷 gihyo.jp 〜࿈ࡌத〣ʮLXC 〜ֶ〫ぢア ふべೖ໳ʯぇ〽あ「。〜『 9/9