Kubernetes 基础信息:对比 Kubernetes 和 Docker 1 个改进

什么是 Kubernetes?

Kubernetes 是在 Google 开源的容器管理软件。它可以帮助您在各种类型的物理,虚拟和云环境中管理容器化的应用程序。

作为一个容器工具,它高度灵活,能胜任复杂的应用场景。让你在成百上千个独立服务器集群上,轻松管理容器化的应用程序。

什么是Docker?

Docker是一种开源的轻量级容器化技术。它已在云和应用容器化领域中广泛流行。它使您可以自动在轻量和便携式容器中部署应用程序。

它是用于虚拟化的计算机软件。它还允许您在同一主机上运行多个操作系统。Docker 中的虚拟化是在系统级执行的,通常称为 Docker 容器。

Kubernetes 的功能

Kubernetes 和 Docker 在 Stack Overflow 网站的问题数量对比图

以下是 kubernetes 的主要功能:

  • 提供自动编排
  • 自我修复的能力
  • 自动升级和回滚
  • 水平伸缩和负载均衡
  • 提供高密度的资源利用率
  • 提供商业级别的功能
  • 以应用程序为中心的管理
  • 自动伸缩的基础设施
  • 你可以根据自己的需求自由地组合基础设施
  • 提供声明式的配置
  • 以滚动的形式进行部署和升级软件
  • 为开发,测试和生产提供环境一致性

Docker的功能

以下是 Docker 的基本特性:

  • 管理应用程序的独立环境
  • 易于建模
  • 版本控制
  • 应用程序灵活性
  • 开发人员生产力
  • 操作效率

Kubernetes 对比 Docker Swarm

参数 Docker Swarm Kubernetes
开发者 Docker Inc Google
发布年份 2013 2014
自动伸缩 不支持 支持
群集设置 设置集群具有挑战性且复杂。集群强度更强。 设置集群很简单。只需要两个命令。集群实力没有那么强
安装 轻松快捷 复杂且耗时
存储卷 与任何其他容器共享存储卷 同一Pod中的多个容器之间共享存储卷
支持日志记录和监视工具 允许您使用ELK之类的第三方工具 它提供了用于记录和监视的内置工具。
负载平衡 自动负载平衡 手动配置您的负载平衡设置
可伸缩性 伸缩比K8S快。但是,它的集群强度没有那么强大。 与 Docker 相比,伸缩速度较慢。但是,要保证更强的群集状态负载平衡需要手动服务配置。
更新 可以就地执行。 集群可以就地升级。
专注于 针对单个大型集群进行了优化 针对多个较小的SDLC集群进行了优化
容错率
节点支持 支持 2000节点 支持多达5000个节点
容器数量限制 95000 300000
公共云服务提供商 仅 Azure Google, Azure, 和 AWS.
Slave Worker Nodes
相容性 相容性和可定制范围较小 更全面,高度可定制
社区 活跃的用户群,可以定期更新软件。 提供来自开源社区和 Google,Amazon,Microsoft 和 IBM 等大型公司的强大支持
大型集群 对于强群集状态,考虑速度。 即使在大型群集中也无需考虑速度,即可提供容器部署和扩展。
公司使用 Spotify, Pinterest, eBay, Twitter, 等. 9GAG, Intuit, Buffer, Evernote, 等
Github starts 53.8 k 54.1 k
Github forks 15.5 k 18.7 k

Kubernetes 的优势

以下是使用 Kubernetes 的优势。

  • 使用 Pod 轻松组织服务
  • 它由 Google 开发,将多年宝贵的行业经验带到桌面
  • 容器编排工具中最大的社区。
  • 提供多种存储选项,包括本地 SAN 和公共云。
  • 坚持不可变更的基础架构原则

Docker 的优势

以下是 Docker 的优势:

  • 提供高效,简便的初始设置
  • 集成并使用现有 Docker 工具
  • 允许您详细描述您的应用程序生命周期
  • Docker 允许用户轻松跟踪其容器版本,以检查先前版本之间的差异。
  • 简单的配置,可与 Docker Compose 交互。
  • Docker 提供了一个快速启动的环境,可以启动虚拟机并让应用程序在虚拟环境中快速运行。
  • 文档提供了所有信息。
  • 提供简单快速的配置以促进您的业务
  • 确保应用程序隔离

Kubernetes 的缺点

以下是 Kubernetes 容器的劣势:

  • 迁移到无状态需要付出很多努力
  • 相比 Docker 可用性 API 来讲,功能有限
  • 高度复杂的安装/配置过程
  • 与现有Docker CLI和 Docker Compose 工具不兼容
  • 复杂的手动群集部署和自动水平伸缩设置

Docker 的劣势

以下是 Docker 的缺点:

  • 不提供存储选项
  • 监控功能较弱
  • 没有自动重新计划非活动节点
  • 复杂的自动水平伸缩设置
  • 所有操作都必须在CLI中执行。
  • 基本的基础架构处理
  • 手动处理多个实例
  • 需要支持其他用于生产方面的工具-监视、修复、伸缩
  • 复杂的手动群集部署
  • 不支持运行状况检查
  • Docker 是营利性 SaaS 公司。许多关键组件,如 Docker Engine、Docker Desktop 都是不开源的。

总结:

  • Kubernetes 是在 Google 平台上开发的开源容器管理软件。
  • Docker 是开源轻量级容器技术。
  • Kubernetes 提供自动调度功能。
  • Docker 为管理您的应用程序提供一个独立的环境。
  • Docker Swarm 由 Docker Inc 开发,而 Kubernetes 由 Google 开发。
  • Kubernetes 拥有容器编排工具中最大的社区。
  • Docker 提供了一个高效易用的初始设置
  • Kubernetes 最大的缺点是它的安装/配置过程非常复杂。
  • Docker 的最大缺点是它不提供任何存储选项。
本文为 Wiki 文章,邀您参与纠错、纰漏和优化
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!