Slide 1

Slide 1 text

KOBA789 ࣗ୐αʔόʔͰ bottlerocket Λ
 ಈ͔ͯ͠ k8s ΫϥελΛ૊Ή

Slide 2

Slide 2 text

https://twitter.com/superbrothers/status/1347431085429329920 ؾܰʹਃ͠ࠐΈ·ͨ͠

Slide 3

Slide 3 text

KOBA789 • ύιίϯΦλΫ • ߴଔʢஜ೾େֶதୀʣ • DBMS ͱ෼ࢄγεςϜ͕޷͖ • ࣗ୐αʔόʔ੎ • ࢓ࣄͰ͸Ұ੾ kube ͯ͠ͳ͍ Ͱɺ୭ʁ

Slide 4

Slide 4 text

KOBA789 ࣗ୐αʔόʔͰ bottlerocket Λ
 ಈ͔ͯ͠ k8s ΫϥελΛ૊Ή ΋͏Ұ౓λΠτϧ

Slide 5

Slide 5 text

Bottlerocket ίϯςφϗετ༻ Linux σΟετϦϏϡʔγϣϯ • AWS ੡ • ίϯςφϗετಛԽ • TUF ४ڌͰݎ࿚ͳΞοϓσʔτγεςϜ • ࠷খߏ੒ Amazon Linux + Rust ੡Ϣʔβʔϥϯυ • ެࣜͷίʔυπϦʔͰ͸ EC2 Ͱ͔͠ಈ͔ͳ͍

Slide 6

Slide 6 text

ࣗ୐αʔόʔͰಈ͔͍ͨ͠ • EKSͰಈ͔͢ͷ͸؆୯ • eksctl ͰҰܸʢΒ͍͠ʣ • ࣗ୐αʔόʔʢϕΞϝλϧʣͰ͸ OS ͷىಈ͢Βେม • ֨ಆه: https://diary.hatenablog.jp/entry/2020/12/19/192558 • ࠓ೔͸ kubelet Λಈ͔͢ͱ͜Ζͷ࿩

Slide 7

Slide 7 text

ಥવͰ͕͢͜͜Ͱ Demo

Slide 8

Slide 8 text

Bottlerocket ͷίϯϑΟάγεςϜ ઃఆϑΝΠϧ͸ςϯϓϨʔτͱύϥϝλ͔Βੜ੒ https://github.com/bottlerocket-os/bottlerocket/blob/develop/sources/api/api-system.png consul-template Έ͍ͨͳײ͡

Slide 9

Slide 9 text

Bottlerocket ͷίϯϑΟάγεςϜ ͍͔ͭ͘ͷσʔλιʔε • storewolf • OS Πϝʔδʹম͖ࠐ·ΕͯΔσϑΥϧτ஋ • early-boot-con f i g • EC2 Πϯελϯεͷ user-data ͷ஋

Slide 10

Slide 10 text

Bottlerocket ͷίϯϑΟάγεςϜ ͍͔ͭ͘ͷσʔλιʔε • storewolf • OS Πϝʔδʹম͖ࠐ·ΕͯΔσϑΥϧτ஋ • early-boot-con f i g • EC2 Πϯελϯεͷ user-data ͷ஋ ࣗ୐αʔόʔͰ࢖͑ΔΘ͚ͳ͍

Slide 11

Slide 11 text

ํ਑: 
 ࣗ୐༻ઃఆΛ OS Πϝʔδʹ 
 ϋʔυίʔυ

Slide 12

Slide 12 text

ϋʔυίʔυ͢Δ΋ͷ ҙ֎ͱগͳ͍ • Ϋϥελ PKI ͷϧʔτূ໌ॻ ca.crt • clusterDNS • clusterDomain ౰વɺϊʔυ͝ͱͷઃఆ͸Ͱ͖ͳ͍

Slide 13

Slide 13 text

Q. kubelet ͷΫϥΠΞϯτূ໌ॻ͸ 
 Ͳ͏͢Δͷʁ A. TLS Bootstrap ͢Ε͹͑͑

Slide 14

Slide 14 text

ͱ͍͏Θ͚Ͱ Demo

Slide 15

Slide 15 text

ϋϚΓϙΠϯτ • volumePluginDir ͕ҧͬͯͯ Calico ্͕͕ͬͯ͜ͳ͍ • bottlerocket Ͱ͸ kubelet σϑΥϧτͷ /usr/libexec ҎԼ͸ read-only • Calico ͷϚχϑΣετΛॻ͖׵͑·͠ΐ͏

Slide 16

Slide 16 text

·ͱΊ • kubeadm ͕࢖͑ͳ͍؀ڥ͸ษڧʹͳΔ • Πϯετʔϥࣗ࡞͍ͨ͠ͳΒ
 ·ͣ͸ kubeadm ͰΫϥελ૊ΜͰ؍࡯͢Δͱ͍͍ • ΋ͪΖΜίʔυ΋ಡΉͱ͍͍ • bootstrap token ͷड͚౉͕͠खΦϖͳͷ͸ͳΜͱ͔͍ͨ͠ • ࣗ୐ͷ LAN ͷ҆શੑΛͲ͜·Ͱ৴པ͢Δ͔