Slide 1

Slide 1 text

Hashicorp trends ( 2015/11/30 - 2016/04/18 ) Heartbeats ϓϩμΫτษڧձ Hashicorp (2016/04/18) - Yoshikawa Ryota ( @rrreeeyyy ) 1

Slide 2

Slide 2 text

Tools • Vagrant • Packer • Serf • Consul • Terraform • Vault • Nomad • Otto Heartbeats ϓϩμΫτษڧձ Hashicorp (2016/04/18) - Yoshikawa Ryota ( @rrreeeyyy ) 2

Slide 3

Slide 3 text

Vagrant • 1.7.4 -> 1.8.1 • Linked Clone • Ϛελʔ VM ͔Β৭ΜͳΫϩʔϯ VM Λ࡞Δػೳ • VM ϑϧίϐʔͰ͸ແ͘ϚελʔΫϩʔϯ͔Βͷࠩ෼͚ͩอ࣋͢Δ • Vagrant up ͷ͕࣌ؒ୹͘ͳΔͷͱσΟεΫΛ͍ͬͺ͍࢖Θͳͯ͘͢Ή • Snapshot • ੲ sahara ͍ͬͯ͏ϓϥάΠϯͰ࣮ݱͯͨ͠΍ͭ • ಛఆλΠϛϯάͰεφοϓγϣοτΛऔΕΔɾ෮ݩͰ͖Δ • ಛఆͷঢ়ଶ͔ΒͷҰ࣌తͳݕূͱ͔͍ͨ͠৔߹ʹ࢖͑ͦ͏ • Vagrant powershell ͱ͔͍ͭͨ Heartbeats ϓϩμΫτษڧձ Hashicorp (2016/04/18) - Yoshikawa Ryota ( @rrreeeyyy ) 3

Slide 4

Slide 4 text

Packer • 0.8.6 -> 0.10.0 • 0.9 Ͱ ansible remote provisioner ͕෇͍ͨ • packer build ͷޙ ansible Λ remote ͔Β࣮ߦͰ͖Δ • playbook_file Ͱ playbook ͷϑΝΠϧΛࢦఆ࣮ͯ͠ߦ • ansible ͕ࣦഊ͢Δͱ packer build ΋ࣦഊͱͳΓ terminate ͞ΕΔ • Chef on Windows ͕͍ͭͨ • 0.10.0 Ͱ Azure Resource Manager Ͱ VHD Λ࡞੒Ͱ͖ΔΑ͏ʹͳͬͨ Heartbeats ϓϩμΫτษڧձ Hashicorp (2016/04/18) - Yoshikawa Ryota ( @rrreeeyyy ) 4

Slide 5

Slide 5 text

Serf • 0.7 ϦϦʔε • serf rtt ͱ͍͏ϊʔυؒͷ RTT ਪఆΛऔಘͰ͖ΔαϒίϚϯυ͕௥Ճ • ݱࡏͷϊʔυ͔Βผͷϊʔυ΋͘͠͸ผͷϊʔυ͔Βߋʹผͷϊʔυ ͷ RTT ਪఆΛऔಘՄೳ • Vivaldi ΞϧΰϦζϜΛ࢖༻ • serf info ͱ͍͏ event handler ΛදࣔͰ͖ΔαϒίϚϯυ͕௥Ճ • gossip protocol ͷϊʔυো֐ݕग़ʹ TCP fallback ػೳΛ௥Ճ Heartbeats ϓϩμΫτษڧձ Hashicorp (2016/04/18) - Yoshikawa Ryota ( @rrreeeyyy ) 5

Slide 6

Slide 6 text

Consul • 0.5.2 -> 0.6.4 • consul rtt ͱ͍͏ϊʔυؒͷ RTT ਪఆΛऔಘͰ͖ΔαϒίϚϯυ͕௥Ճ • API ͔Β΋ར༻Մೳ (serf rtt ͱಉ༷ͷػೳ) • LMDB Λࣺͯͯج਺໦ϕʔεͷΠϯϝϞϦ DB ΁Ҡߦ • cgo ΋ಉ࣌ʹࣺͯͯ 100% golang ʹͳͬͨ • Prepared query ػೳͷಋೖ • HTTP API Λ࢖ͬͯෳࡶͳΫΤϦΛࣄલʹఆ͓ٛͯ͘͜͠ͱ͕ग़དྷΔ • DNS ͷΫΤϦ΋ࣄલʹఆ͓ٛͯ͘͜͠ͱ͕Մೳ • ྫ͑͹ಛఆͷ DNS ΛҾ͍ͨ࣌ʹ ""master" λάΛ͍࣋ͬͯͯɺconsul rtt Ͱۙ͘ʹ͋ΔϊʔυΛ 3 ͭฦ͢" ౳ͷڍಈΛఆٛͰ͖Δ • ACL ͕͍֦͢͝ு͞Ε·ͨ͠ • ϔϧενΣοΫػೳ͕֦ு͞Ε·ͨ͠ • TCP Check (ఆظతͳ TCP ઀ଓ) ͱ Docker check (ఆظతͳίϯςφ಺ͰͷίϚϯυ࣮ߦ) ͕௥Ճ͞Εͨ • TCP fallback ͕௥Ճ͞Εͨ Heartbeats ϓϩμΫτษڧձ Hashicorp (2016/04/18) - Yoshikawa Ryota ( @rrreeeyyy ) 6

