openebs/mayastor-operator-diskpoolMayastor Disk Pool Kubernetes Operator是一个专为Mayastor存储系统设计的Kubernetes操作器(Operator)。它基于Kubernetes自定义资源定义(CRD)和控制器模式,实现磁盘池(Disk Pool)的自动化创建、配置、扩展与生命周期管理,简化存储资源在Kubernetes集群中的部署和运维,为容器化应用提供稳定高效的持久化存储基础。
自动化磁盘池管理
通过DiskPool CRD实现存储资源的声明式定义,自动完成磁盘池的创建、删除、扩容及状态同步,减少手动操作成本。
Kubernetes原生集成
深度对接Kubernetes API,支持通过kubectl等原生工具进行配置和监控,符合Kubernetes运维习惯。
动态存储资源调配
根据集群应用需求,动态调整磁盘池容量,支持在线添加/移除物理或虚拟磁盘设备,灵活应对存储负载变化。
状态监控与自愈能力
实时监控磁盘池健康状态(容量、IO性能、设备故障等),自动触发故障恢复机制,保障存储服务连续性。
多介质兼容性
支持物理磁盘(HDD/SSD/NVMe)、虚拟磁盘(如iSCSI卷)等多种存储介质,适配不同性能需求的应用场景。
Mayastor存储部署基础
在Kubernetes集群中部署Mayastor分布式存储系统时,作为底层存储资源管理的核心组件,负责磁盘资源抽象与池化。
容器化应用持久化存储
为数据库(如MySQL、PostgreSQL)、消息队列(如Kafka、RabbitMQ)等需要持久化数据的应用提供稳定的存储资源池。
大规模集群存储管理
在包含多节点、多存储设备的Kubernetes集群中,实现存储资源的统一管理和高效利用。
混合存储环境适配
适用于同时包含高性能介质(如NVMe)和大容量介质(如HDD)的集群,支持分层存储策略配置。
环境要求
mayastor-control-plane、mayastor-agent)lsblk等工具确认设备路径,如/dev/sdb)依赖组件
cert-manager(用于Webhook证书管理,可选)kube-state-metrics(用于存储监控数据采集,可选)bashkubectl apply -f [***]
bash# 部署命名空间(若未创建) kubectl create namespace mayastor --dry-run=client -o yaml | kubectl apply -f - # 部署Operator kubectl apply -f [***]
通过创建DiskPool资源对象声明存储池配置,示例如下:
yamlapiVersion: mayastor.datastore.io/v1alpha1 kind: DiskPool metadata: name: fast-diskpool # 磁盘池名称 namespace: mayastor # 需与Operator同命名空间 spec: node: k8s-worker-01 # 目标节点名称(需存在于集群中) disks: # 节点上的可用磁盘设备列表 - /dev/nvme0n1 # NVMe设备(高性能场景) - /dev/sdc # SSD设备 storageClass: mayastor-fast # 关联的StorageClass名称(可选,用于动态PVC创建) replicas: 2 # 数据副本数(默认3,根据集群规模调整)
部署Operator时可通过环境变量调整行为,关键参数如下:
| 环境变量名 | 描述 | 默认值 |
|---|---|---|
WATCH_NAMESPACE | 监控的命名空间(为空则监控所有命名空间) | "" |
LOG_LEVEL | 日志级别(debug/info/warn/error) | "info" |
RECONCILIATION_PERIOD | 状态同步周期(秒) | 30 |
MAX_RETRY_ATTEMPTS | 故障恢复最大重试次数 | 5 |
bashkubectl get diskpools -n mayastor
预期输出示例:
NAME NODE STATUS DISKS CAPACITY USED fast-diskpool k8s-worker-01 Ready [/dev/nvme0n1, /dev/sdc] 1.5Ti 200Gi
bashkubectl describe diskpool fast-diskpool -n mayastor
通过编辑DiskPool资源添加新磁盘:
bashkubectl edit diskpool fast-diskpool -n mayastor
在spec.disks中添加新设备路径(如/dev/sdd),Operator将自动完成扩容。
bashkubectl delete diskpool fast-diskpool -n mayastor
注意:删除前需确保磁盘池内无关联PVC,避免数据丢失。
查看Operator日志:
bashkubectl logs -n mayastor deployment/mayastor-diskpool-operator -f
检查DiskPool事件:
bashkubectl get events -n mayastor --field-selector involvedObject.kind=DiskPool,involvedObject.name=fast-diskpool
常见问题:
privileged权限

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务