Kubernetes 库伯内特斯持久体积
我尝试为我的数据库服务器使用一个持久卷。但我有一个错误:Kubernetes 库伯内特斯持久体积,kubernetes,google-kubernetes-engine,persistent-volumes,Kubernetes,Google Kubernetes Engine,Persistent Volumes,我尝试为我的数据库服务器使用一个持久卷。但我有一个错误: Unable to mount volumes for pod "rethinkdb-server-deployment-6866f5b459-25fjb_default(efd90244-7d02-11e8-bffa-42010a8400b9)": timeout expired waiting for volumes to attach/mount for pod "default"/"rethinkdb-server-deploym
Unable to mount volumes for pod "rethinkdb-server-deployment-6866f5b459-25fjb_default(efd90244-7d02-11e8-bffa-42010a8400b9)": timeout expired waiting for volumes to attach/mount for pod "default"/"rethinkdb-server-deployment-
Multi-Attach error for volume "pvc-f115c85e-7c42-11e8-bffa-42010a8400b9" Volume is already used by pod(s) rethinkdb-server-deployment-58f68c8464-4hn9x
我认为Kubernetes部署了一个新节点,但没有删除旧节点,因此无法在两者之间共享le卷,因为我的pvc是ReadWriteOnce。这个永久卷必须以自动方式创建,所以我不能使用永久磁盘,格式化它
我的配置:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
namespace: default
name: rethinkdb-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 30Gi
apiVersion: apps/v1beta1
kind: Deployment
metadata:
namespace: default
labels:
db: rethinkdb
role: admin
name: rethinkdb-server-deployment
spec:
replicas: 1
selector:
matchLabels:
app: rethinkdb-server
template:
metadata:
name: rethinkdb-server-pod
labels:
app: rethinkdb-server
spec:
containers:
- name: rethinkdb-server
image: gcr.io/$PROJECT_ID/rethinkdb-server:$LAST_VERSION
env:
- name: POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
ports:
- containerPort: 8080
name: admin-port
- containerPort: 28015
name: driver-port
- containerPort: 29015
name: cluster-port
volumeMounts:
- mountPath: /data/rethinkdb_data
name: rethinkdb-storage
volumes:
- name: rethinkdb-storage
persistentVolumeClaim:
claimName: rethinkdb-pvc
您是如何管理的?我看到您已在
部署中添加了PersistentVolumeClaim
。我还看到您正在尝试扩展节点池
PersistentVolumeClaim
将用于展开,但仅当您不缩放展开时。这就是出现错误消息的原因。您看到的错误表明,在复制新pod时,现有pod已经在使用该卷
由于您正在尝试扩展部署
,其他复制副本将尝试装载并使用相同的卷
解决方案:在statefulset
对象中部署PersistentVolumeClaim,而不是部署
。可以找到有关如何部署状态集的说明。使用,您将能够将PersistentVolumeClaim连接到pod,然后缩放节点池 我看到您在部署中添加了PersistentVolumeClaim
。我还看到您正在尝试扩展节点池
PersistentVolumeClaim
将用于展开,但仅当您不缩放展开时。这就是出现错误消息的原因。您看到的错误表明,在复制新pod时,现有pod已经在使用该卷
由于您正在尝试扩展部署
,其他复制副本将尝试装载并使用相同的卷
解决方案:在statefulset
对象中部署PersistentVolumeClaim,而不是部署
。可以找到有关如何部署状态集的说明。使用,您将能够将PersistentVolumeClaim连接到pod,然后缩放节点池