Slide 7

Slide 7 text

Terraform • 0.6.8 -> 0.6.14 • terraform validate ͱ͍͏ syntax validation ͢ΔαϒίϚϯυ͕௥Ճ • terraform untaint ͱ͍͏ taint ঢ়ଶͷϦιʔεΛ untaint ʹ͢ΔαϒίϚϯυ͕௥Ճ • ലେͳ਺ͷ resource ௥Ճ • AWS/Azure/GCP ֤छ ... • Docker, VMware ... • influxdb, mysql, postgres... • datadog, github, chef, ultradns... Heartbeats ϓϩμΫτษڧձ Hashicorp (2016/04/18) - Yoshikawa Ryota ( @rrreeeyyy ) 7

Slide 8

Slide 8 text

Vault • 0.4.0 -> 0.5.2 • vault list ͱ͍͏伴ͱσΟϨΫτϦΛදࣔͰ͖ΔαϒίϚϯυ͕௥Ճ • ACL ػೳ͕େ෯ʹ֦ு • HA Physical backends Ͱෳ਺ͷσʔλετϨʔδΛ࢖༻Ͱ͖ΔΑ͏ʹͳͬͨ • backend ͱ ha_backend ͱ͍͏σΟϨΫςΟϒͰࢦఆՄೳ • unseal key ʹؔ͢Δػೳ͕֦ு͞Ε·ͨ͠ • rekey ͱ archiving(keybase.io ౳ͷ PGP 伴ͱ࿈ܞՄೳ)͕ग़དྷΔΑ͏ʹͳΓ·ͨ͠ • unseal key Λ࢖ͬͨ root token ͷ regenerate ͕ग़དྷΔΑ͏ʹͳΓ·ͨ͠ • ࠓ·Ͱ͸ root token Λ revoke ͨ͠Βऴྃͩͬͨ • AWS STS ͷαϙʔτ/DynamoDBɾPostgreSQL Physical backend ͷαϙʔτ Heartbeats ϓϩμΫτษڧձ Hashicorp (2016/04/18) - Yoshikawa Ryota ( @rrreeeyyy ) 8

Slide 9

Slide 9 text

Nomad • 0.2.1 -> 0.3.1 • Periodic Jobs ػೳͷ௥Ճ • ఆظ࣮ߦ͞ΕΔλεΫΛఆٛ͢Δ͜ͱ͕Մೳ • nomad status Ͱ௚ۙͷ࣮ߦδϣϒͷঢ়ଶͱ࣍ͷδϣϒͷ࣮ߦ೔͕࣌ݟΕΔ • ϩάϩʔςʔγϣϯɾϩάΞΫηεػೳͷ௥Ճ • λεΫ͝ͱͷϩάϩʔςʔγϣϯΛࢦఆՄೳ • ϑΝΠϧ਺ɾ࠷େϑΝΠϧαΠζ • nomad fs ls ${JOB_ID} ${NAMESPACE} ౳ͷ fs ls ΍ fs cat ͷαϒίϚϯυͰϩάʹΞΫηεՄೳʹͳͬͨ • Job Queue ػೳͷ௥Ճ • Ϋϥελ಺ʹར༻ՄೳͳϦιʔε͕ଘࡏ͠ͳ͍৔߹͸δϣϒΛ block ͢Δ • ྫ͑͹ CPU (MHz) Ͱࢦఆͨ͠஋͕଍Γͳ͍৔߹ͳͲ͸ CPU ͕ۭ͘·Ͱ࣮ߦ͞Εͳ͍ • Ϧιʔε͕ۭ͍ͨΒͦͷϦιʔεΛ࢖ͬͯδϣϒΛ࣮ߦ͢Δ Heartbeats ϓϩμΫτษڧձ Hashicorp (2016/04/18) - Yoshikawa Ryota ( @rrreeeyyy ) 9

Slide 10

Slide 10 text

Otto • มߋͳ͠ • 0.2.0 ϦϦʔε४උத • App Type ͷ௥Ճ: Python, Java • App Type ϓϥάΠϯͷ௥Ճ • Layered Dev Environments ػೳͷ௥Ճ • ։ൃ؀ڥͷ֤૚ΛΩϟογϡ͢ΔػೳΒ͍͠ • ৽͍͠։ൃ؀ڥΛ࡞Δͱ͖ʹΩϟογϡΛ࢖͏ͷͰૣ͘ͳΔΒ͍͠ Heartbeats ϓϩμΫτษڧձ Hashicorp (2016/04/18) - Yoshikawa Ryota ( @rrreeeyyy ) 10

Slide 11

Slide 11 text

ࢀߟจݙ • https://github.com/mitchellh/vagrant/blob/master/CHANGELOG.md • https://github.com/mitchellh/packer/blob/master/CHANGELOG.md • https://github.com/hashicorp/serf/blob/master/CHANGELOG.md • https://github.com/hashicorp/consul/blob/master/CHANGELOG.md • https://github.com/hashicorp/terraform/blob/master/CHANGELOG.md • https://github.com/hashicorp/vault/blob/master/CHANGELOG.md • https://github.com/hashicorp/nomad/blob/master/CHANGELOG.md • https://github.com/hashicorp/otto/blob/master/CHANGELOG.md Heartbeats ϓϩμΫτษڧձ Hashicorp (2016/04/18) - Yoshikawa Ryota ( @rrreeeyyy ) 11