开发者学堂课程【Kubernetes 极速入门:K8S 初识_容器管理工具及容器编排管理工具介绍】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/658/detail/10882
K8S 初识_容器管理工具及容器编排管理工具介绍
内容介绍
一、容器管理工具
二、容器编排部署工具
一、容器管理工具
容器管理工具类似于虚拟机管理工具,主要用于容器的创建、启动、关闭、删除等。
容器管理工具有:
1 、docker 公司的 docker (拥有一整套的容器管理的一套生态,用它来管理容器会大大提高我们的工作效率)
2、国内阿里公司的 Pouch (能够管理自己的容器)
3 、LXC、LXD、RKT 等
二、容器编排部署工具
容器比虚拟机更加的轻量化的同时也带来许多麻烦。容器管理工具可以完成容器的基础管理。
例如:容器的创建、启动、关闭、删除、镜像、网络管理以及部署相关运用,但是容器的应用并不是只能进行简单应用部署的,因为我们现在的系统基本上是一种分布式的系统,我们涉及的虚拟机、主机会比较大,容器的量会更大,运行许多的应用只使用一个简单的容器管理工具会比较麻烦,而且没有办法完成相关工作,因此可以使用容器完成复杂的应用部署。
当需要对多应用的系统进行部署时,就需要更加复杂的工具来完成对容器运行应用的编排。这就是我们所说的容器编排部署工具。
容器编排部署工具有:
1、 docker 三剑客
(1)docker machine(为容器的运行提供主机环境,主要用来部署主机)
Docker Machine is a tool that lets you install Docker Engine on virtual hosts, and manage the hosts with docker-machine commands.
(2)docker compose(通过 YAML 文件完成容器主机中运行多个应用)
Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a YAML file to configure your application's services. Then, with a single command, you create and start all the services from your configuration.
(3)docker swarm(管理 docker 容器主机集群)
Docker Swarm is native clustering for Docker.
2. mesos + marathon
(1)mesos 主要作用是在分布式计算过程中,对计算机资源进行管理和分配。
(2)是基于 Mesos 的私有 PaaS ,它实现了 Mesos 的 Framework。Marathon 实现了服务发现和负载平衡、
为部署提供 REST API 服务、授权和 SSL、配置约束等功能。
Marathon支持通过 Shell 命令和 Docker 部署应用。
提供 Web 界面、支持 cpu/mem 、实例数等参数设置,支持单应用的 Scale ,但不支持复杂的集群定义。
(3)Mesos 和 Marathon 的关系
如果将 Mesos 类比为操作系统的内核,负责资源调度。则
Marathon可以类比为服务管理系统,比如 init ,systemd 或 upstart 等系统,
用来管理应用的状态信息。Marathon 将应用程序部署为长时间运行
的 Mesos 任务。
3、 kubernetes
(1)Kubernetes (K8s) is an open-source system for automating deployment, scaling, and management of containerized applications.
(2)主要用于管理云平台中多个主机上的容器化的应用,Kubernetes
的目标是让部署容器化的应用简单并且高效(powerful),提供了应用
部署,规划,更新,维护的一种机制。