Wanting distributed volumes - Experiences with ceph-dockerEwout Prangsma
Slides of a docker meetup presentation in Cologne (april 28,2016)
The presentation talks about how to run ceph in docker containers and how to use the ceph filesystems for volumes of docker containers in need of persistent storage.
In this overview presented to a gathering of directors for a large network equipment manufacturer, Chris discusses Docker, DevOps workflows, considerations for containers in production, and the extended Docker technology ecosystem.
Swarm in a nutshell
• Exposes several Docker Engines as a single virtual Engine
• Serves the standard Docker API
• Extremely easy to get started
• Batteries included but swappable
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/2GtI22x.
Bret Fisher talks about how to get started with Docker and Swarm in production, using the latest versions. He shows tactics, example configs, real working infrastructure designs, and looks at the internals of Docker in production today. Filmed at qconsf.com.
Bret Fisher is a freelance DevOps and Docker consultant, trainer, speaker, and Open Source volunteer working from Virginia Beach. He is the author of the popular Docker Mastery series on Udemy with over 20,000 students. He has been a sysadmin and developer for 20+ years, and lately, he helps teams Dockerize their apps and orchestrate and automate their infrastructure.
Wanting distributed volumes - Experiences with ceph-dockerEwout Prangsma
Slides of a docker meetup presentation in Cologne (april 28,2016)
The presentation talks about how to run ceph in docker containers and how to use the ceph filesystems for volumes of docker containers in need of persistent storage.
In this overview presented to a gathering of directors for a large network equipment manufacturer, Chris discusses Docker, DevOps workflows, considerations for containers in production, and the extended Docker technology ecosystem.
Swarm in a nutshell
• Exposes several Docker Engines as a single virtual Engine
• Serves the standard Docker API
• Extremely easy to get started
• Batteries included but swappable
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/2GtI22x.
Bret Fisher talks about how to get started with Docker and Swarm in production, using the latest versions. He shows tactics, example configs, real working infrastructure designs, and looks at the internals of Docker in production today. Filmed at qconsf.com.
Bret Fisher is a freelance DevOps and Docker consultant, trainer, speaker, and Open Source volunteer working from Virginia Beach. He is the author of the popular Docker Mastery series on Udemy with over 20,000 students. He has been a sysadmin and developer for 20+ years, and lately, he helps teams Dockerize their apps and orchestrate and automate their infrastructure.
In this talk Ben will walk you through running Cassandra in a docker environment to give you a flexible development environment that uses only a very small set of resources, both locally and with your favorite cloud provider. Lessons learned running Cassandra with a very small set of resources are applicable to both your local development environment and larger, less constrained production deployments.
Running Cassandra in a docker environment to give you a flexible development environment that uses only a very small set of resources, both locally and with your favorite cloud provider. Lessons learned running Cassandra with a very small set of resources are applicable to both your local development environment and larger, less constrained production deployments.
From http://www.meetup.com/Docker-Santa-Clara/events/232789407/
An introduction to Docker native clustering: Swarm.
Deployment and configuration, integration with Consul, for a product-like cluster to serve web-application with multiple containers on multiple hosts. #dockerops
The age of orchestration: from Docker basics to cluster managementNicola Paolucci
The container abstraction hit the collective developer mind with great force and created a space of innovation for the distribution, configuration and deployment of cloud based applications. Now that this new model has established itself work is moving towards orchestration and coordination of loosely coupled network services. There is an explosion of tools in this arena at different degrees of stability but the momentum is huge.
On the above premise this session we'll delve into a selection of the following topics:
- Two minute Docker intro refresher
- Overview of the orchestration landscape (Kubernetes, Mesos, Helios and Docker tools)
- Introduction to Docker own ecosystem orchestration tools (machine, swarm and compose)
- Live demo of cluster management using a sample application.
A basic understanding of Docker is suggested to fully enjoy the talk.
AtlasCamp 2015: The age of orchestration: From Docker basics to cluster manag...Atlassian
Nicola Paolucci, Atlassian
Containers hit the collective developer mind with great force the past two years and created a space of fervent innovation. Now work is moving towards orchestration. In this session we'll cover an overview of the container orchestration landscape, give an introduction to Docker's own tools - machine, swarm and compose - and show a (semi)live demo of how they work in practice.
Tuesday, August 6th session of the vBrownBag OpenStack Sack Lunch Series: Couch to OpenStack. We cover Cinder, the Block Storage Service that presents volumes to OpenStack instances. Credit to Ken Pepple for the OpenStack Project Diagram
The Nova driver for Docker has been maturing rapidly since its mainline removal in Icehouse. During the Juno cycle, substantial improvements have been made to the driver, and greater parity has been reached with other virtualization drivers. We will explore these improvements and what they mean to deployers. Eric will additionally showcase deployment scenarios for the deployment of OpenStack itself inside and underneath of Docker for powering traditional VM-based computing, storage, and other cloud services. Finally, users should expect a preview of the planned integration with the new OpenStack Containers Service effort to provide automation of advanced containers functionality and Docker-API semantics inside of an OpenStack cloud.
Note that the included Heat templates are NOT usable. See the linked Heat resources for viable templates and examples.
At DockerCon EU we introduced Docker Swarm: a Docker-native clustering system. It allows you to connect to a single Docker endpoint and run containers on an entire cluster.
Docker Swarm comes with a simple discovery service, for an easy setup. If you already have a discover service within your infrastructure like consul or etcd, you can use those instead.
A New Centralized Volume Storage Solution for Docker and Container Cloud by W...Docker, Inc.
I would like to introduce Elara, which is a centralized storage solution for building a huge container-based cloud platform and it can work as a Docker volume plugin.
Elara can work with openstack (Cinder, Manila, Swift) and storages such as SAN and NAS, it has several advantages:
- No central control node (Decentralized)
- Microservice architecture
- Supports Docker volume plugin with extended volume operations (snapshot, migration, QoS etc.)
- Supports different kinds of backend storage including block device, filesystem storage and object storage
- Supports storage resource scheduler (storage pools)
- Easy to install and use
In this talk Ben will walk you through running Cassandra in a docker environment to give you a flexible development environment that uses only a very small set of resources, both locally and with your favorite cloud provider. Lessons learned running Cassandra with a very small set of resources are applicable to both your local development environment and larger, less constrained production deployments.
Running Cassandra in a docker environment to give you a flexible development environment that uses only a very small set of resources, both locally and with your favorite cloud provider. Lessons learned running Cassandra with a very small set of resources are applicable to both your local development environment and larger, less constrained production deployments.
From http://www.meetup.com/Docker-Santa-Clara/events/232789407/
An introduction to Docker native clustering: Swarm.
Deployment and configuration, integration with Consul, for a product-like cluster to serve web-application with multiple containers on multiple hosts. #dockerops
The age of orchestration: from Docker basics to cluster managementNicola Paolucci
The container abstraction hit the collective developer mind with great force and created a space of innovation for the distribution, configuration and deployment of cloud based applications. Now that this new model has established itself work is moving towards orchestration and coordination of loosely coupled network services. There is an explosion of tools in this arena at different degrees of stability but the momentum is huge.
On the above premise this session we'll delve into a selection of the following topics:
- Two minute Docker intro refresher
- Overview of the orchestration landscape (Kubernetes, Mesos, Helios and Docker tools)
- Introduction to Docker own ecosystem orchestration tools (machine, swarm and compose)
- Live demo of cluster management using a sample application.
A basic understanding of Docker is suggested to fully enjoy the talk.
AtlasCamp 2015: The age of orchestration: From Docker basics to cluster manag...Atlassian
Nicola Paolucci, Atlassian
Containers hit the collective developer mind with great force the past two years and created a space of fervent innovation. Now work is moving towards orchestration. In this session we'll cover an overview of the container orchestration landscape, give an introduction to Docker's own tools - machine, swarm and compose - and show a (semi)live demo of how they work in practice.
Tuesday, August 6th session of the vBrownBag OpenStack Sack Lunch Series: Couch to OpenStack. We cover Cinder, the Block Storage Service that presents volumes to OpenStack instances. Credit to Ken Pepple for the OpenStack Project Diagram
The Nova driver for Docker has been maturing rapidly since its mainline removal in Icehouse. During the Juno cycle, substantial improvements have been made to the driver, and greater parity has been reached with other virtualization drivers. We will explore these improvements and what they mean to deployers. Eric will additionally showcase deployment scenarios for the deployment of OpenStack itself inside and underneath of Docker for powering traditional VM-based computing, storage, and other cloud services. Finally, users should expect a preview of the planned integration with the new OpenStack Containers Service effort to provide automation of advanced containers functionality and Docker-API semantics inside of an OpenStack cloud.
Note that the included Heat templates are NOT usable. See the linked Heat resources for viable templates and examples.
At DockerCon EU we introduced Docker Swarm: a Docker-native clustering system. It allows you to connect to a single Docker endpoint and run containers on an entire cluster.
Docker Swarm comes with a simple discovery service, for an easy setup. If you already have a discover service within your infrastructure like consul or etcd, you can use those instead.
A New Centralized Volume Storage Solution for Docker and Container Cloud by W...Docker, Inc.
I would like to introduce Elara, which is a centralized storage solution for building a huge container-based cloud platform and it can work as a Docker volume plugin.
Elara can work with openstack (Cinder, Manila, Swift) and storages such as SAN and NAS, it has several advantages:
- No central control node (Decentralized)
- Microservice architecture
- Supports Docker volume plugin with extended volume operations (snapshot, migration, QoS etc.)
- Supports different kinds of backend storage including block device, filesystem storage and object storage
- Supports storage resource scheduler (storage pools)
- Easy to install and use
Discovering Docker Volume Plugins and Apps using VirtualBoxClinton Kitson
There are right and wrong ways to use containers with persistent applications. Lucky for you, doing it the right way is much easier nowadays with Docker Volume Plugins. This talk will focus on doing some basic education including mostly live demos to show how you can take advantage of these new capabilities for expanding how you leverage containers.
An overview of the OpenStack Cinder project, which provides block storage services in OpenStack. This presentation is updated to cover the Havana release, with a look forward at what's expected in Icehouse.
AWS January 2016 Webinar Series - Introduction to Docker on AWSAmazon Web Services
Using Docker on your local development machine is simple, but running Docker applications at scale in production can be difficult.
In this webinar, we will discuss the difficulties of running Docker in production and how Amazon EC2 Container Service (ECS) can be used to reduce the operational burdens, and we will give an overview of the architecture powering Amazon ECS. We will also demo how to define multi-container applications with Docker Compose and deploy and scale them seamlessly to a cluster with Amazon ECS.
Learning Objectives:
Understand the benefits and architecture of Amazon ECS
Learn how to deploy and scale Docker containers on Amazon ECS
Who Should Attend:
Developers
Docker for Ops: Docker Networking Deep Dive, Considerations and Troubleshooti...Docker, Inc.
Overview;
What is libnetwork
New features in 1.12
Deep Dive;
Multihost networking
Secure Control Plane
Secure Data plane
Service Discovery
Native Loadbalacing
Routing Mesh
AWS re:Invent 2016: Getting Started with Docker on AWS (CMP209)Amazon Web Services
AWS is an elastic, secure, flexible, and developer-centric ecosystem that serves as an ideal platform for Docker deployments. AWS offers the scalable infrastructure, APIs, and SDKs that integrate tightly into a development lifecycle and accentuate the benefits of the lightweight and portable containers that Docker offers to its users.
This session familiarizes you with the benefits of containers, introduce Amazon EC2 Container Service, and demonstrates how to use Amazon ECS to run containerized applications at scale in production.
KubeCon EU 2016: Kubernetes Storage 101KubeAcademy
You have deployed your application on Kube and now you want to actually do something permanent with it?? You will need STORAGE.
This talk will be a good introduction to using storage in Kubernetes. It will cover the use of EmptyDir, HostPath and Persistent Storage options. How to configure and use each type. This talk will also discuss the security features for storage in the open source OpenShift project.
Sched Link: http://sched.co/6BcS
Orchestrating Linux Containers while tolerating failuresDocker, Inc.
lthough containers are bringing a refreshing flexibility when deploying services in production, the management of those containers in such an environment still requires special care in order to keep the application up and running. In this regard, orchestration platforms like Docker, Kubernetes and Nomad have been trying to alleviate this responsibility, facilitating the task of deploying and maintaining the entire application stack in its desired state. This ensures that a service will be always running, tolerating machine failures, network erratic behavior or software updates and downtime. The purpose of this talk is to explain the mechanisms and architecture of the Docker Engine orchestration platform (using a framework called swarmkit) to tolerate failures of services and machines, from cluster state replication and leader-election to container re-scheduling logic when a host goes down.
Orchestrating Docker - Making the Whale DanceJames Turnbull
Docker hit the developer scene in a big way last year. It made it easy for developers to run their applications locally and easily share and deploy them. But it wasn't quite ready for prime-time. It wasn't easy to run n-tier applications locally, manage Docker across different geographical locations or cluster Docker for availability and performance.
Recent releases of Docker have introduced new capabilities and tools to help with these use cases. In this session we're going to look at these new capabilities including:
* Looking at Docker Compose for building n-tier Docker applications and managing application stacks.
* Introduce Docker Swarm which provides orchestration and clustering for Docker servers.
* See how to integrate Docker and service discovery tools.
By the end of the session, you'll have a good understanding of how to take your Docker implementation to the next level and make use of these new capabilities.
Thanks to tools like vagrant, puppet/chef, and Platform as a Service services like Heroku, developers are extremely used to being able to spin up a development environment that is the same every time. What if we could go a step further and make sure our development environment is not only using the same software, but 100% configured and set up like production. Docker will let us do that, and so much more. We'll look at what Docker is, why you should look into using it, and all of the features that developers can take advantage of.
Docker is not just about deploying containers to hundreds of servers. Developers need tools that help with day-to-day tasks and to do their job more effectively. Docker is a great addition to most workflows, from starting projects to writing utilities to make development less repetitive. Docker can help take care of many problems developers face during development such as “it works on my machine” as well as keeping tooling consistent between all of the people working on a project. See how easy it is to take an existing development setup and application and move it over to Docker, no matter your operating system.
In this talk, Damien describes the infrastructure Nuxeo has built around Docker containers, which is mainly based on CoreOS and Docker, and how it provides a way to generically run applications not only on a single host, but across a whole cluster of hosts. The resulting architecture can be used to implement a PaaS approach for any application.
Heard about Docker and are wondering how to make it part of your stack? Excited by the potential of developing faster and smarter? We’re going to show you how to build development environments with Docker. Then teach you how to integrate that environment into your development and testing workflow.
We’ll show you how to easily install Docker on Linux, OS X and Windows and how to manage it.
You’ll learn how to build replicas of your production stack to develop in.
We’ll demonstrate some simple Docker-enabled workflows that include local development, Git Hub integration, and container-based testing.
You’ll get an introduction to taking the next step and leveling up your local workflow to a group or team-centric continuous integration environment with Jenkins.
You’ll leave the session with the basic tools to add Docker to your development lifecycle and information about how to learn more to build on your knowledge.
An overview on docker and container technology behind it. Lastly, we discuss few tools that might come handy when dealing with large number of containers management.
Introduction to Docker at the Azure Meet-up in New YorkJérôme Petazzoni
This is the presentation given at the Azure New York Meet-Up group, September 3rd.
It includes a quick overview of the Open Source Docker Engine and its associated services delivered through the Docker Hub. It also covers the new features of Docker 1.0, and briefly explains how to get started with Docker on Azure.
Docker for the new Era: Introducing Docker,its components and toolsRamit Surana
Containers have been evolved from generations behind today.So what's new with Docker ? What has changed during the current scenario ? Find out more on docker and how to implement it in your environments in the above slide show.
DCEU 18: Building Your Development PipelineDocker, Inc.
Oliver Pomeroy - Solution Engineer, Docker
Laura Frank Tacho - Director of Engineering, CloudBees
Enterprises often want to provide automation and standardisation on top of their container platform, using a pipeline to build and deploy their containerized applications. However this opens up new challenges… Do I have to build a new CI/CD Stack? Can I build my CI/CD pipeline with Kubernetes orchestration? What should my build agents look like? How do I integrate my pipeline into my enterprise container registry? In this session full of examples and “how-to”s, Olly and Laura will guide you through common situations and decisions related to your pipelines. We’ll cover building minimal images, scanning and signing images, and give examples on how to enforce compliance standards and best practices across your teams.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
2. About me
• Contributing to OpenStack a while (longer than some, less than others)
• Have been pretty passionate about core Cinder and things like reference driver
• Worked at a little Storage Startup called SolidFire recently bought by NetApp
• Have an AWESOME job where I get to work on OSS and always try new things
• Can be opinionated and blunt at times… sorry about that
2
3. 3
Maybe you showed up because you heard
rumors that I’d talk about Docker?
4. 4
OpenStack Cinder -Block Storage as a Service
• Abstraction layer to provide a pool of Block Resources
• Use backend storage from different vendors, don’t have to care of
know what’s actually serving up the blocks
• Scale out… just keep plugging in back-ends
• Scheduler can figure out where to place volumes for you
5. 5
It’s like having an infinite number of disks
That you can hot plug in and out of your Instances
Photo Credit: Roger Smith
6. 6
Only really need a few things
• Create/Delete
• Attach/Detach
• Snapshot
7. 7
Of course there’s more for those that want it
• Replication
• CG’s
• Backups
• Migration
• Imports/Exports
• Transfer ownership
• Extend
• ...
(This is me trying not to be opinionated and blunt… moving on)
9. 9
Yes, I’m going to talk about Docker
• Docker is the best geek bait EVER!!!
• “OpenStack in Containers”
• “Container Orchestration in OpenStack”
• “OpenStack on Kubernetes”
10. 10
Unicorns for EVERYONE
• All sorts of interesting ideas and plans on
the horizon
• Let’s bypass some of the hype and just
talk about some cool stuff you can do
today
• Try to remember a little bit of the past
while we’re at it
11. 11
History repeats itself in tech
• $NEW_THING is like pets vs cattle
• $NEW_THING needs better networking
• $NEW_THING needs persistent storage
• $NEW_THING is a different development paradigm
• $NEW_THING is about small ephemeral services
echo $NEW_THING
OpenStack
export NEW_THING=Containers
12. 12
Just like we heard in OpenStack –Containers need
networking and storage options
• Volume Plugin capability for Docker introduced initially in 1.8
• Continues to mature
• List of Vendors racing to provide a plugin accelerating rapidly
• Nobody wants to be late to the party, especially those that were late to Cinder
13. 13
Docker Volume Plugins –General things to know
• Docker provides a simple Volume API
• INCLUDES PROVISIONING!!!!!
• Driver runs as a daemon
• Most common right now are simple UNIX domain sockets
• Runs on same node as the Docker Engine
• json-rpc over http POST
• Works with Swarm, Engine and Compose
14. So I wrote a Cinder Plugin
• Written in Golang
• Focus on JUST Cinder
• Vendor neutral/independent
• Open Source
• Gladly welcome contributors and feedback
• Anticipating/Hoping for Cinder community support
14
15. 15
Can’t I already do this?
Yep, you can
Cool stuff out there already
Adoption is the greatest compliment
16. 16
Don’t get me wrong
Some of those existing plugins that wrap up Cinder
are pretty cool
Some offer additional benefits
Some might fit your use case better
Some of them you may have already invested in and
have relationships with the contributing vendors
Do your thing, that’s AWESOME
Don’t hate, we’re all in this together
18. 18
These Plugins aren’t under an umbrella
• Docker Plugins are NOT in a Docker repo
• Cinder Docker Plugin isn’t in an OpenStack repo
19. 19
Some OpenStack folks just had a stroke
For now: https://github.com/j-griffith/cinder-docker-driver
Licensed under the “unlicense”
Potential for inclusion under OpenStack some day? Or maybe Docker?
20. 20
So how does this work
• It’s not “much” different than how we do things with OpenStack/Nova
• Create a volume
• Attach a volume
• It’s all the same stuff we’ve been doing for years, we just change the
consumer
• Cinder really doesn’t care what you’re doing on the other side
• By the way, we’re talking Docker, but it doesn’t have to be Docker either
21. 21
I have to give a shout out to Docker on1.12
• Docker 1.12 was a HUGE step forward
• Swarm advancements are my favorite
• I can deploy a Swarm cluster wicked fast
• Swarm in OpenStack or Public Cloud is stupid easy
22. 22
Recipe for a tasty Swarm Cluster with persistent data
Start with some Peanut Butter
• Basic OpenStack Cloud
• Compute Networking and Storage
Mix in a bit of Chocolate
• Docker 1.12
Top it off with some frosting
• Cinder Docker Driver
23. 23
We’ll use docker-machine with the OpenStack driver –
Because we can, and it works pretty well
(Our OpenStack Cloud)
24. 24
We have our ingredients, here’s the basic steps
1. docker-machine to create 3 Nova Instances and setup Docker
2. Create a Swarm Cluster
3. Install , configure and start the cinder-docker-driver
4. Deploy a Swarm service that creates and uses a Cinder Volume
25. 25
Create our nodes –use env vars instead of args
We’ll use docker-machine and the built in OpenStack driver for this
There’s a LOT of arguments required to the cli, so let’s start by creating an env file rather
than typing everything in.
export OS_FLAVOR_ID=2export OS_DOMAIN_NAME=$OS_USER_DOMAIN_NAME
export OS_IMAGE_ID=d5c276bc-cb70-42c4-9291-96f40a03a74c
export OS_SSH_USER=ubuntu
export OS_KEYPAIR_NAME=jdg
export OS_PRIVATE_KEY_FILE=$HOME/.ssh/id_rsaexport OS_SSH_USER=ubuntu
export OS_TENANT_ID=$OS_PROJECT_ID
26. 26
Create our nodes
This just does our ”nova boot ….” for us, creating the Instances based on env vars
It does a few additional things for us too though
• Install Docker
• Configure and Setup certs for Docker
• Verify Docker is up and running
• Create a node entry in the docker nodes db
➜ docker-machine create –d openstack swarm-1
➜ docker-machine create –d openstack swarm-2
➜ docker-machine create –d openstack swarm-3
27. 27
We can view our nodes using docker-machine
➜ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER
ERRORS
swarm-1 - openstack Running tcp://172.16.140.157:2376 v1.12.0
swarm-2 - openstack Running tcp://172.16.140.159:2376 v1.12.0
swarm-3 - openstack Running tcp://172.16.140.161:2376 v1.12.0
28. 28
Set a node up as a Swarm Manager
➜ eval $(docker-machine env swarm-1)
➜ SWARM-1-IP=$(docker-machine ip swarm-1)
➜ docker swarm init --advertise-addr $SWARM-1-IP –listen-addr $SWARM-1-IP:2377
Swarm initialized: current node (5oi3h06yci5mvsau6czcbbxqu) is now a manager.
To add a worker to this swarm, run the following command:
docker swarm join
--token SWMTKN-1-33zfeg2ppr9043o4itdn2cznwn7yuy7na1fqg2aduoemihw93o
-3znh32dbpmb5goc8l1ia286it 172.16.140.157:2377
To add a manager to this swarm, run 'docker swarm join-token manager' and follow the
instructions.
29. 29
Set our other two Instances as Workers
➜ eval $(docker-machine env swarm-2)
➜ docker swarm join --token SWMTKN-1-33zfeg2ppr9043o4itdn2cznwn7yuy7na1fqg2aduoemihw93o-
3znh32dbpmb5goc8l1ia286it 172.16.140.157:2377
This node joined a swarm as a worker.
➜ eval $(docker-machine env swarm-3)
➜ docker swarm join --token SWMTKN-1-33zfeg2ppr9043o4itdn2cznwn7yuy7na1fqg2aduoemihw93o-
3znh32dbpmb5goc8l1ia286it 172.16.140.157:2377
This node joined a swarm as a worker.
31. 31
Now it’s time to install the Cinder Driver
on each Node
• Install the driver
• Copy over a config file
• Start the daemon
• Restart Docker
32. 32
You can just use docker-machine from
your laptop…
➜ for each in $(docker-machine ls -q); do; docker-machine ssh $each "curl –sSL
https://raw.githubusercontent.com/j-griffith/cinder-docker-driver/master/install.sh
| sh -" ; done
➜ for each in $(docker-machine ls -q); do; docker-machine scp cdd.config.json
$each:~/config.json; done
➜ for each in $(docker-machine ls -q); do; docker-machine ssh $each "sudo
cinder-docker-driver --config config.json > cdd.log 2>&1 &" ; done
➜ for each in $(docker-machine ls -q); do; docker-machine ssh $each "sudo
Service docker restart" ; done
33. 33
About that install….
Config file is just OpenStack Creds
Creating a Service file for the driver has made
it’s way up pretty far on the TODO list
{
"Endpoint": "http://172.16.140.243:5000/v2.0",
"Username": "jdg",
"Password": “ABC123",
"TenantID": "3dce5dd10b414ac1b942aba8ce8558e7“
}
34. 34
Now you can do cool things
Let’s build the simple counter application
• Redis container with Cinder Volume
• Web front end to take user input
We’ll run this as a Swarm service, so we can do things
like scale it, drain-nodes and move the containers
uninterrupted.
All while persisting our Redis data
35. 35
Create a Docker network first so the Swarm
nodes have a layer to communicate on…
➜ eval $(docker-machine env swarm-1)
➜ docker network create demo-net
Bd45fad9911005ce2ff8e311a2738681d179589d8d06989a136e8020bc5a8155
36. 36
Launch our services, start with the Redis
service…
➜ eval $(docker-machine env swarm-1)
➜ docker service create --name redis --network demo-net –-mount
type=volume,src=counter-demo,dst=/data,volume-driver=cinder -p 6379:6379 redis
This will:
• Pull the Redis image if it’s not available
• Get/Create the volume on the Cinder backend
• Attach the Volume to the Swarm node
• Partition, Format and Mount the Volume
• Link the volume to the Redis Containers /data directory
• Start the Redis Container
37. 37
You can see the attached volume on the
Swarm Node….
ubuntu@swarm-3:~$ ls /dev/disk/by-path/
ip-10.10.9.1:3260-iscsi-iqn.2010-01.com.solidfire:ayyb.uuid-59e99b3b-c7d6-45c2-924c-
virtio-pci-0000:00:04.0
virtio-pci-0000:00:04.0-part1
Same as we do for Nova Compute nodes… nothing really different except we add the file system
38. 38
Now, the web service/frontend…
➜ docker service create --name web --network demonet -p 80:80
jgriffith/jgriffith webbase
This will:
• Connect to our Redis container (regardless of what Swarm node it’s on)
• Expose port 80 to all of the Swarm Nodes (access from any Swarm Node IP)
• Count input/clicks and store them in the Redis DB