Kubernetes与容器化应用部署全解析
1. 为何选择Kubernetes
现代PaaS对可运行的工作负载类型存在诸多限制。例如,若要迁移遗留应用,需要运行附加基于块的卷的有状态应用,或者运行没有托管服务的定制数据库,PaaS是否能满足需求呢?因此,需谨慎考虑当前和未来的需求,选择一个能随业务发展而扩展的平台。
2. 何时(不)使用Kubernetes
Kubernetes的目标是提高应用部署管理的效率,但不应盲目跟风,而要切实考虑它对服务运行的帮助或阻碍。虽然有托管的Kubernetes平台可确保集群组件平稳运行,但运行这样的通用平台会有一定的管理开销,如为容器分配CPU和内存资源、更新部署、配置网络以及在不中断服务的前提下保持一切更新。
以下几种情况不建议使用Kubernetes:
- 能准确预测当前和未来业务需求范围,不需要Kubernetes提供的灵活性,不关心其生态系统的供应商可移植性,且应用架构能适配更专用的平台。
- 有完全托管的等效软件服务时,如云提供商能提供SQL数据库托管服务,就没必要在Kubernetes中运行。
不过,Kubernetes在以下方面表现出色:
- 高密度运行无状态应用。
- 混合运行多种工作负载,如现代无状态应用和遗留有状态单体应用。
- 将服务从过时系统迁移到统一平台。
- 处理高性能计算,如数据分析和机器学习的批处理作业。
- 运行大量微服务。
使用Kubernetes也会带来新的管理开销,在替换已满足需求的无状态平台或迁移有成熟部署模式的标准化有状态工作负载(如SQL数据库)时,需谨慎权衡利弊。可以
超级会员免费看
订阅专栏 解锁全文
1814

被折叠的 条评论
为什么被折叠?



