Providing High-Availability Software Containers as a Service on Docker Swarm Clusters with Overlay Network and Shared Volume

碩士 === 國立中央大學 === 資訊工程學系 === 104 === Hardware virtualization fulfills users’ computing demands by providing users software compute instances namely virtual machines, which emulate how physical machines work. It is widely used in various computing platforms in the cloud era due to its manageability,...

Full description

Bibliographic Details
Main Authors: Hung-Lin Huang, 黃泓霖
Other Authors: Wei-Jen Wang
Format: Others
Language:zh-TW
Published: 2016
Online Access:http://ndltd.ncl.edu.tw/handle/25003747011741131526
id ndltd-TW-104NCU05392096
record_format oai_dc
spelling ndltd-TW-104NCU053920962017-07-09T04:30:34Z http://ndltd.ncl.edu.tw/handle/25003747011741131526 Providing High-Availability Software Containers as a Service on Docker Swarm Clusters with Overlay Network and Shared Volume 在支援Overlay Network與Shared Volume之Docker Swarm叢集上提供高可用性軟體容器服務 Hung-Lin Huang 黃泓霖 碩士 國立中央大學 資訊工程學系 104 Hardware virtualization fulfills users’ computing demands by providing users software compute instances namely virtual machines, which emulate how physical machines work. It is widely used in various computing platforms in the cloud era due to its manageability, flexibility and elasticity. In recent years, a similar light-weight technology, usually called OS containerization (or OS-level virtualization), has gradually become a hot issue in IT industry. The OS containerization technology provides a logical compute instance, known as the software container, as the fundamental compute unit to host applications or services. A software container is emulated by the host OS. Therefore, it has light-weight overheads in terms of instance creation/deletion time and consumed memory space, when compared with hardware virtualization. Docker is one of the popular open-source projects for OS containerization. It allows people to create and to manage software containers on a host OS. Docker Swarm is another open-source project for building a compute pool of Docker containers. Based on our study, Docker Swarm does not well support the high availability (HA) feature for its Docker containers in the current version. For example, the failover mechanism of Docker Swarm cannot handle failures on linked containers, which can be viewed as a virtual container cluster where each member can directly or indirectly communicate with each other. To this end, this research focuses on the HA issue of Docker Swarm. In this paper, we present a light-weight HA architecture as well as its implementation based on Docker Swarm. The HA architecture uses shared Docker volume to prevent data loss. It also uses Docker overlay networks to enable communication among software containers on different hosts. We also implement a light-weight monitoring mechanism to detect whether a software container fails, as well as a recovery mechanism to recover a failed software container in a second. With the proposed mechanisms, we can reduce the downtime of any failed software container on Docker Swarm, and improve the ability of the applications/services running on the software containers consequently. Wei-Jen Wang 王尉任 2016 學位論文 ; thesis 60 zh-TW
collection NDLTD
language zh-TW
format Others
sources NDLTD
description 碩士 === 國立中央大學 === 資訊工程學系 === 104 === Hardware virtualization fulfills users’ computing demands by providing users software compute instances namely virtual machines, which emulate how physical machines work. It is widely used in various computing platforms in the cloud era due to its manageability, flexibility and elasticity. In recent years, a similar light-weight technology, usually called OS containerization (or OS-level virtualization), has gradually become a hot issue in IT industry. The OS containerization technology provides a logical compute instance, known as the software container, as the fundamental compute unit to host applications or services. A software container is emulated by the host OS. Therefore, it has light-weight overheads in terms of instance creation/deletion time and consumed memory space, when compared with hardware virtualization. Docker is one of the popular open-source projects for OS containerization. It allows people to create and to manage software containers on a host OS. Docker Swarm is another open-source project for building a compute pool of Docker containers. Based on our study, Docker Swarm does not well support the high availability (HA) feature for its Docker containers in the current version. For example, the failover mechanism of Docker Swarm cannot handle failures on linked containers, which can be viewed as a virtual container cluster where each member can directly or indirectly communicate with each other. To this end, this research focuses on the HA issue of Docker Swarm. In this paper, we present a light-weight HA architecture as well as its implementation based on Docker Swarm. The HA architecture uses shared Docker volume to prevent data loss. It also uses Docker overlay networks to enable communication among software containers on different hosts. We also implement a light-weight monitoring mechanism to detect whether a software container fails, as well as a recovery mechanism to recover a failed software container in a second. With the proposed mechanisms, we can reduce the downtime of any failed software container on Docker Swarm, and improve the ability of the applications/services running on the software containers consequently.
author2 Wei-Jen Wang
author_facet Wei-Jen Wang
Hung-Lin Huang
黃泓霖
author Hung-Lin Huang
黃泓霖
spellingShingle Hung-Lin Huang
黃泓霖
Providing High-Availability Software Containers as a Service on Docker Swarm Clusters with Overlay Network and Shared Volume
author_sort Hung-Lin Huang
title Providing High-Availability Software Containers as a Service on Docker Swarm Clusters with Overlay Network and Shared Volume
title_short Providing High-Availability Software Containers as a Service on Docker Swarm Clusters with Overlay Network and Shared Volume
title_full Providing High-Availability Software Containers as a Service on Docker Swarm Clusters with Overlay Network and Shared Volume
title_fullStr Providing High-Availability Software Containers as a Service on Docker Swarm Clusters with Overlay Network and Shared Volume
title_full_unstemmed Providing High-Availability Software Containers as a Service on Docker Swarm Clusters with Overlay Network and Shared Volume
title_sort providing high-availability software containers as a service on docker swarm clusters with overlay network and shared volume
publishDate 2016
url http://ndltd.ncl.edu.tw/handle/25003747011741131526
work_keys_str_mv AT hunglinhuang providinghighavailabilitysoftwarecontainersasaserviceondockerswarmclusterswithoverlaynetworkandsharedvolume
AT huánghónglín providinghighavailabilitysoftwarecontainersasaserviceondockerswarmclusterswithoverlaynetworkandsharedvolume
AT hunglinhuang zàizhīyuánoverlaynetworkyǔsharedvolumezhīdockerswarmcóngjíshàngtígōnggāokěyòngxìngruǎntǐróngqìfúwù
AT huánghónglín zàizhīyuánoverlaynetworkyǔsharedvolumezhīdockerswarmcóngjíshàngtígōnggāokěyòngxìngruǎntǐróngqìfúwù
_version_ 1718494612572602368