Kubernetes部署的10个注意事项
摘要
容器开发有望在云中实现前所未有的可移植性和可扩展 性。此外,DevOps 开发和文化实践也有助于提升业务价 值和响应能力。但是,在开始第一个容器开发项目之前, 有一些问题需要考虑清楚:我们应该使用什么操作系统? 我们是应该构建还是购买 Kubernetes 平台?这一新方向将 如何影响企业?
以下 10 个注意事项可以帮助确保您的 Kubernetes 部署无 论是现在还是将来都能为您的企业提供支持。
1、容器基于linux
您可能听说过这样的观点:运行容器时,操作系统无关紧 要。但真相却是:Linux® 是容器的基础。容器最初是在 Linux 中创建的,也正是得益于一些关键 Linux 子系统,该 技术才得以存在。将应用部署到容器中时,这些应用就是 在 Linux 上运行的。
2、容器是 Kubernetes 的基础
Kubernetes 也是从 Linux 构建而来的,它采用了关键 Linux 结构、系统调用、库和功能来管理容器的基础架构 并对容器进行编排。在为 Kubernetes 环境选择操作系统 时,您需要一种技术领先、值得信赖的 Linux 发行版。
3、不必对既有内容进行重复发明
Kubernetes 不仅是一种运行容器化应用的机制。它由应用 编程接口(API)服务器、控制器、调度程序和大量开发 API 组成。Kubernetes 的商业发行版可以让您的团队无需 花时间来开发既有资源,这样您就可以专注于一些重要事 务 - 打造关键工作负载的可移植性和可扩展性。
4、实施 DIY 意味着更多的自主性
在实施自助(DIY)Kubernetes 解决方案时,您将负责新 实施的升级与维护。您的运维团队必须拥有一个连续的升 级和测试周期,其中可能包括会意外破坏兼容性的 alpha或 beta 功能。
5、云并非都完全相同,但可以实现可移植性
不同的 Kubernetes 实施可能会在开发人员体验、运维模 式、平台版本、存储、监控等方面产生不一致。但是,无 论您的容器和 Kubernetes 在哪个云环境中运行,统一的 Kubernetes 实施都可以确保整体体验的一致性。
6、Kubernetes 只是平台的一部分
Kubernetes 仅提供 API、编排与调度以及资源管理。要获 得完整的应用平台,您还需要 Linux 操作系统、容器注册 表、容器网络、容器存储、日志记录、监控,以及用于整 合持续集成/持续交付(CI/CD)流程的方法。为了丰富开 发人员的体验,您还需要一些高级功能,例如服务网格、API 网关、应用集成工作流、集成式开发人员界面以及内 置源代码控制系统。
7、 您的决策会同时影响到开发和运维
人们通常认为 Kubernetes 决策主要影响开发团队。但是,Kubernetes 引入了全新的运维理念和结构,它们会影响整 个企业的日常运营。在实施 Kubernetes 决策之前,您应该 充分调动基础架构、运维、应用、企业架构和业务部门等 多方面的力量。
8、让开发团队能够轻松使用 Kubernetes
开发人员的时间非常宝贵。部署到 Kubernetes 时,需要做 到简单、易用。务必包含为人熟知且支持团队合作的开发 人员工具,并力求让开发人员认可您的 Kubernetes 部署计划。
9、Kubernetes 还在不断发展
Kubernetes 目前正处于第三次演进中,该平台也只有短 短四年的历史。自发布以来,Kubernetes 已经从一个高 端概念发展成为一种可以解决问题、可高度扩展且同时 面向运维和应用的自动化解决方案。如果想现在迁移到 Kubernetes,您必须选择一种广受支持、经过测试和认证 的解决方案,以便在您谋求发展的同时不会带来复杂性或 不确定性。
10、适合的合作伙伴可以帮助您加快容器采用速度
专业的 Kubernetes 工程合作伙伴通常也是 Kubernetes 开 发社区的一员。他们可以帮助您简化容器的采用,同时确 保做出合理的战略决策。携手知识渊博的合作伙伴,您可 以实施一种跨所有基础架构、裸机环境、虚拟化、私有云 和公共云来部署应用的解决方案。这些居于业界领先地位 的合作伙伴还会提供一整套容器产品和服务的组合,其中 包括开发人员工具、安全防护、应用服务、存储和管理解 决方案。