docker volumes with beegfs - qnibqnib.org/data/isc2016/5_docker_volumes.pdf · 2019-09-08 ·...

Post on 22-May-2020

11 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Docker Volumes with BeeGFS

Jasper Lievisse Adriaanse

Docker: Linux Containers to Optimise IT Infrastructure for HPC & BigData

[June 23, 2016]

[Agenda]

Introduction

Docker

VolumesIntroductionTypesPlugins

BeeGFSBeeGFSDockerized stackBeeGFS plugin

Demo

Q&A

[Introduction] Who am I?

CTO for RedCoolBeansOpenBSD developer

jasper@redcoolbeans.com jasper_la , jasperla

[Introduction] RedCoolBeans

I Secure Docker stacksI CargOS, Dockerlint, Crane

RedCoolBeans @RedCoolBeans RedCoolBeans.com and CargOS.io

[Docker] Adoption Hurdles

Two primary challenges:I Networking

I Storage

[Docker] Adoption Hurdles

Two primary challenges:I NetworkingI Storage

[Docker] Networking

I LinksI Multi-host setups

I Ambassador pattern

[Docker] Networking (cont.)

Two “solutions”:I WeaveI docker-compose

Docker 1.9 network subcommand

[Docker] Data persistence

Containers are ephemeral, data is forever (sort of)Not all containers are stateless

I DatabasesI CMS uploadsI …

[Volumes] Purpose of volumes

I Store data outside of a container

I Share data between containersI Backup/replicationI Utilize external/clustered filesystems

[Volumes] Purpose of volumes

I Store data outside of a containerI Share data between containers

I Backup/replicationI Utilize external/clustered filesystems

[Volumes] Purpose of volumes

I Store data outside of a containerI Share data between containersI Backup/replication

I Utilize external/clustered filesystems

[Volumes] Purpose of volumes

I Store data outside of a containerI Share data between containersI Backup/replicationI Utilize external/clustered filesystems

[Volumes]

Data volumesI docker run -v /data:/data […]

Data volume containersI docker run --volumes-from data-container […]

[Volumes] Types of volumes

Data volumes on host (host volumes)I docker run -v /docker/db:/db […]

[Volumes] Types of volumes (cont.)

Data volumesAnonymous volume

I docker run -v /data […]I Data lifetime matches container’s

Named volumeI docker run -v datavolume:/data […]I Data lifetime exceeds container’s

[Volumes] Types of volumes (cont.)

Data volumesAnonymous volume

I docker run -v /data […]I Data lifetime matches container’s

Named volumeI docker run -v datavolume:/data […]I Data lifetime exceeds container’s

[Volumes] Types of volumes (cont.)

Data volume containersI docker run --volumes-from data-container […]I Store data in containers

[Volumes] Security implications

I No restrictions on sharingI SELinux-labelingI Boot2docker situation

[Volumes] Plugins

I docker volume subcommand/APII Arbitrary backend providerI Plugins for:

I NFS, CIFS, EFSI GlusterFS, IPFS

I BeeGFS

[Volumes] Plugins

I docker volume subcommand/APII Arbitrary backend providerI Plugins for:

I NFS, CIFS, EFSI GlusterFS, IPFSI BeeGFS

[BeeGFS]

I Open source, highly performant cluster filesystem

I Easy to setupI Excels on commodity hardwareI Developed by Fraunhofer institute

[BeeGFS]

I Open source, highly performant cluster filesystemI Easy to setup

I Excels on commodity hardwareI Developed by Fraunhofer institute

[BeeGFS]

I Open source, highly performant cluster filesystemI Easy to setupI Excels on commodity hardware

I Developed by Fraunhofer institute

[BeeGFS]

I Open source, highly performant cluster filesystemI Easy to setupI Excels on commodity hardwareI Developed by Fraunhofer institute

[BeeGFS] Overview

Figure: Architecture overview (source: beegfs.com)

[Dockerized stack] Services

I ManagementI MetadataI Storage

I Client

[Dockerized stack] Services

I ManagementI MetadataI StorageI Client

[Dockerized stack] Availability

I DockerHubI github.com/RedCoolBeans/docker-beegfs

[BeeGFS Plugin]

I github.com/RedCoolBeans/docker-volume-beegfsI Available for:

I RedHat (+CentOS, &c)I Debian (+Ubuntu, &c)

[BeeGFS plugin] Requirements

I Docker 1.8I Plugin service runningI Kernel module loadedI BeeGFS share mounted

[BeeGFS plugin] How does it work?

I Bridge to Docker API (docker volume)I Maps volume name to on-disk nameI Checks underlying filesystem type

[BeeGFS plugin] Use cases

I Multi-host Docker clusterI Redudant storageI (Live-)migrationI CI/CD

[Demo]

Demo

[Q&A]

Questions?

top related