Kubernetes卷hostPath不适用于多个副本

时间:2018-08-06 13:38:55

标签: kubernetes

我想将卷同时用于具有多个副本的部署。

我现在使用的是hostPath音量类型,但是hostPath仅可用于一个吊舱,而其他吊舱则不能同时访问该音量。

如何同时对卷使用所有副本?

部署文件:

apiVersion: apps/v1 kind: Deployment metadata: name: pps-wordpress labels: app: wordpress spec: replicas: 4 selector: matchLabels: app: wordpress template: metadata: labels: app: wordpress spec: containers: - name: wordpress image: meysam001/wordpress volumeMounts: - name: aws-storage mountPath: /var/www/html ports: - containerPort: 80 volumes: - name: aws-storage hostPath: path: /mnt/s3

1 个答案:

答案 0 :(得分:0)

关于您的问题,我建议您使用Kubernetes基础的存储解决方案。 它称为PersistentVolumeClaim。此资源独立于Pods存在。数据 在Pod的所有生命周期中,此数量仍然存在。可以比较 NFS自动安装在操作系统的引导上。

您可能会发现这些多个安装选项对于满足以下方面的所有需求很有用 您的Pods生态系统:

ReadWriteOnce -单个节点处于读写模式的卷

ReadOnlyMany -多个节点处于只读模式的卷

ReadWriteMany -所有使用者的读写模式

要以ReadWriteMany模式创建30Gi卷,请按以下方式部署yaml:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: helloweb-disk
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 30Gi

请注意,此功能确实适用于云供应商,显然不适用于私有云 云。