利用 Vitess 操作符在 Kubernetes 上管理 MySQL
1. Kubernetes 中的自定义资源与操作符
Kubernetes 支持在自定义资源类型中定义属性,并使用 OpenAPI v3 模式为这些类型定义合法值。验证规则确保创建或更新自定义资源时,对象定义有效且能被 Kubernetes 控制平面理解,同时用于生成文档。
安装自定义资源定义(CRD)后,可使用 kubectl 创建和交互资源。例如, kubectl get vitesskeyspaces 会返回 Vitess 键空间列表,通过向 kubectl apply 命令提供符合要求的 YAML 定义来创建 Vitess 键空间实例。
操作符是自定义资源和自定义控制器的组合,用于维护资源状态并管理 Kubernetes 中的应用程序。简单操作符可能由单个资源和控制器组成,复杂操作符可能有多个资源和控制器,这些控制器可在同一进程空间运行或拆分为单独的 Pod。
虽然控制器和操作符在技术上是不同概念,但术语常可互换使用。以 DBCluster 操作符为例,其交互流程如下:
graph LR
A[用户使用 kubectl 创建 db - cluster 资源] --> B[资源注册到 API 服务器]
B --> C[API 服务器将状态存储在 etcd]
C --> D[DBCluster 控制器被通知]
D --> E[DBCluster 控制器使用 API
超级会员免费看
订阅专栏 解锁全文
71

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



