Kubernetes认识

Kubernetes

kubernetes,简称K8s,是用8代替8个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。

Kubernetes是Google开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。在生产环境中部署一个应用程序时,通常要部署该应用的多个实例以便对应用请求进行负载均衡。
在Kubernetes中,我们可以创建多个容器,每个容器里面运行一个应用实例,然后通过内置的负载均衡策略,实现对这一组应用实例的管理、发现、访问,而这些细节都不需要运维人员去进行复杂的手工配置和处理

Docker Compose,Docker Swarm,Kubernetes之间的区别

  1. Docker Compose
    Compose 是一个用户定义和运行多个容器的 Docker 应用程序。在 Compose 中你可以使用 YAML 文件来配置你的应用服务。然后,只需要一个简单的命令,就可以创建并启动你配置的所有服务。
    Docker-Compose 是用来管理你的容器的,有点像一个容器的管家。有了Docker-Compose你只需要编写一个文件,在这个文件里面声明好要启动的容器,配置一些参数,执行一下这个文件,Docker就会按照你声明的配置去把所有的容器启动起来,但是Docker-Compose只能管理当前主机上的Docker,也就是说不能去启动其他主机上的Docker容器。
    使用 Compose 基本会有如下三步流程:
  • 在 Dockfile 中定义你的应用环境,使其可以在任何地方复制。
  • 在 docker-compose.yml 中定义组成应用程序的服务,以便它们可以在隔离的环境中一起运行。
  • 运行dcoker-compose up,Compose 将启动并运行整个应用程序。
  1. Docker Swarm
    Swarm是Docker官方提供的一款集群管理工具,其主要作用是把若干台Docker主机抽象为一个整体,并且通过一个入口统一管理这些Docker主机上的各种Docker资源。Swarm和Kubernetes比较类似,但是更加轻,具有的功能也较kubernetes更少一些。

Docker Swarm 是一款用来管理多主机上的Docker容器的工具,可以负责帮你启动容器,监控容器状态,如果容器的状态不正常它会帮你重新帮你启动一个新的容器,来提供服务,同时也提供服务之间的负载均衡,而这些东西Docker-Compose 是做不到的。

Docker Swarm 和 Docker Compose 一样,都是 Docker 官方容器编排项目,但不同的是,Docker Compose 是一个在单个服务器或主机上创建多个容器的工具,而 Docker Swarm 则可以在多个服务器或主机上创建容器集群服务,对于微服务的部署,显然 Docker Swarm 会更加适合。

warm 使用一个发现机制来处理主机的发现和向集群的添加。
Swarm 提供了标准的 Docker API。这使得它提供了开箱即用的能力,能让所有既有的 Docker 管理工具 - 包括第三方的产品- 能自动地、透明地在多个主机上进行伸缩。

  1. Kubernetes
    它是谷歌公司根据自身的多年的运维经验研发的一款容器管理平台。而Docker Swarm则是由Docker 公司研发的。
    这两年Kubernetes已经成为了很多大公司的默认使用的容器管理技术,而Docker Swarm已经在这场与Kubernetes竞争中已经逐渐失势,如今容器管理领域已经开始已经逐渐被Kubernetes一统天下了。

相关参考:
Swarm、Kubernetes哪个更好用?看完这三点你就明白了!(下)
参考URL: https://blog.youkuaiyun.com/dt763C/article/details/78818672
巅峰对决之Swarm、Kubernetes、Mesos
参考URL: http://dockone.io/article/1138
Docker Swarm和Kubernetes在大规模集群中的性能比较
参考URL: http://www.dockone.io/article/1145

Kubernetes和OpenStack到底是什么关系?

参考URL: https://blog.youkuaiyun.com/dualvencsdn/article/details/79207281
总结起来,OpenStack 是兼容传统的架构,而 Kubernetes 是面向未来的架构。
简单的说,kubernetes是管理container的工具,openstack是管理VM的工具。
Kubernetes 支持的容器运行时不仅仅是 Docker,也包括 Rkt,当然 Docker 更加流行。

container可以运行在物理机上,也可以运行在VM上。所以kubernetes不是需要openstack的支持。但对于云计算来说,很多IasS都通过openstack来管理虚拟机。然后用户可以在这些虚拟机上运行docker,可以通过kubernetes进行管理

kubernetes优点

  1. 管理更趋于完善稳定
    kubernetes 集群管理更趋于完善稳定,同时pod功能上比swarm的service更加强大。
  2. 健康机制完善
    Replication Controllers可以监控并维持容器的生命。
  3. 轻松应对复杂的网络环境
    kubernetes默认使用Flannel作为overlay网络。

Flannel是CoreOS 团队针对 Kubernetes 设计的一个覆盖网络(OverlayNetwork)工具,其目的在于帮助每一个使用 Kuberentes 的CoreOS 主机拥有一个完整的子网。

kubernetes劣势

  1. 配置、搭建稍显复杂,学习成本高
    由于配置复杂,学习成本相对较高,对应运维的成本相对高点。
  2. 启动速度稍逊
    kubernetes会有五层交互,启动是秒级,启动速度慢于swarm。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

西京刀客

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

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

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

打赏作者

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

抵扣说明:

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

余额充值