Introduction to Flocker which is a lightweight volume and container manager.
Meetup details of my presentation:
http://www.meetup.com/Docker-Bangalore/events/222476025/
3. Docker
“Automates the deployment of any
application as a lightweight, portable,
self-sufficient container
that will run virtually anywhere”
4. Docker Limitation
• Multiple Hosts
• Networking
• Same Hosts
• Communication between Services
• Orchestration and Clustering
• Control of containers
• Container management
7. Why Flocker
• Multi-hosted Docker cluster management tool
• Managing data volumes attached to containers
• Git Hub, Open Source
Live Migration
“Stateful thing scale vertically, stateless things
scale horizantlly”
8. Features
• Seamless database migrations for your micro
services
• Integrates into your existing Docker workflow
• Run multiple containers on multiple machines
• Easily move between dev, staging, production
23. Cluster Architecture
• Control service
• Using HTTP API to modify cluster configuration
• Convergence Agents
• Modify the cluster state to match configuration
24. Flocker REST API
GET /v1/configuration/containers
POST /v1/configuration/containers
POST /v1/configuration/containers/(name)
DELETE /v1/configuration/containers/(name)
POST /v1/configuration/datasets/(dataset_id)
GET /v1/state/datasets
30. Flocker Routing
• Flocker - Routing
• Container configuration includes externally visible TCP port numbers.
• Connect to any node on a Flocker cluster and traffic is routed to the node
hosting the appropriate container (based on port).
• Your external domain (www.example.com) configured to point at all nodes in
the Flocker cluster (192.0.2.0, 192.0.2.1)
• Managing Routes
• Containers claim TCP port numbers with the application configuration that
defines them.
• Connections to that TCP port on the node that is running the container are
proxied (NAT'd) into the container for whatever software is listening for them
there.
• Connections to that TCP port on any other node in the Flocker cluster are
proxied (NAT'd) to the node that is running the container.
• Proxying is done using iptables.
31. Flocker Volume Manager
• Snapshots and replication of Flocker volume
• Push volumes to remote host
• Track changes
• Roll back to earliest states
• Models:
• ZFS – Clone, Replication
• BTRTFS