Upgrade to Pro — share decks privately, control downloads, hide ads and more …

hashicorp-20160418

 hashicorp-20160418

Hashicorp tools の 2015/11/30 〜 2016/04/18 の更新分をすごくざっくり追った資料です

rrreeeyyy

April 18, 2016
Tweet

More Decks by rrreeeyyy

Other Decks in Technology

Transcript

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

    View Slide

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

    View Slide

  3. 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

    View Slide

  4. 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

    View Slide

  5. 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

    View Slide

  6. 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

    View Slide

  7. 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

    View Slide

  8. 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

    View Slide

  9. 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

    View Slide

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

    View Slide

  11. ࢀߟจݙ
    • 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

    View Slide