crossplane/stack-rookCrossplane Stack for Rook是一个为Crossplane控制平面设计的扩展组件,旨在将Rook存储编排器的功能集成到Crossplane生态中。通过该栈,用户可利用Crossplane的声明式API统一管理Kubernetes集群中的Rook存储资源,实现存储配置的标准化、自动化与生命周期管理,简化分布式存储(如Ceph)在Kubernetes环境中的部署与运维。
部署Crossplane Stack for Rook CRD
通过以下命令安装栈的自定义资源定义:
bashkubectl apply -f [***]
部署Stack控制器
应用控制器部署YAML,将Stack组件部署到Crossplane命名空间:
bashkubectl apply -f [***]
验证安装
检查控制器Pod状态及CRD是否就绪:
bashkubectl get pods -n crossplane-system | grep stack-rook kubectl get crds | grep rook.crossplane.io
创建RookCluster自定义资源,声明式定义Rook Ceph集群配置:
yamlapiVersion: rook.crossplane.io/v1alpha1 kind: RookCluster metadata: name: example-ceph-cluster spec: forProvider: # Rook集群配置(与原生Rook Cluster CR配置兼容) clusterSpec: dataDirHostPath: /var/lib/rook mon: count: 3 allowMultiplePerNode: false storage: useAllNodes: true useAllDevices: false devices: - name: sdb network: hostNetwork: false rbdMirroring: workers: 0 providerConfigRef: name: default
应用上述配置:
bashkubectl apply -f example-rook-cluster.yaml
通过Crossplane声明Rook Ceph存储类:
yamlapiVersion: storage.crossplane.io/v1alpha1 kind: StorageClass metadata: name: example-rook-ceph-rbd spec: forProvider: provisioner: rook-ceph.rbd.csi.ceph.com parameters: clusterID: rook-ceph pool: replicapool imageFormat: "2" imageFeatures: layering csi.storage.k8s.io/provisioner-secret-name: rook-csi-rbd-provisioner csi.storage.k8s.io/provisioner-secret-namespace: rook-ceph csi.storage.k8s.io/node-stage-secret-name: rook-csi-rbd-node csi.storage.k8s.io/node-stage-secret-namespace: rook-ceph reclaimPolicy: Delete
RookCluster等自定义资源的核心配置参数与原生Rook CR兼容,主要包括:
clusterSpec.dataDirHostPath:Rook数据持久化路径。clusterSpec.mon.count:Ceph Monitor节点数量。clusterSpec.storage:存储设备配置,包括节点选择、设备列表等。clusterSpec.network:网络配置(是否启用主机网络等)。具体参数可参考Rook官方文档及Crossplane Stack for Rook的CRD定义。

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