专栏首页云计算容器只是一个起点

容器只是一个起点

容器,Docker,Kubernetes已经出现有四年了。以致于有些人甚至认为这项技术是成熟的!但是,我强烈认为,容器基础设施的构造任然处于成长阶段。

这篇博文将重点介绍除了容器本身以外,容器基础设施的所有其他部分。但这些都只是一个起点。

容器回顾

什么是Docker?

Docker通过简化现有的微服务概念,在2013年彻底改变了软件技术。我们最好将其描述为一个可以将任何应用程序及其依赖关系打包到虚拟容器中的工具。

阅读Web开发人员和容器顾问之间的对话,以更好地了解容器的实现

什么是Kubernetes?

Kubernetes是Google开发的一个开源工具,用于在集群环境中管理容器化的应用。它本质上是为了管理Docker,并解决现代集群基础架构的设计方式之间的脱节而开发的。

那么你应该使用哪一个?

在我看来,你的生产环境中两者都应该被使用。Kubernetes配合Docker一起使用十分相得益彰。

Kubernetes是目前的市场领导者,并且它还有一个庞大的社区支持。这是一个可以让开发者在同一个页面上,遵循相同的指导原则的完美工具,尽管这让开发者有了更少的灵活性。但它有很大的潜力成为容器领域的一个标准。

另一方面,Docker Swarm(又名Docker Compose ++)在设计之初就仔细的考虑了开发。因此其在开发环境中更易于调试。而不如生产中那么强大。

另外值得一提的是,上述所有技术都是开源的。了解开源的真正价值也很重要。阅读关于开源容器问题的更多信息

除了容器的基础设施

从'hello world'开始运行你的容器化应用程序是一个漫长的学习曲线。一旦你掌握了容器,并学会了解决所有问题的方法,你就可以进入下一个阶段,部署和维护你的应用程序。

那么,开发人员在运行他们的容器化基础设施时必须考虑哪些问题呢。容器策略的决定将对客户产生积极或消极的影响。

数据库

您可以将数据库托管在容器中,而无需担心开发环境中的I / O性能。在生产环境中还有很多要考虑的事情。

您需要考虑数据库存储组件,备份和复制。运行现代Web应用或移动API可扩展数据库以处理随着需求改变而增加的I / O,以及高可用性和可靠的备份/恢复策略。

云提供商

给您自己选择一个合适的云提供商,无论是裸机,公有云还是混合云。调查您的云提供商是否可以在一个地区内提供高可用性。

最后,寻找灵活的解决方案,因为云提供商的容器部署流程各不相同,并且您不希望最终锁定一个提供商。

部署工作流程管理

目的是在没有任何停机的情况下实现部署(蓝绿部署)。可以通过启动运行新版本的副本群集来部署,而所有旧的副本仍然服务于所有的实时请求。

选择正确的工具集很重要,因为部署管理工具在开发环境和生产环境中会有很大的不同,正如上面提到的Docker Compose案例。转向多主机环境会增加复杂性,请确保您提前考虑从简单的单容器应用程序转移到一组复杂的容器映像的细节,其中每个具有多个实例的映像都连接到负载均衡器来分配工作量。

负载均衡器&服务发现

通过一个或多个主机将单个容器服务移动到多个容器需要负载均衡器来分配传入的请求。

为了提供无缝的最终用户体验,容器应用程序需要相互通信,并能够在任何服务器或任何容器群集上进行部署。

像Nginx或HAProxy这样的工具是微服务负载均衡器的流行选择。诀窍是保持其配置是最新的,同时考虑到需要同时运行不同的版本。开发人员面临着服务发现带来的网络挑战,这导致了容器采用流程的放缓。

安全

容器不能被当作小虚拟机,因为它们是“共享内核独立运行的代码片段”。容器的快速适应需要一个新的安全策略。在产品中,所有的容器进程都运行在一台主机上,与网络入侵和各种攻击媒介的风险隔离开来。

确保您为您的容器堆栈应用了防火墙规则,来防止拒绝服务和暴力破解的攻击。此外,像Habitus.io这样的工具可以帮助您在构建过程中删除和管理包含私密的图层。

监控&日志

查看整个堆栈容器监视策略的可用选项,以确保用户可以使用应用程序执行必要的功能。检查当前和未来的负载不会导致性能下降或中断,最后要记住故障排除和错误处理。

此外,设置日志管理以收集和聚合一个或多个日志服务器的日志条目。考虑查看和搜索日志来排除故障的方法。

本文的版权归 还好我不是很帅 所有,如需转载请联系作者。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 容器技术概述

    容器是一个允许我们在资源隔离的过程中,运行应用程序和其依赖项的 、轻量的 、操作系统级别的虚拟化技术, 运行应用程序所需的所有必要组件都打包为单个镜像,这个镜像...

    Techeek
  • Docker 业务流程的概述以及用处

    [本文由Yaron Parasol编写]

    Techeek
  • 容器技术概述

    容器 (Container) 是一种在资源隔离状态下,允许我们运行应用程序及其依赖项,操作系统层面的轻量级、虚拟化技术。在容器中,应用程序运行所依赖的必要组件都...

    Techeek
  • 容器管理的8个顶级解决方案

    对于选择容器管理解决方案的组织来说,了解给定的解决方案以及提供该解决方案的供应商是很重要的。这是因为每个容器管理提供商的产品都提供了各种功能和工具,这些功能和工...

    静一
  • 容器将成为新的Linux

    Linux是过去二十年来彻底改变数据中心的操作系统,如今它已成为应用托管平台无可争议的领导者。很难想象将任何关键任务生产工作负载部署到Linux以外的任何其他平...

    February
  • 八种最常见Docker开发模式 别说你还不知道

    Docker已迅速成为本人最喜欢的基础工具之一,以便构建可重复软件产品,从而带来尽可能静态的服务器环境。   我在本文中将概述我在使用Docker的过程中开始...

    静一
  • 应聘3万的职位,有必要这么刁难我么?

    面试官:就是controller层交给一个spring容器加载,其他的service和dao层交给另外一个spring容器加载,web.xml中有这块配置,这两...

    路人甲Java
  • 容器技术,还处在起点阶段

    容器,Docker,Kubernetes,这些技术已经被使用了四年左右。有些人甚至开始认为这项技术已经成熟了!但我强烈认为,容器基础设施的实现还处于一个成长的阶...

    StoneDemo
  • 了解云容器的四方面

    对容器的大量需求使企业推出了各种云容器服务。而市场上这么多的选择,很难决定去使用哪一个容器平台或工具。在你了解云容器技术的选择之前,你必须先确定容器是否值得您的...

    企鹅号小编
  • 容器技术在企业落地的9个关键问题

    当今容器技术被广泛关注,已经有越来越多的企业开始布局或者已经采用容器技术来构建自己的云基础设施。 .

    孙杰

扫码关注云+社区

领取腾讯云代金券