Docker、Docker Compose、Docker Swarm、K8S的区别

原文网址:Docker、Docker Compose、Docker Swarm、K8S的区别_IT利刃出鞘的博客-CSDN博客

简介

说明

本文介绍K8S,包括:K8S和Docker的关系、不同的部署方式之间的区别。

官网

官网:http://kubernetes.io

Github:https://github.com/kubernetes/kubernetes

简要对比

应用有如下几种部署方式:

  1. 传统方式
    1. 手动安装MySQL、Nginx,运行应用等
    2. 缺点:麻烦
  2. docker
    1. 安装过程只需要拉取镜像,启动即可,而不用关心软件的配置,版本等信息。
    2. 缺点:
      1. 如果容器很多,工作量依然很大;
      2. 真实的业务场景下,容器应用间的依赖关系,网络通信,数据持久化,状态等非常复杂,用这种方式处理起来非常棘手。
  3. docker-compose
    1. 只能单机编排容器,不能实现多机编排。可以认为是一个单机版“操作系统”
  4. Docker swarm
    1. 支持分布式下环境下的容器编排
    2. 缺点:
      1. 只有分布式编排这一个功能,没有动态伸缩、可视化等功能
  5. K8S
    1. 支持分布式下环境下的容器编排
    2. 优点:
      1. 功能很多。

对比实例

我们看一个简单的场景,来理解为什么编排能力才是我们更看重的东西。

我们以部署一个wordpress博客网站进行示例。

方式1:最传统的方式

你需要用二进制安装配置mysql, 安装nginx服务器,以及wordpress程序等等…

仅仅部署几个应用,你就能觉得它的复杂,配置的繁琐。可以想象,如果是几十上百个应用,自动化的过程不可避免。

方式2:独立的Docker容器

#1.拉取镜像
docker pull mysql
docker pull wordpress
#2.启动mysql
docker run --name w-mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql
#3.启动wordpress,并连接mysql
docker run --name w-wordpress --link w-mysql:db -p 80:80 -d wordpress:latest

可以看到,安装过程只需要拉取镜像,启动即可,而不用关心软件的配置,版本等信息。简化了不少,但是还是手动去启动,拉取镜像等,如果容器很多,工作量依然很大,这只是个博客系统比较简单,真实的业务场景下,容器应用间的依赖关系,网络通信,数据持久化,状态等等我们关心的问题非常复杂,用这种方式处理起来非常棘手。

方式3:docker-compose 轻量编排

上边是文章的部分内容,为便于维护,全文已转移到此网址:K8S和Docker的关系 - 自学精灵

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT利刃出鞘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值