Slide 1

Slide 1 text

HashiCorpͷ৽πʔϧ ʮWaypointʯΛCloud RunͰ ࢖ͬͯΈͨ Ryuji Tsutsui@ryu22e
 GCPUG Shonan vol.56 5प೥ LT 2020/11/14

Slide 2

Slide 2 text

ࣗݾ঺հ • Ryuji Tsutsui@ryu22e • GCPUG Shonanελοϑ • ීஈ͸࿡ຊ໦ͷϑΟϯςοΫܥاۀͰDjango੡΢ΣϒαʔϏεͷ
 ։ൃΛ͍ͯ͠·͢ɻ • झຯ: өըؑ৆ʢ2015೥ʙʣɺ֨ಆٕ؍ઓʢ2019೥ʙʣ • ࠓ೥͸ίϩφͷ͍ͤͰɺͲͪΒ΋͋·Γߦ͚ͯͳ͍

Slide 3

Slide 3 text

ࠓ೔࿩͍ͨ͜͠ͱ • Waypointͷ؆୯ͳղઆ • WaypointΛ࢖ͬͯCloud RunʹσϓϩΠͯ͠Έͨײ૝ʢσϞ͋Γʣ

Slide 4

Slide 4 text

Waypointͱ͸

Slide 5

Slide 5 text

Waypointͱ͸ • TerraformɾVagrantͳͲͰ͓ೃછΈͷHashiCorp͕ࣾ2020೥10݄15 ೔ʹϦϦʔεͨ͠σϓϩΠπʔϧ • ؆୯ͳઃఆϑΝΠϧΛॻ͚ͩ͘Ͱ৭ʑͳϓϥοτϑΥʔϜ΁ͷσϓϩ Π͕Ͱ͖Δ

Slide 6

Slide 6 text

Waypoint͸Go੡πʔϧ • ࣮ߦϑΝΠϧ1ݸμ΢ϯϩʔυ͢Δ͚ͩͰ࢖͑Δ • macOSɾWindowsɾLinuxʹରԠ • HomebrewɾaptɾyumͳͲͰ΋ΠϯετʔϧͰ͖Δ

Slide 7

Slide 7 text

WaypointͬͯͲ͏͍͏ҙຯʁ • weblioʹΑΔͱ • ʮܦ࿏্ͷ஍఺৘ใʯͱͷ͜ͱ • https://ejje.weblio.jp/content/Waypoint

Slide 8

Slide 8 text

MBP͔Βެࣜͷαϯϓϧίʔυ ʢ https://github.com/hashicorp/ waypoint-examples.git ʣΛ Cloud RunʹσϓϩΠͯ͠ΈΔ

Slide 9

Slide 9 text

४උฤ

Slide 10

Slide 10 text

ඞཁͳ΋ͷ • waypoint(v0.1.5) • gcloud • Docker • git XBZQPJOUͱ௚઀ؔ܎ͳ͍͕ɺαϯϓϧίʔυ ͷμ΢ϯϩʔυʹ࢖͏ɻ

Slide 11

Slide 11 text

waypointΠϯετʔϧ $ brew tap hashicorp/tap $ brew install hashicorp/tap/waypoint

Slide 12

Slide 12 text

gcloudͷઃఆ $ gcloud auth application-default login $ gcloud config set project $ gcloud auth configure-docker

Slide 13

Slide 13 text

waypointαʔόʔىಈ $ docker pull hashicorp/waypoint:latest $ waypoint install --platform=docker -accept-tos

Slide 14

Slide 14 text

ιʔείʔυͷ४උ $ git clone https://github.com/hashicorp/waypoint-examples.git $ cd ./waypoint-examples/google-cloud-run/nodejs/

Slide 15

Slide 15 text

waypoint.hclͷ಺༰Λ֬ೝ & ฤू $ ls -l1 Procfile README.md index.js package.json public views waypoint.hcl εϥΠυͩͱݟͮΒ͍ͷͰΤσΟλͰݟ·͢ɻ

Slide 16

Slide 16 text

σϓϩΠ·ͰͷྲྀΕ • build • CloudNative BuildpacksͰϏϧυ & GCRʹpush • deploy • Cloud RunʹσϓϩΠ • release • σϓϩΠͨ͠ίʔυΛΞΫςΟϒԽ

Slide 17

Slide 17 text

waypointͷॳظԽ $ waypoint init XBZQPJOUTFSWFSʹϓϩδΣΫτ͕࡞ΒΕΔɻ

Slide 18

Slide 18 text

͍Α͍ΑσϓϩΠʂ

Slide 19

Slide 19 text

σϓϩΠͷσϞʢ2෼͙Β͍͔͔Δ૝ఆʣ $ waypoint up ίϚϯυ͸͜Ε͚ͩʂ

Slide 20

Slide 20 text

v0.1.5࣌఺Ͱͷ࢖ͬͯΈͨײ૝ • ͋·ΓቕΔ͜ͱͳ͘࢖͏͜ͱ͸Ͱ͖ͨ • ϓϩδΣΫτͷ಺༰͔ΒϏϧυʹඞཁͳखॱΛࣗಈ൑அ͢Δͷ͸ָ͕ͩɺͪΐͬͱखͷࠞΜ ͩ͜ͱΛ΍Δͱ೰Ή͜ͱʹͳΓͦ͏ͳ༧ײ • ϦϞʔτͰར༻Ͱ͖Δwaypoint serverΛࣗલͰཱͯΔͷ͕໘౗ • Ϛωʔδυͳwaypoint server͕΄͍͠ • waypoint server্ͷϓϩδΣΫτ͕ফͤͳ͍ • ফͤΔΑ͏ʹ͢Δ༧ఆ͸͋Δ͕ࠓͷͱ͜ΖͰ͖ͳ͍Β͍͠ • https://discuss.hashicorp.com/t/how-to-delete-the-project/16465/4

Slide 21

Slide 21 text

v0.1.5࣌఺Ͱͷ࢖ͬͯΈͨײ૝ • Cloud Run΁ͷσϓϩΠ͔͠࢖͍ͬͯͳ͍͚Ͳɺ·ͩػೳతʹ଍Γ͍ͯͳ͍ͱ͜Ζ͕ ͋Δײ͡ • ΦʔτεέʔϦϯάͷmax͸ࢦఆͰ͖Δͷʹmin͸Ͱ͖ͳ͍ • Cloud SQL΍VPC઀ଓʹؔ͢Δύϥϝʔλ͕ͳͦ͞͏ • Hookػೳ͸͋ΔͷͰɺσϓϩΠޙʹgcloudͰઃఆͯ͠΍Δ͔͠ͳ͍͔΋ʁ • waypoint destroyͱ͍͏ίϚϯυ͕͋Δͷʹಈ͔ͳ͍ • Issue͸ڍ͕͍ͬͯͨ https://github.com/hashicorp/waypoint/issues/533

Slide 22

Slide 22 text

·࣮ͩઓ౤ೖ͸ૣ͍ؾ͕͢Δ͚ͲɺOSSͷ΢Σ ϒΞϓϦέʔγϣϯΛ഑෍͢ΔࡍͷσϑΝΫτ ελϯμʔυʹͳͬͯ͘ΕΔͱخ͍͠ͳʔ

Slide 23

Slide 23 text

Waypointͥͻ࢖ͬͯΈͯͶʂ