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

cAdvisor

 cAdvisor

cAdvisor talk at Docker MTV meetup #2.

Vish Kannan

July 24, 2014
Tweet

More Decks by Vish Kannan

Other Decks in Technology

Transcript

  1. Google Confidential and Proprietary Why cAdvisor? • Resource isolation on

    a multi-tenant system is difficult • To understand resource utilization and performance of containers today, one needs to: ◦ Understand various (complicated) Linux APIs ◦ Understand different container solutions
  2. Google Confidential and Proprietary What is cAdvisor? • aka ‘Container

    Advisor’. Built for containers. • Give users an understanding of container resource usage and performance • Simple, lightweight, standalone, open source • Supports Docker containers natively! • Written entirely in Go!
  3. Google Confidential and Proprietary Internal Architecture Container Manager Web UI

    Storage driver Metrics collection driver InfluxDB In memory Google BigQuery REST API Docker Raw (systemd, lxc, lmctfy)
  4. Google Confidential and Proprietary Integration with other Technologies • Google

    Container VMs - http://goo.gl/GntKod ◦ Will be included in all Container VMs • Kubernetes ◦ Included in all Kubernetes minions (nodes) ◦ WIP: Use cAdvisor data for resource aware scheduling • Deployable as a Docker image ◦ docker run --volume=/var/run:/var/run:rw --volume=/sys:/sys:ro \ --volume=/var/lib/docker/:/var/lib/docker:ro --detach=true --name=cadvisor --publish=8080:8080 \ google/cadvisor:latest
  5. Google Confidential and Proprietary Future Work • More stats •

    Advice on performance degradation • User configurable notifications • Enable cluster scheduling • <your use case here>
  6. Google Confidential and Proprietary Contact Us • IRC: #google-containers on

    Freenode • Repo: github.com/google/cadvisor • Mailing list: [email protected] • Patches are always welcome!
  7. Google Confidential and Proprietary Summary • Built for containers •

    Works seamlessly with Docker • Runs in a docker container docker run --volume=/var/run:/var/run:rw --volume=/sys:/sys:ro \ --volume=/var/lib/docker/:/var/lib/docker:ro --detach=true --publish=8080:8080 --name=cadvisor \ google/cadvisor:latest • Enables cluster scheduling