一尘不染

Kubernetes与Docker:真正意味着什么?

docker

我知道Docker和Kubernetes不是直接竞争对手。Docker是容器平台,容器由工具Kubernetes协调和调度。

它的真正含义是什么?如何在适用于Azure的Docker上部署我的应用程序?


阅读 562

收藏
2020-06-17

共1个答案

一尘不染

简短答案:

  • Docker(通常是容器)解决了打包应用程序及其依赖项的问题。这使得在任何地方都可以轻松运输和运行。

  • Kubernetes是容器之上的抽象层。它是控制/管理容器的分布式系统。

我的建议:因为风景广阔
…开始学习,并按照课程学习,将难题的各个部分放在一起。下面,我从中添加了一些信息:

为什么我们在容器上方需要Kubernetes(和其他协调器)?

在质量保证(QA)环境中,我们可以避免在单个主机上运行容器来开发和测试应用程序。但是, 在投入生产时,我们没有自由
,因为我们需要确保我们的应用程序:

  • 容错的
  • 可以扩展,并按需执行
  • 最佳利用资源
  • 可以自动发现其他应用程序,并相互通信
  • 可从外部世界访问
  • 可以更新/回滚而无需停机。

容器编排器 是将主机分组在一起以形成集群的工具,可以帮助我们满足上述要求。


如今,有许多容器协调器可用,例如:

  • Docker Swarm: Docker Swarm是Docker,Inc.提供的容器协调器。它是Docker Engine的一部分。
  • Kubernetes: Kubernetes由Google创立,但是现在,它是Cloud Native Computing
    Foundation项目的一部分。
  • Mesos Marathon: Marathon是在Apache Mesos上大规模运行容器的框架之一。
  • Amazon ECS: Amazon EC2容器服务(ECS)是由AWS提供的托管服务,可在其基础设施上大规模运行Docker容器。
  • Hashicorp Nomad: Nomad是HashiCorp提供的容器协调器。
2020-06-17