k8s 也有设计模式?

350次阅读  |  发布于5月以前

受 GoF(Gang of Four)设计模式的启发,k8s 设计模式代表了我们在云原生应用程序中遵循的最佳实践。

01 基础模式 (Foundational Patterns)

无论应用程序的性质如何,这些模式都是在 k8s 上实现应用程序自动化的基本原则。

  1. 健康探针模式

这种模式要求每个容器都必须实现可观察的 API,以便平台管理应用程序。例如,k8s 可以通过 API 探测应用程序的状态。我们通过这种模式促进 Pod 的生命周期管理。

  1. 可预测需求模式

这种模式要求我们声明应用需求和运行时依赖。每个容器都应声明其资源概况。

  1. 自动调度模式

该模式描述了 Kubernetes 的调度算法原理。

02 结构模式 (Structural Patterns)

这些模式侧重于在 Pod 中构建和组织容器。

  1. 初始化容器模式

该模式为初始化重载任务提供了一个独立的生命周期。

  1. Sidecar 模式

这种模式在不改变容器的情况下扩展容器的功能。

03 行为模式 (Behavioral Patterns)

这些模式描述 Pod 的生命周期管理。根据工作负载的类型,它可以作为服务或批处理作业运行。

  1. 批处理作业模式

该模式用于管理孤立的原子工作单元。

  1. 有状态服务模式

这种模式创建分布式有状态应用程序。

  1. 服务发现模式

该模式描述客户端如何发现服务。

04 高层模式 (Higher-Level Patterns)

这些模式侧重于更高层次的应用程序管理。

  1. 控制器模式

该模式监控当前状态,并与声明的目标状态进行协调。

  1. 操作员模式

该模式以算法和自动化形式定义操作知识。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8