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

Al Tobey

Al Tobey

Cassandra Summit Tokyo 2015

1cf6896ee8a72af116a172b9e1cd5883?s=128

CassandraCommunityJP

May 13, 2015
Tweet

Transcript

  1. ©2014 DataStax @AlTobey Open Source Evangelist / Partner Architect Datastax,

    Inc. DockerͱCassandra 1
  2. ©2015 DataStax Docker 2

  3. Docker͸ԿͰ͔͢ • An API on top of Linux containers •

    namespaces • cgroups • capabilities • networking • A community • huge open source community • many companies building on it • An escape • Linux distribution packaging doesn’t solve the same problems • portable across distros and clouds
  4. Docker͸ԿͰΘ͋Γ·ͤΜ͔ CPU 0 CPU 1 CPU 2 CPU 3 CPU

    4 CPU 5 CPU 6 CPU 7 CPU 8 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 Hypervisor IOMMU vCPU 0 vCPU 1 vCPU 2 vCPU 3 BQQMJDBUJPO LFSOFM vCPU 0 vCPU 1 vCPU 2 vCPU 3 BQQMJDBUJPO LFSOFM vCPU 0 vCPU 1 vCPU 2 vCPU 3 BQQMJDBUJPO LFSOFM vCPU 0 vCPU 1 vCPU 2 vCPU 3 BQQMJDBUJPO LFSOFM
  5. DockerͰ͢ CPU 0 CPU 1 CPU 2 CPU 3 CPU

    4 CPU 5 CPU 6 CPU 7 CPU 8 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 0x00b0 Linux ༰ث൪ ༰ث̍൪ ༰ث̎൪ ༰ث̏൪
  6. Before Containers Workstation git Workstation git Workstation git Continuous Integration

    e.g. Jenkins shared git master Production OS image Integration Environments updates build artifacts ????
  7. After Workstation ϨϙδτϦͷ%PDLFS ։ൃऀͷϫʔΫεςʔγϣϯ boot2docker HJUQVTI Jenkins Production Integration Environments

    04ͷΠϝʔδ मਖ਼ϓϩάϥϜ build artifacts
  8. Scale out

  9. Microservices

  10. Cassandra͸DockerͰೖΓ·͢ • Volumes (--volume=/mnt:/data) • host networking (--net=host) • docker

    run -d --net=host --volume=/mnt:/data tobert/cassandra:2.1.3 • -seed • -heap / -new • -name https://github.com/tobert/cassandra-docker https://registry.hub.docker.com/u/tobert/cassandra/
  11. Filesystems Linux 0x00b0 0x00b0 unionfs ΞϓϦέʔγϣϯ ΞϓϦέʔγϣϯ btrfs ΞϓϦέʔγϣϯ ΞϓϦέʔγϣϯ

    btrfs volume
  12. VM Networking 0x00b0 0x00b0 Hypervisor IOMMU vCPU 0 vCPU 1

    vCPU 2 vCPU 3 BQQMJDBUJPO LFSOFM vCPU 0 vCPU 1 vCPU 2 vCPU 3 BQQMJDBUJPO LFSOFM 0x00b0 0x00b0 bridge
  13. 0x00b0 0x00b0 Linux 0x00b0 0x00b0 bridge veth.pair ΞϓϦέʔγϣϯ iptables ΞϓϦέʔγϣϯ

    Container Networking
  14. ऴΘΓ·͢