OpenStack - Docker - Rackspace HQ
-
Upload
docker -
Category
Technology
-
view
6.219 -
download
7
description
Transcript of OpenStack - Docker - Rackspace HQ
![Page 1: OpenStack - Docker - Rackspace HQ](https://reader031.fdocuments.in/reader031/viewer/2022020122/540dea628d7f72767e8b4bc0/html5/thumbnails/1.jpg)
Docker &
January 2014
![Page 2: OpenStack - Docker - Rackspace HQ](https://reader031.fdocuments.in/reader031/viewer/2022020122/540dea628d7f72767e8b4bc0/html5/thumbnails/2.jpg)
What?
• Docker driver for Nova accepted in Havana!
• Docker plugin for Heat accepted for Icehouse!
• Docker support in devstack!
• Now spec’ing a project to improve containers support in OpenStack
![Page 3: OpenStack - Docker - Rackspace HQ](https://reader031.fdocuments.in/reader031/viewer/2022020122/540dea628d7f72767e8b4bc0/html5/thumbnails/3.jpg)
Why Docker?!(an incomplete list)
• Cross-Cloud compatibility
• Dockerfiles provide flexible, repeatable image authoring
• Global image portability and delivery through the Registry
• Incremental images & builds
• Completeness of vision (Runtime, Configuration, Build, Deployment, Orchestration…)
![Page 4: OpenStack - Docker - Rackspace HQ](https://reader031.fdocuments.in/reader031/viewer/2022020122/540dea628d7f72767e8b4bc0/html5/thumbnails/4.jpg)
Nova IntegrationDocker driver for OpenStack Compute
![Page 5: OpenStack - Docker - Rackspace HQ](https://reader031.fdocuments.in/reader031/viewer/2022020122/540dea628d7f72767e8b4bc0/html5/thumbnails/5.jpg)
What?Enables control of Docker via OpenStack:
• Nova API • Horizon UI
Supports: • launch • terminate • reboot • fetch logs • snapshot • glance
https://wiki.openstack.org/wiki/HypervisorSupportMatrix
![Page 6: OpenStack - Docker - Rackspace HQ](https://reader031.fdocuments.in/reader031/viewer/2022020122/540dea628d7f72767e8b4bc0/html5/thumbnails/6.jpg)
UI Integration (Horizon)
![Page 7: OpenStack - Docker - Rackspace HQ](https://reader031.fdocuments.in/reader031/viewer/2022020122/540dea628d7f72767e8b4bc0/html5/thumbnails/7.jpg)
UI Integration (Horizon)
![Page 8: OpenStack - Docker - Rackspace HQ](https://reader031.fdocuments.in/reader031/viewer/2022020122/540dea628d7f72767e8b4bc0/html5/thumbnails/8.jpg)
Nova+Docker!Architecture
Overview
![Page 9: OpenStack - Docker - Rackspace HQ](https://reader031.fdocuments.in/reader031/viewer/2022020122/540dea628d7f72767e8b4bc0/html5/thumbnails/9.jpg)
Image Management
docker-registry is a proxy !
users can upload through docker-registry or to glance directly
!docker pulls images through the
docker-registry proxy
![Page 10: OpenStack - Docker - Rackspace HQ](https://reader031.fdocuments.in/reader031/viewer/2022020122/540dea628d7f72767e8b4bc0/html5/thumbnails/10.jpg)
Gate Tests
Unit Tests38 unit tests, gating commits
(vs 541 for libvirt and 10 specific to lxc)
passing >90% of tests in Tempest
- not perfect, but we have visibility
- most failures are !docker
non-voting gate coming in Icehouse
TESTS
![Page 11: OpenStack - Docker - Rackspace HQ](https://reader031.fdocuments.in/reader031/viewer/2022020122/540dea628d7f72767e8b4bc0/html5/thumbnails/11.jpg)
Not supported.!(yet)
Neutron (+OVS)
Cinder Volumes
(Work in progress!but patches welcome!)
![Page 12: OpenStack - Docker - Rackspace HQ](https://reader031.fdocuments.in/reader031/viewer/2022020122/540dea628d7f72767e8b4bc0/html5/thumbnails/12.jpg)
Docker BasicsExample: Run Tempest
(the OpenStack integration test suite)
Based on the project “Dockenstack” written by Paul Czarkowski
forked and improved by Eric Windisch
Run OpenStack tempest against: • … a freshly provisioned OpenStack install • … installed by Devstack • … in a Docker container
![Page 13: OpenStack - Docker - Rackspace HQ](https://reader031.fdocuments.in/reader031/viewer/2022020122/540dea628d7f72767e8b4bc0/html5/thumbnails/13.jpg)
DockerfileFROM ubuntu:raring MAINTAINER Eric Windisch “[email protected]” […] RUN apt-get -qqy install mysql-server git socat curl … RUN useradd devstack && usermod -a -G docker devstack ADD devstack.sudo /etc/sudoers.d/devstack RUN chown root /etc/sudoers.d/devstack ADD tempest /usr/local/bin/start-devstack RUN chmod 755 /usr/local/bin/start-devstack VOLUME /var/lib/docker […] RUN git clone https://github.com/openstack-dev/devstack RUN /devstack/tools/install_prereqs.sh ADD localrc /devstack/localrc CMD [“/usr/local/bin/start-devstack"]
![Page 14: OpenStack - Docker - Rackspace HQ](https://reader031.fdocuments.in/reader031/viewer/2022020122/540dea628d7f72767e8b4bc0/html5/thumbnails/14.jpg)
$ docker build -t dockenstack .
$ docker run -privileged dockenstack
Build the container image:
Run it:
Publish it on the public Registry:$ docker tag dockenstack ewindish/dockenstack $ docker push ewindisch/dockenstack
![Page 15: OpenStack - Docker - Rackspace HQ](https://reader031.fdocuments.in/reader031/viewer/2022020122/540dea628d7f72767e8b4bc0/html5/thumbnails/15.jpg)
another-host$ docker search dockenstack NAME DESCRIPTION ewindisch/dockenstack OpenStack development environment (using D... !another-host$ docker pull ewindisch/dockenstack
It’s on the public registry!
… and on github!https://github.com/ewindisch/dockenstack
![Page 16: OpenStack - Docker - Rackspace HQ](https://reader031.fdocuments.in/reader031/viewer/2022020122/540dea628d7f72767e8b4bc0/html5/thumbnails/16.jpg)
![Page 17: OpenStack - Docker - Rackspace HQ](https://reader031.fdocuments.in/reader031/viewer/2022020122/540dea628d7f72767e8b4bc0/html5/thumbnails/17.jpg)
Applying HeatOrchestration for Docker API using OpenStack Heat
![Page 18: OpenStack - Docker - Rackspace HQ](https://reader031.fdocuments.in/reader031/viewer/2022020122/540dea628d7f72767e8b4bc0/html5/thumbnails/18.jpg)
7KH�'RFNHU�SOXJLQ�IRU�+HDW%\�XVLQJ�WKH�SOXJLQ��+HDW�FDQ�WDON�GLUHFWO\�WR�'RFNHU
Heat Plugin Flow
![Page 19: OpenStack - Docker - Rackspace HQ](https://reader031.fdocuments.in/reader031/viewer/2022020122/540dea628d7f72767e8b4bc0/html5/thumbnails/19.jpg)
Heat Templateheat_template_version: 2013-05-23 !description: Single compute instance with one docker container-runs devstack /w docker and tests it with Tempest! !resources: my_instance: type: OS::Nova::Server properties: key_name: ewindisch_key1 image: ubuntu-precise-docker flavor: m1.large my_docker_container: type: OS::Heat::Docker docker_endpoint: { get_attr: [my_instance, first_address] } image: ewindisch/dockenstack-tempest
![Page 20: OpenStack - Docker - Rackspace HQ](https://reader031.fdocuments.in/reader031/viewer/2022020122/540dea628d7f72767e8b4bc0/html5/thumbnails/20.jpg)
3URV��&RQV1RYD�GULYHU +HDW�SOXJLQ
,QWHJUDWLRQ�ZLWK�RWKHU�VHUYLFHV
1RYD�IHDWXUHV��TXRWD��DXWK��HWF����
$EVWUDFWLRQ�OD\HU�IRU�RWKHU�K\SHUYLVRU
&ORVHU�WR�WKH�'RFNHU�ZRUNIORZ
(DVLHU�PDLQWHQDQFH�RYHU�WLPH
(DVLHU�GHSOR\PHQW
䚉 %RWK�DSSURDFKHV�DUH�VLPSO\�GLIIHUHQW
䚉 2QH�GRHV�QRW�UHSODFH�WKH�RWKHU�
Closer to the Docker workflow
Hybrid-cloud compatible
Scheduled by backing cloud
Integration with other services
Nova features (quota, auth, etc…)
Abstraction layer for other hypervisors
Integrated scheduling
Heat vs Nova!Comparison
![Page 21: OpenStack - Docker - Rackspace HQ](https://reader031.fdocuments.in/reader031/viewer/2022020122/540dea628d7f72767e8b4bc0/html5/thumbnails/21.jpg)
Q & A