容器只是一个起点

容器,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 条评论
登录 后参与评论

相关文章

来自专栏Rainbond开源「容器云平台」

当微服务遇上Docker系列之构建、实践与颠覆

1735
来自专栏大魏分享(微信公众号:david-share)

如何将Openshift对接CloudForms云管平台?

Openshift对接云管平台的目的 Openshift是红帽一款优秀的PaaS解决方案。目前国内的行业客户,如金融、电信、制造等,在云平台的构建上,逐渐从Ia...

4225
来自专栏SDNLAB

Kubernetes正式支持Containerd 1.1版

1924
来自专栏美团技术团队

美团容器平台架构及容器技术实践

美团的容器集群管理平台叫做HULK。漫威动画里的HULK在发怒时会变成“绿巨人”,它的这个特性和容器的“弹性伸缩”很像,所以我们给这个平台起名为HULK。貌似有...

2055
来自专栏我是攻城师

为什么要用Docker?

3666
来自专栏IT派

最全的30+个开源免费的Docker工具

容器生态系统的发展和扩展速度越来越快速,并且已经有了许多的Docker工具和服务,想要知道所有的有用选择,你会发现基本很难完成。

2543
来自专栏磨磨谈

基于发行版本内核打造自己的内核

Linux当中最核心的部分就是内核,这个也是最基础,最可能被忽视的一部分,随便找一个刚入职的运维,学习个两三天,网上找些资料也能能自己安装编译内核了,很多运维的...

1122
来自专栏编程坑太多

跟我一起学docker(一)--认识

2204
来自专栏云计算D1net

想要使用容器技术 这5类遗留工具就应该被淘汰

充分利用容器并不只是安装Dockers和激活容器应用程序那么简单。你需要改进的同样还有监控方法、安全性能等。 这么做的理由是,容器并不只是对你过去工作中使用到的...

3538
来自专栏逸鹏说道

KVM基于内核的虚拟机概念理解与客户机浅析

作为一个KVM的学习者,如果你想要自己完善一个KVM样品级的解决方案,仅仅学会图形化界面使用和简单的配置(详情见上一篇文章)是远远不够的。在上文中感谢@laow...

4134

扫码关注云+社区

领取腾讯云代金券