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. Tools • Vagrant • Packer • Serf • Consul •

    Terraform • Vault • Nomad • Otto Heartbeats ϓϩμΫτษڧձ Hashicorp (2016/04/18) - Yoshikawa Ryota ( @rrreeeyyy ) 2
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. Otto • มߋͳ͠ • 0.2.0 ϦϦʔε४උத • App Type ͷ௥Ճ:

    Python, Java • App Type ϓϥάΠϯͷ௥Ճ • Layered Dev Environments ػೳͷ௥Ճ • ։ൃ؀ڥͷ֤૚ΛΩϟογϡ͢ΔػೳΒ͍͠ • ৽͍͠։ൃ؀ڥΛ࡞Δͱ͖ʹΩϟογϡΛ࢖͏ͷͰૣ͘ͳΔΒ͍͠ Heartbeats ϓϩμΫτษڧձ Hashicorp (2016/04/18) - Yoshikawa Ryota ( @rrreeeyyy ) 10
  10. ࢀߟจݙ • 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