Native Docker Clustering with Swarm

Author: Fabrizio Soppelsa;Chanwit Kaewkasi  

Publisher: Packt Publishing‎

Publication year: 2016

E-ISBN: 9781786467607

P-ISBN(Paperback): 9781786469755

Subject: TP316 操作系统;TP393 computer network

Keyword: 操作系统,工业技术,自动化技术、计算机技术,计算机网络

Language: ENG

Access to resources Favorite

Disclaimer: Any content in publications that violate the sovereignty, the constitution or regulations of the PRC is not accepted or approved by CNPIEC.

Description

Deploy, configure, and run clusters of Docker containers with Swarm About This Book • Get to grips with Docker Swarm, one of the key components of the Docker ecosystem. • Optimize Swarm and SwarmKit features for scaling massive applications through containers. • Learn about Docker’s scheduling tricks, high availability, security, and platform scalability. Who This Book Is For If you are a Linux admin or a Docker user who wants to natively manage Docker clusters, then this is the book for you. What You Will Learn • Create and manage Swarm Mode clusters of any size • Get a backstage view of the biggest Swarms ever built : Swarm2k and Swarm3k, with their 2,300 and 4,700 nodes • Discovery mechanisms and Raft • Deploy your containerized app on Swarm • Administer Swarm clusters on AWS, Azure, and DigitalOcean • Integrate Flocker volumes with Swarm • Create and manage Swarms on OpenStack Magnum In Detail Docker Swarm serves as one of the crucial components of the Docker ecosystem and offers a native solution for you to orchestrate containers. It’s turning out to be one of the preferred choices for Docker clustering thanks to its recent improvements. This book covers Swarm, Swarm Mode, and SwarmKit. It gives you a guided tour on how Swarm works and how to work with Swarm. It describes how to set up local test installations and then moves to huge distributed infrastructures. You will be shown how Swarm works internally, what’s new in Swarmkit, how to automate big Swarm deploy

Chapter

Chapter 1: Welcome to Docker Swarm

Clustering tools and container managers

Swarm goals

Why use Swarm

Real world use case examples

Pet versus cattle models

Swarm features

Similar projects

Kubernetes

CoreOS Fleet

Apache Mesos

Kubernetes versus Fleet versus Mesos

Swarm versus all

The Swarm v1 architecture

Terminology

Getting started with Swarm

Docker for Mac

Docker for Windows

Getting ready with Linux

Check that Docker Machine is available – all systems

Swarm, yesterday

Boot2Docker

Create 4 cluster nodes with Docker Machine

Configuring the Docker hosts

Starting Docker Swarm

Test your Swarm cluster

Swarm, today

Summary

Chapter 2: Discover the Discovery Services

A discovery service

Token

Re-architecting the example of Chapter 1 with token

Token limitations

Raft

Raft theory

Raft in practice

Etcd

Re architecting the example of Chapter 1 with Etcd

ZooKeeper

Consul

Re architecting the example of Chapter 1 with Consul

Towards a decentralized discovery service

Summary

Chapter 3: Meeting Docker Swarm Mode

Swarmkit

Versions and support

Swarmkit architecture

How a manager chooses the best node for a task

The heart of SwarmKit: swarmd

The controller of SwarmKit: swarmctl

Provisioning a SwarmKit cluster with Ansible

Creating a service on SwarmKit

Swarm mode

Old versus new Swarm versus SwarmKit

Swarm Mode zoom in

Integration into the engine

docker swarm command

docker node

docker service

Docker Stack

Etcd's Raft is integrated already

Load balancing and DNS

Promotion and demotion

Replicas and scale

Services and tasks

docker service scale

Summary

Chapter 4: Creating a Production-Grade Swarm

Tools

An HA Topology for Swarm2k

Managers specifications

In case of Raft recovery

Raft files

Running tasks

Manager topologies

Provisioning the infrastructure with belt

Securing Managers with Docker Machine

Understanding some Swarm internals

Joining workers

Upgrading Managers

Live Upgrading the Managers

Monitoring Swarm2k

InfluxDB Time-Series Database

[Telegraf Swarm plugin]

Telegraf Swarm plugin

Swarm3k

Swarm3k Setup and Workload

Swarm performance at a scale

Swarm2k and Swarm3k lessons learned

Summary

Chapter 5: Administer a Swarm Cluster

Docker Swarm standalone

Docker Swarm Mode

Manually adding nodes

Managers

Workers number

Scripted nodes addition

Belt

Use Ansible

Cluster management

Nodes operations

Demotion and promotion

Tagging nodes

Remove nodes

Remove workers

Remove managers

Swarm health

Backing up the cluster configuration

Disaster recovery

Graphical interfaces for Swarm

Shipyard

Portainer

Summary

Chapter 6: Deploy Real Applications on Swarm

Microservices

Deploy a replicated nginx

A minimal Swarm

Docker service

Overlay networks

Integrated load balancing

Connecting services: A WordPress example

Swarm scheduling strategies

Now, WordPress

Docker Compose and Swarm mode

Introducing Docker stacks

Distributed Application Bundles

Docker deploy

Another app: Apache Spark

Why Spark on Docker

Spark standalone without Swarm

Spark standalone on Swarm

Spark topology

Storage

Prerequisites

Start Spark on Swarm

Summary

Chapter 7: Scaling Up Your Platform

The Spark example, again

Docker plugins

The lab

A unique key

Docker Machine

Security groups

Networking configuration

Storage configuration and architecture

Installing Flocker

Generating Flocker certificates

Installing software

Installing the control node

Installing the cluster nodes

Testing whether everything is up and running

Installing and configuring Swarm

A volume for Spark

Deploying Spark, again

Testing Spark

Using Flocker storage

Scaling Spark

Monitoring Swarm hosting apps

Prometheus

Installing a monitoring system

Importing Prometheus in Grafana

Summary

Chapter 8: Exploring Additional Features of Swarm

Libnetwork

Networking plugins

Container Networking Model

Encryption and routing mesh

MacVLAN

Overlay networks

Network Control Plane

Libkv

How to use libkv

Summary

Chapter 9: Securing a Swarm Cluster and the Docker Software Supply Chain

Software Supply Chain

Securing Swarm cluster

Securing a Swarm: Best practices

Certification Authorities

Certificates and Mutual TLS

The join token

Add TLS with Docker Machine

Form a cluster on a private network

Docker Notary

Introducing Docker secrets

Summary

Chapter 10: Swarm and the Cloud

Docker for AWS and Azure

Docker for AWS

Docker for Azure

Docker Datacenter

Swarm on OpenStack

OpenStack Nova

[The (deprecated) nova-docker driver]

The (deprecated) nova-docker driver

The reality – OpenStack the friendly way

OpenStack Heat

OpenStack Magnum

Architecture and core concepts

Install HA Magnum on Mirantis OpenStack

Configure an HA Magnum installation

Create a Swarm cluster on Magnum

Summary

Chapter 11: What is next?

The challenge of provisioning

Software defined infrastructure

Infrakit

TUF – The Update Framework

Docker stacks and Compose

CaaS – Containers as a Service

Unikernels

Contribute to Docker

Github

File issues

Code

Belt and other projects

Summary

Index

The users who browse this book also browse


No browse record.