本文首发自“Docker公司”公众号(ID:docker-cn)
编译丨小东
每周一、三、五 与您不见不散!
在近期的线上活动中,我们围绕着 Docker EE 2.0 版本的新功能做了一期分享会。目前 Docke EE 是市场上最完备的企业级容器平台。我们分享了这个发行版是如何适用于像 Liberty Mutual 和 Franklin American Mortgage Company 这样的组织(这两个组织都会在 2018 年 DockerCon 欧洲大会上发表演讲),在提供选择权和灵活性的同时,有效地在多个团队中扩展他们的容器环境。我们演示了一些全新的高级功能,主要围绕着用安全应用程序区域进行访问控制、跨领域构建一致的软件供应链以及如何在同一个环境中轻松地转换 Swarm 和 Kubernetes 编排。
编排的选择 —— Swarm 和 Kubernetes
比版本的亮点之一就是集成了 Kubernetes,使得 Docker EE 成为能够在同一集群中同时运行 Swarm 和 Kubernetes 编排的唯一平台,因此开发人员无需纠结于编排的选择,运营团队可以灵活地选择编排人员。
问:Kubernetes 是否会取代 Swarm?
答:Kubernetes 并不会取代 Swarm 。在 Docker EE 2.0 版本中,Swarm 和 Kubernetes 两者都可以使用,并且它们还可以在同一个群集中相互切换使用,点击下列文章标题,查看更多相关信息:
问:你更推荐哪一种编排?
答:编排的选择取决于很多事情,包括哪些功能和用例更适合于您的环境。例如,Swarm 可以使应用程序快速的启动、运行,并且它完全支持 Windows 容器,而 Kubernetes 为有状态的工作负载(例如 StatefulSets)提供了更多的配置选项和资源类型。您可以在同一个群集中自由选择要使用哪种编排。
问:Swarm 和 Kubernetes 如何在同一个集群中同时工作?
答:Docker EE 2.0 版本在集群中的每个节点上都安装了 Kubernetes 和 Swarm 组件。然后,您可以把每一个单独的工作节点设置成 Kubernetes 、 Swarm 或“混合”模式,并且 Docker EE 将确保对工作负载进行合理调度。“混合”模式对于开发和测试来说是一个很好的选择,但由于存在潜在资源争用的问题,所以在生产中并不推荐使用这种模式。
问:Docker 企业版(EE)是否在 Kubernetes 之上添加了更多的管理层?
答:使用 Docker EE,您将得到一个与原版一致的可以访问所有原生 API、 CLI 和接口的 Kubernetes 发行版。为了帮助组织实现大规模操作 Kubernetes,Docker EE为企业生产部署添加了一些增强功能,包括全面的私有仓库解决方案,统一控制平面(用于定义与企业 LDAP / Active Directory 集成的访问控制),以及提供一套交付安全应用程序的解决方案。
问:您是否只提供了抽象的概念来让 Kubernetes 接口工具工作,例如,kubectl 或 kubeadm? Docker EE 2.0 版本是否真的包含了所有的 Kubernetes 模块?
答:它不仅仅是一个 API 抽象或类似的东西,当您安装 Docker EE 2.0 版本时,我们将运行一个经过测试并且符合一致性的完整的 Kubernetes 安装。
问:Docker EE 2.0 版本支持哪些 Kubernetes 版本,以及它将如何与未来的 Kubernetes 版本升级保持一致?
答:Docker EE 2.0 版本对应的是 Kubernetes 1.8 版本,并且 Docker EE 2.0 版本的补丁可能包含未来 Kubernetes 1.8 版本的补丁。Docker 致力于与 Kubernetes保持一致,并且未来的 Docker EE 版本将包含新版本的 Kubernetes。
问:Kubernetes 可以在不停机的情况下跨群集进行升级吗?如果可以,那它是通过 Docker EE 来实现的吗?
答:在Docker EE 2.0中,您不能单独对 Kubernetes 版本进行升级。当您升级集群管理组件(通用控制平面)时,Kubernetes 也会相应的进行升级。
问:Kubernetes 是否支持 .NET 应用程序?
答:现在,Kubernetes 已经开始对 .NET/Windows 容器进行测试,但是还没有普及。您可以使用 Swarm 来部署 .NET 应用程序,因为Docker EE早在一年前就对其提供支持了。
问:我是一名 Docker 新手,这是否意味着我需要先熟悉 Kubernetes ,然后才能真正开始学习Docker?
答:不,您在使用 Docker EE时不需要先熟悉 Kubernetes,它只是一个可选项,是为那些需要其特定功能的用户准备的。对于许多用例和工作负载来说,Swarm 可能更容易学习。如果您以后需要迁移到 Kubernetes,只需利用与 Swarm 相同的 Docker Compose 文件就可以了,所以它真的是非常地灵活。