构建基于 Kubernetes 的高级应用模式
Kubernetes 是简化软件部署和操作的强大工具,但它并非总是对开发者最友好或最能提高生产力的环境。因此,在 Kubernetes 之上构建更高级别的平台,让普通开发者更容易上手和使用,是一项常见的任务。
1. 开发高级抽象的方法
当考虑如何在 Kubernetes 之上开发高级原语时,有两种基本方法:
- 将 Kubernetes 封装为实现细节 :采用这种方法,使用平台的开发者在很大程度上无需知道他们是在 Kubernetes 之上运行。他们应将自己视为所使用平台的消费者,Kubernetes 成为实现细节。例如构建机器学习管道,数据科学家用户可能不熟悉 Kubernetes,为他们构建一个完整的抽象层,让他们专注于自己的领域而非分布式系统,是主要目标。
- 利用 Kubernetes 自身的可扩展性 :Kubernetes 服务器 API 非常灵活,可以动态向 Kubernetes API 添加任意新资源。新的高级资源与内置的 Kubernetes 对象共存,用户使用内置工具与所有 Kubernetes 资源(包括内置资源和扩展资源)进行交互。这种扩展模型使 Kubernetes 仍然是开发者的核心,但通过添加功能降低了复杂性,更易于使用。
选择哪种方法取决于要构建的抽象层的目标:
| 目标类型 | 适用方法 | 原因 |
| — | — | — |
| 构建完全隔离、集成的环境,注重易用性 | 将 Kubernetes 封装为实现细节 | 用户无需了解 Kubernetes,能专注于自身领域,如构
超级会员免费看
订阅专栏 解锁全文
2458

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



