我使用 rook 构建 ceph 集群。但是我的 pvc 陷入待处理状态。当我使用 kubectl describe pvc 时,我发现来自 persistencevolume-controller 的事件:
\nwaiting for a volume to be created, either by external provisioner "rook-ceph.rbd.csi.ceph.com" or manually created by system administrator\n
Run Code Online (Sandbox Code Playgroud)\n我的所有 Pod 都处于运行状态:
\nNAME READY STATUS RESTARTS AGE\ncsi-cephfsplugin-ntqk6 3/3 Running 0 14d\ncsi-cephfsplugin-pqxdw 3/3 Running 6 14d\ncsi-cephfsplugin-provisioner-c68f789b8-dt4jf 6/6 Running 49 14d\ncsi-cephfsplugin-provisioner-c68f789b8-rn42r 6/6 Running 73 14d\ncsi-rbdplugin-6pgf4 3/3 Running 0 14d\ncsi-rbdplugin-l8fkm 3/3 Running 6 14d\ncsi-rbdplugin-provisioner-6c75466c49-tzqcr 6/6 Running 106 14d\ncsi-rbdplugin-provisioner-6c75466c49-x8675 6/6 Running 17 14d\nrook-ceph-crashcollector-compute08.dc-56b86f7c4c-9mh2j 1/1 Running 2 12d\nrook-ceph-crashcollector-compute09.dc-6998676d86-wpsrs 1/1 Running …
Run Code Online (Sandbox Code Playgroud) 我正在尝试在现有存储类名称之上/基于现有存储类名称创建一个持久卷。然后我想把 PVC 贴在上面;使他们受到约束。运行下面的代码,会给我我想要的“sftp-pv-claim”,但它不绑定到我的 PV(“sftp-pv-storage”)。它的状态是“待定”。
我收到的错误消息是:“PersistentVolume“sftp-pv-storage”无效:规范:必需值:必须指定卷类型”。如果有人能指出我为什么收到错误消息的正确方向,我将不胜感激。
眼镜:
我正在使用舵图创建 PV 和 PVC。
我正在使用 Rancher UI 来查看它们是否被绑定以及是否生成了 PV。
我使用的存储是带有 Rook 的 Ceph(允许动态配置 PV)。
错误:
我收到的错误消息是:“PersistentVolume“sftp-pv-storage”无效:规范:必需值:必须指定卷类型”。
尝试:
我试过使用 claimRef 和 matchLabels 无济于事。
我在我的 PV 规格中添加了“volumetype: none”。
如果我将 "hostPath: path: "/mnt/data"" 添加为 PV 的规范,它将显示为可用 PV(具有本地节点路径),但我的 PVC 未绑定到它。(此外,出于部署目的,我不想使用 hostPath。
## Create Persistent Storage for SFTP
## Ref: https://www.cloudtechnologyexperts.com/kubernetes-persistent-volume-with-rook/
kind: PersistentVolume
apiVersion: v1
metadata:
name: sftp-pv-storage
labels:
type: local
name: sftp-pv-storage
spec:
storageClassName: rook-ceph-block
capacity:
storage: 10Gi
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
allowVolumeExpansion: true
volumetype: none
--- …
Run Code Online (Sandbox Code Playgroud) 您是否知道是否可以将本地文件夹安装到Kubernetes运行容器中。
就像docker run -it -v .:/dev some-image bash
我在本地计算机上执行此操作,然后从VS Code远程调试到容器中一样。
更新:这可能是一个解决方案:telepresence
链接:https : //kubernetes.io/docs/tasks/debug-application-cluster/local-debugging/
您是否知道可以将本地计算机安装到Kubernetes。此容器应有权访问Cassandra IP地址。
你知道有可能吗?
我正在将 rook-ceph 部署到 minikube 集群中。一切似乎都正常。我向虚拟机添加了 3 个未格式化的磁盘并已连接。我遇到的问题是,当我运行 ceph status 时,我收到一条健康温暖消息,告诉我“1 pg 尺寸不足”。我到底该如何解决这个问题?
文档(https://docs.ceph.com/docs/mimic/rados/troubleshooting/troubleshooting-pg/)指出“如果您尝试在单个节点上创建集群,则必须更改 osdrush 的默认值在创建监视器和 OSD 之前,在 Ceph 配置文件中将选择叶类型设置从 1(表示主机或节点)到 0(表示 osd)。 ” 我不知道在哪里进行此配置,但是否有其他方法可以解决此问题我应该知道的,请告诉我。谢谢!