Kubernetes 操作符与弹性伸缩:原理、实践与应用
1. Java 操作符与 JVM 操作工具包
Java 操作符依赖于 JVM 操作工具包,它为使用 Java 以及基于 JVM 的语言(如 Groovy 或 Kotlin)创建操作符提供了基础,并且附带了一系列示例。
2. 操作符的使用探讨
在扩展 Kubernetes 平台时,操作符并非万能解决方案。在使用操作符之前,需要仔细评估用例是否符合 Kubernetes 范式。
2.1 普通控制器的适用性
在许多情况下,使用标准资源的普通控制器就足够了。这种方法的优点是无需集群管理员权限来注册自定义资源定义(CRD),但在安全或验证方面存在局限性。
2.2 操作符的适用场景
操作符适合用于建模自定义领域逻辑,与 Kubernetes 声明式处理资源的方式以及响应式控制器相契合。以下情况可考虑为应用领域使用带有 CRD 的操作符:
- 希望与现有的 Kubernetes 工具(如 kubectl)紧密集成。
- 处于全新项目中,可以从头开始设计应用程序。
- 能从 Kubernetes 的概念(如资源路径、API 组、API 版本控制,尤其是命名空间)中受益。
- 希望有良好的客户端支持,以便通过监视、身份验证、基于角色的授权和元数据选择器访问 API。
2.3 其他选择
如果自定义用例符合上述标准,但需要在自定义资源的实现和持久化方面有更大的灵活性,可以考虑使用自定义 API 服务器。然而,也不应将 Kubernetes 扩展点视为解决所有问题的万能方法
超级会员免费看
订阅专栏 解锁全文
461

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



