集群中有两个正在运行的节点和两个Pod (每个节点上有一个Pod) 我的永久性索赔量低于
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: blockchain-data
annotations: {
"volume.beta.kubernetes.io/storage-class": "blockchain-disk"
}
spec:
accessModes:
- ReadWriteOnce
storageClassName: ssd
resources:
requests:
storage: 500Gi
和mystorageclass
kind: StorageClass
apiVersion: storage.k8s.io/v1beta1
metadata:
name: blockchain-disk
provisioner: kubernetes.io/gce-pd
parameters:
type: pd-ssd
然后我像这样将它安装在我的容器上
spec:
containers:
- image: gcr.io/indiesquare-dev/geth-node:v1.8.12
imagePullPolicy: IfNotPresent
name: geth-node
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- name: blockchain-data
mountPath: /root/.ethereum
volumes:
- name: blockchain-data
persistentVolumeClaim:
claimName: blockchain-data
我的副本设置为2。启动部署时,第一个Pod正确启动并正确安装了磁盘。
但是,第二个窗格卡在containtercreating
如果我运行kubectl describe pods
Warning FailedAttachVolume 18m attachdetach-controller Multi-Attach error for volume "pvc-c56fbb79-954f-11e8-870b-4201ac100003" Volume is already exclusively attached to one node and can't be attached to another
我认为根据此消息,我正在尝试将已连接的磁盘连接到另一个节点。
我要做的是将两个持久卷分别附加到两个Pod。如果豆荚按比例增加,则每个豆荚应附有不同的体积。 我该怎么办?
答案 0 :(得分:0)
您不能将GCE永久磁盘附加到多个节点。因此,如果您的Pod落在不同的节点上,则您将无法重复使用同一张磁盘。
您需要使用类似ReadOnlyMany
的访问方式,但是您具有ReadWriteOnce。
阅读https://cloud.google.com/kubernetes-engine/docs/concepts/persistent-volumes#access_modes