Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes 部署和PVC_Kubernetes_Kubernetes Pvc - Fatal编程技术网

Kubernetes 部署和PVC

Kubernetes 部署和PVC,kubernetes,kubernetes-pvc,Kubernetes,Kubernetes Pvc,我有以下持久卷目标: apiVersion: v1 kind: PersistentVolumeClaim metadata: name: nginx-pvc spec: accessModes: - ReadWriteOnce resources: requests: storage: 256Mi storageClassName: fask apiVersion: apps/v1 kind: Deployment metadata: name

我有以下持久卷目标

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: nginx-pvc
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 256Mi
  storageClassName: fask
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.7.9
        ports:
        - containerPort: 80
        volumeMounts:
        - name: data
          mountPath: "/var/www/html"
      volumes:
      - name: data
        persistentVolumeClaim:
          claimName: nginx-pvc
和部署

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: nginx-pvc
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 256Mi
  storageClassName: fask
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.7.9
        ports:
        - containerPort: 80
        volumeMounts:
        - name: data
          mountPath: "/var/www/html"
      volumes:
      - name: data
        persistentVolumeClaim:
          claimName: nginx-pvc
如果使用单个副本部署运行,我的PV将由vsphereStorageClass动态创建

但是,如果我有两个以上的副本,它将无法创建第二个PV:

AttachVolume.Attach failed for volume "pvc-8facf319-6b1a-11e8-935b-00505680b1b8" : Failed to add disk 'scsi0:1'.
Unable to mount volumes for pod "nginx-deployment-7886f48dcd-lzms8_default(b0e38764-6b1a-11e8-935b-00505680b1b8)": timeout expired waiting for volumes to attach or mount for pod "default"/"nginx-deployment-7886f48dcd-lzms8". list of unmounted volumes=[data]. list of unattached volumes=[data default-token-5q7kr]
但是,如果我有两个以上的副本,它将无法创建第二个PV

然后,您可能应该在其中使用
StatefulSet
volumeClaimTemplates
,而不是
Deployment
PersistentVolumeClaim

在您的情况下,每个部署都具有相同的
PersistentVolumeClaim
(即读写,不能在第二次请求时装载),而使用
volumeClaimTemplates
时,您可以为每个副本提供不同的配置

但是,如果我有两个以上的副本,它将无法创建第二个PV

然后,您可能应该在其中使用
StatefulSet
volumeClaimTemplates
,而不是
Deployment
PersistentVolumeClaim


在您的情况下,每个部署都具有相同的
PersistentVolumeClaim
(即读写,不能在第二次请求时装载),而使用
volumeClaimTemplates
时,您可以为每个副本提供不同的配置。

您的配置器是什么?您可以添加存储类清单吗?PVC是用ReadWriteOnce定义的,您使用部署而不是StatefulSet…您的供应器是什么?您可以添加存储类清单吗?PVC是用ReadWriteOnce定义的,您使用部署而不是StatefulSet…好的,这很有意义。如果3个吊舱都在同一个节点上,那么VsphereVolume只支持这些访问模式。我想这可以吗???i、 e doc说ReadWriteOnce–卷可以由单个节点以读写方式装入如果您选择volumeClaimTemplate(),那么最终将为每个副本创建单独命名的PVC(无论节点分布如何),并且每个副本都有自己的命名PV(即ReadWriteOnce)。至于vsphere,是的,docs说ReadWriteMany只在POD并置时起作用。您是要在每个pod上装载完全相同的卷,还是要有单独但持久的卷?好的,这很有意义。如果3个吊舱都在同一个节点上,那么VsphereVolume只支持这些访问模式。我想这可以吗???i、 e doc说ReadWriteOnce–卷可以由单个节点以读写方式装入如果您选择volumeClaimTemplate(),那么最终将为每个副本创建单独命名的PVC(无论节点分布如何),并且每个副本都有自己的命名PV(即ReadWriteOnce)。至于vsphere,是的,docs说ReadWriteMany只在POD并置时起作用。您是要在每个pod上装载完全相同的卷,还是要拥有独立但持久的卷?