gpt4 book ai didi

具有动态配置的 Kubernetes Ceph StorageClass

转载 作者:行者123 更新时间:2023-12-02 12:22:16 26 4
gpt4 key购买 nike

我正在尝试使用 storageClass 设置我的 Kubernetescluster 和 Ceph 集群,这样每个 PVC 都会在 ceph 集群内自动创建一个新 PV。

但它不起作用。我已经尝试了很多,阅读了很多文档和教程,但不知道出了什么问题。

我为 ceph 管理员用户和另一个用户创建了 2 个 secret kube ,我使用此命令创建它以授予对 ceph osd 池的访问权限。

创建池:sudo ceph osd pool create kube 128
创建用户:sudo ceph auth get-or-create client.kube mon 'allow r' \
osd 'allow class-read object_prefix rbd_children, allow rwx pool=kube' \
-o /etc/ceph/ceph.client.kube.keyring

之后,我导出了两个 key 并将它们转换为 Base64:sudo ceph auth get-key client.admin | base64sudo ceph auth get-key client.kube | base64我在我的 secret.yaml 中使用这些值来创建 kubernetes secret 。

apiVersion: v1
kind: Secret
type: "kubernetes.io/rbd"
metadata:
name: ceph-secret
data:
key: QVFCb3NxMVpiMVBITkJBQU5ucEEwOEZvM1JlWHBCNytvRmxIZmc9PQo=

另一个名为 ceph-user-secret。

然后我创建了一个存储类来使用ceph集群
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: standard
annotations:
storageclass.kubernetes.io/is-default-class: "true"
provisioner: kubernetes.io/rbd

parameters:
monitors: publicIpofCephMon1:6789,publicIpofCephMon2:6789
adminId: admin
adminSecretName: ceph-secret
pool: kube

userId: kube
userSecretName: ceph-kube-secret

fsType: ext4
imageFormat: "2"
imageFeatures: "layering"

为了测试我的设置,我创建了一个 PVC
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc-eng
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi

但它陷入了待处理状态:
#kubectl get pvc
NAME STATUS VOLUME CAPACITY ACCESSMODES STORAGECLASS AGE
pvc-eng Pending standard 25m

此外,不会在 ceph kube 池中创建任何图像。
您对如何调试此问题有任何建议吗?

我尝试在所有 kubernetes 节点上安装 ceph-common ubuntu 包。我将 kube-controller-manager docker 镜像切换为 AT&T 提供的镜像,该镜像包含 ceph-common 包。

https://github.com/att-comdev/dockerfiles/tree/master/kube-controller-manager

网络很好,我可以从 pod 内部和每个 kubernetes 主机访问我的 ceph 集群。

如果有人有任何想法,我会很高兴!

最佳答案

您必须使用 annotation: ReadWriteOnce .
如您所见https://kubernetes.io/docs/concepts/storage/persistent-volumes/ (持久卷部分)RBD 设备不支持 ReadWriteMany 模式。如果您需要多个 Pod 从 PV 读取和写入数据,请选择不同的卷插件(例如 CephFS)。

关于具有动态配置的 Kubernetes Ceph StorageClass,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46097435/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com