最近,很多IT话题都围绕容器和kubernetes展开,但容器的市场采用仍然处于初期阶段。根据研究公司IHS Markit的数据显示,当今企业只在大约5%的多租户服务器上运行容器软件。到2022年,这一数字预计将上升到14%。企业IT组织很可能将2019年的重点规划放在容器和Kubernetes上,或者其他可能的编排和管理工具。
在容器化层面,企业可能不会跟随超大规模云服务提供商的脚步,这些提供商将大约三分之一的多租户服务容器化,并且有望在2022年实现大部分容器化(55%)。相比之下,企业更青睐于商业软件,并要求这些工具将Kubernetes集成到产品套件中。
2018年,红帽通过技术整合获得CoreOS,VMware收购Heptio以支持其Pivotal Kubernetes服务,New Relic凭借Kubernetes监控功能获得CoScale。并非所有转变都来自于收购:自2017年开始,Docker、Mesosphere就开始与Kubernetes展开合作。
无论企业选择开源容器平台还是商业产品,都应该了解容器和Kubernetes的工作方式,并熟悉可用的云容器产品、部署注意事项等,本文总结了十大技术专家关于容器和Kubernetes的部署提示。
1、了解容器技术基础知识
容器在共享操作系统上独立运行应用程序,这不需要VM来实现可移植性或管理一致性。与VM相比,容器提供低开销和快速配置能力,适合分布式应用程序的托管环境需求。
2、unikernel可以与容器共存吗?
容器不仅仅是VM的替代品,它也是与unikernel一起考虑的托管选项。unikernel仅使用操作系统的特定部分来运行应用程序,并放弃通用操作系统的其他典型组件。虽然当应用程序托管资源供不应求时,容器是更主流的部署选项,但调查发现,unikernel处在一个不断增长的状态,证明其市场需求在不断扩大。
3、复杂容器部署编排
IT顾问Tom Nolle表示,通过Docker和Kubernetes的组合部署更多容器,而不仅仅通过Docker。企业考虑容器编排时,需要考虑复杂、异构、基于云和数据中心的IT环境。如果需要一个协调者,但不确定是否需要在内部进行管理,可以查看一些容器编排选项的评估意见。
4、企业容器用户的Kubernetes选择
Kubernetes是一个开源容器管理平台,可以协调运行容器应用程序。纯开源的Kubernetes是免费的,可以从GitHub存储库下载。管理员必须构建Kubernetes版本并将其部署到本地系统和集群,或公有云中的系统和集群,例如AWS、Google Cloud Platform(GCP)或Microsoft Azure。
免费版本可能不是企业的最佳选择,付费Kubernetes版本比比皆是,比如,Kubernetes已集成到Red Hat OpenShift中,这是一个使用默认注册表、网络和其他设置选项构建的容器应用程序平台,包括自动化和服务目录,可以消除容器操作的一些复杂性,但具体定价需要询问供应商。
5、从Kubernetes供应商那里可以得到什么?
计划采用具有一定程度软件支持的容器和Kubernetes的企业IT领导者应该了解支付容器管理的好处,并且能够在预算审查中阐明这些好处,可以查看一些商用Kubernetes产品的特点清单并进行比对。
6、容器和Kubernetes的云选项
AWS、阿里云等供应商为用户提供了广泛的云服务,但最初创建Kubernetes的是谷歌,并且拥有最长的容器编排工具使用经验。在提供原生Kubernetes服务的云平台上部署时,企业需要研究容器部署在不同云平台上的差异。
7、Azure容器实例代表了新兴的云容器趋势
除了AWS和Google Cloud之外,Microsoft Azure同样是顶级的云容器方案提供商。Azure的容器实例可以将用户与底层基础架构隔离开来,可以深入了解Azure的无VM容器服务,这也可能成为未来容器部署的一大趋势。
8、将DevOps和容器放在一起
企业不断寻求将更高的代码质量与更快的软件产品发布时间结合起来,实现这一目标的方法是通过DevOps实践中的自动化和协作与容器进行结合。通过一些努力,IT部门可以在DevOps管道中部署容器。
9、听取部署容器的同行建议
在部署之前,企业可能需要查看一些分析和调研报告,了解其他企业在容器部署之前进行了哪些准备工作、应用程序的迁移规划以及VM是否应与企业容器共存等问题的答案。
10、在生产中运行容器化应用
一旦容器化应用程序在生产系统中运行,IT运营团队必须确保其工作负载满足用户期望并高效运行。DeOps专业人员熟悉网络和IT基础架构监控工具,Linux和虚拟化技术专家可以负责监控容器的选项。