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

Containers: Beyond the Basics

Containers: Beyond the Basics

Workshop given at ContainerDaysNYC in New York, October 2015

Andrew Kennedy

October 30, 2015
Tweet

More Decks by Andrew Kennedy

Other Decks in Technology

Transcript

  1. •Andrew Donald Kennedy • Software Engineer at Cloudsoft • Founder

    of Clocker, Docker orchestration project •Scott Harzel • Product Management at Cloudsoft Introduction
  2. Docker •Process abstraction •Images • Composable format for process environment

    • Designed and built with Dockerfiles • Composable •Containers • Running image • One (or more) processes • Resource and security constrained
  3. Docker Extras •Software-Defined Networking • Calico • Weave •Storage and

    Volume Management • Flocker •More Being Developed… • Native Plugins
  4. •What do you use Docker for? • Production, Testing, Development?

    •What do you have problems with? •What software do you use with Docker? •What do you use to control Docker? •What do you run with Docker? •What software do you want to use? Un-Workshop Questions
  5. Un-Workshop Programme •Expectations and knowledge • What do you want

    to learn? •Practical Tasks •Install Software •Setup Laptop Environment •Run through some example tasks •Work on a larger project together • Synthesise what we covered earlier
  6. Requirements •OSX or Linux (maybe Windows?) •Vagrant and VirtualBox •Docker

    Toolbox or Docker •Package manager • Native, MacPorts, Homebrew etc. •Java? •Git
  7. Download •Run either sequence of commands on OSX or Linux

    $ git clone \ https://github.com/grkvlt/containers-workshop.git $ cd containers-workshop $ wget http://git.io/vlLVK -O master.tar.gz $ tar zxf master.tar.gz $ cd containers-workshop-master
  8. Basic Tasks 1. Install Docker locally and test 2. Start

    Ubuntu VM with Vagrant 3. Check VM access 4. Check Docker running 5. Check Compose running 6. Build application from Dockerfile 7. Run application from YAML
  9. Metaswitch Project Calico •SDN for Bare Metal, VMs and Containers

    • Layer 3 • Uses OS IP routing and forwarding •Configuration in an etcd Cluster •Version 0.4.9 in Clocker • 0.9.0 with libnetwork when Docker stable •Spans VMs and Containers • OpenStack Neutron network driver
  10. SDN Tasks 1. Start Calico VMs with Vagrant 2. Run

    the Calico demos 3. Build a Redis cluster 4. Install the Redis client and test 5. Test connectivity 6. Try building a Cassandra cluster
  11. ClusterHQ Flocker •Storage Plugin •Mount Volumes on Host • EMC

    • Ceph • ZFS •Peristent Data for Containers
  12. Flocker Tasks 1. Start Flocker VMs with Vagrant 2. Run

    Flocker tasks to verify install 3. Try out Flocker comand-line tools 4. Run Flocker MongoDB application
  13. Brooklyn Clocker •Orchestration •Manage Docker Cluster • Multiple machines •

    Install Docker, start SDN and configure host •Deploy Applications • CAMP or TOSCA blueprint • Mix containers and VMs
  14. Clocker Tasks 1. Start Clocker VMs with Vagrant 2. Start

    Clocker using local Docker 3. Start Docker infrastructure with Calico SDN 4. Run test application on Clocker location
  15. Extended Tasks 1. Combine Calico and Flocker in a single

    Vagrantfile 2. Include Compose as well 3. Build Compose file for Redis cluster 4. Build Compose file for application with Redis cluster 5. Build Dockerfile application for Web server with Flocker volume 6. Anything else people want to try?