Container and container Ecosystem Overview

1. container and container technology platform technologies

(1) container Technology:
(1.1) container core knowledge: what, why, how do (architecture, mirroring, container, network, storage);
(1.2) container Advanced knowledge: multi-host, network container, data management, log management, security.
(2) a container platform technology:
(2.1) a container orchestration engine: Docker Swarm, Kubernetes, mesos + Marathon;
(2.2) of the container management platform: Rancher, Containership;
(2.3) on the container PaaS (Platform-as-a- Service: platform as a service): Deis, Flynn, Dokku.
Technology and internet technology container vessels - mind is as follows:
Technology and internet technology container vessels - mind map
the container of FIG ecosystem mind:
容器生态系统思维导图

1.1 container Ecosystem Overview

1.1.1 container core technologies:

容器核心技术是指能让Container(容器)在host(集群、主机)上运行起来的那些技术。
(1)容器规范:
OCI(runtime spec+image format spec)
(2)容器runtime:
runtime是容器真正运行的地方。需要跟操作系统的kernel紧密协作,为容器提供运行环境。
java程序类似容器,JVM类似runtime,JVM为java提供运行环境,容器只有在runtime才能运行
主流的容器runtime:lxc、runc、rkt。
(3)容器管理工具:
对内与runtime交互,对外为用户提供interface(界面)。
常用的容器管理工具:
lxd(是lxc对应的管理工具);
runc的管理工具是docker engine。docker engine包括后台deamon和cli两部分。通常说的Docker,就是指docker engine;
rkt的管理工具是rkt cli。
(4)容器定义工具:
容器定义工具:允许用户定义容器的内容和属性。这样容器就能够被保存、共享和重建。
常用的容器定义工具:
docker image:是docker容器的模板,runtime一句docker image创建容器;
dockerfile:是包含若干命令的文本文件,可以通过这些命令创建出docker image;
ACI(App Container Image):与docker image类似,不过它是由CoreOS开发的rkt容器的image格式。
(5)Registries:容器是通过image创建的,需要有一个仓库来统一存放image,这个仓库就叫做Registry。
Docker Registry:企业可以用Docker Registry构建私有的Registry;
Docker Hub:是docker为公众提供的托管registry,有很多现成的image;
Quay.io:也是一个公共托管registry。
(6)容器OS:是专门运行容器的操作系统。
常用:coreos、atomic、ubuntu core。

1.1.2 容器平台技术:

(1)容器编排引擎
要干的工作:用高效的方法来管理容器集群。
常用容器编排引擎:
docker swarm:是Docker开发的容器编排引擎;
kubernetes:是Google领导开发的开源容器编排引擎,同时支持Docker和CoreOS容器;
mesos:是一个通用的集群资源调度平台,mesos与marathon一起提供容器编排引擎功能。
(2)容器管理平台
是架构在容器编排引擎之上的一个更通用的平台。
通常容器管理平台支持多种编排引擎,抽象了编排引擎的底层实现细节。
典型代表:Rancher、ContainerShip。
(3)基于容器的PaaS
PaaS即(Platform-as-a-Service:平台即服务。
基于容器的PaaS为微服务应用开发人员和公司提供了开发、部署和管理应用的平台,使用户不必关心底层基础设施而专注于应用的开发。
开源容器PaaS的代表:Deis、Flynn、Dokku。

1.1.3 容器支持技术:

(1) a container network
docker network: Docker is native network solutions;
flannel: a third party open source solution;
Weave: a third party open source solution;
Calico: a third party open source solutions.
(2) Service Discovery
dynamic change is a major feature of the micro-service applications. When the load increases, the cluster will automatically create a new container; load decreases, excess container will be destroyed.
Container will migrate in different host resource usage in accordance with the host.
Typical solutions for service discovery: etcd, consul, zookeeper.
(3) monitoring
docker ps / top / stats: is Docker native command line monitoring tools;
Docker stats the API: can request the container status information via the HTTP;
sysdig: open container monitoring program;
cAdvisor / Heapster: open container monitoring program;
Weave Scope: open source container monitoring program.
(4) Data Management
containers are often migrate between different host.
How to ensure data persistence can live migration, the ability Rex-Ray this type of data management tools.
(5) log management
log tool There are two types:
Docker logs: Docker is native logging facility.
logspout: log provides a routing function, you can collect different container logs and forwards to other tools for processing.
(6) Security
OpenSCAP: a container security tool. Can scan the image of the container, identify potential vulnerabilities.

Guess you like

Origin www.cnblogs.com/moon3/p/12191188.html