相关疑难解决方法(0)

为什么 ReadWriteOnce 在不同的节点上工作?

我们在 K8s 上运行的平台有不同的组件。我们需要在其中两个组件(comp-A 和 comp-B)之间共享存储,但我们错误地为此定义了 PV 和 PVC ReadWriteOnce,即使这两个组件在不同的节点上运行,一切正常,我们能够从两个组件读取和写入存储。

根据 K8s 文档,ReadWriteOnce可以挂载到一个节点,我们必须使用ReadWriteMany

  • ReadWriteOnce -- 卷可以由单个节点以读写方式挂载
  • ReadOnlyMany -- 卷可以被多个节点以只读方式挂载
  • ReadWriteMany -- 卷可以被许多节点以读写方式挂载”

所以我想知道为什么一切正常,而它不应该?

更多信息:我们使用 NFS 进行存储,我们没有使用动态配置,下面是我们如何定义我们的 pv 和 pvc(我们使用 helm):

- apiVersion: v1
  kind: PersistentVolume
  metadata:
    name: gstreamer-{{ .Release.Namespace }}
  spec:
    capacity:
      storage: 10Gi
    accessModes:
      - ReadWriteOnce
    persistentVolumeReclaimPolicy: Recycle
    mountOptions:
      - hard
      - nfsvers=4.1
    nfs:
      server: {{ .Values.global.nfsserver }}
      path: /var/nfs/general/gstreamer-{{ .Release.Namespace }}

- apiVersion: v1
  kind: PersistentVolumeClaim
  metadata:
    name: gstreamer-claim
    namespace: {{ .Release.Namespace }}
  spec: …
Run Code Online (Sandbox Code Playgroud)

kubernetes kubernetes-pvc kubernetes-pod

5
推荐指数
1
解决办法
2031
查看次数

如何在多个 Pod 上安装相同的持久卷?

我有一个三节点 GCE 集群和一个带有三个副本的单 pod GKE 部署。我像这样创建了 PV 和 PVC:

# Create a persistent volume for web content
apiVersion: v1
kind: PersistentVolume
metadata:
  name: nginx-content
  labels:
    type: local
spec:
  capacity:
    storage: 5Gi
  accessModes:
   - ReadOnlyMany
  hostPath:
    path: "/usr/share/nginx/html"
--
# Request a persistent volume for web content
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: nginx-content-claim
  annotations:
    volume.alpha.kubernetes.io/storage-class: default
spec:
  accessModes: [ReadOnlyMany]
  resources:
    requests:
      storage: 5Gi
Run Code Online (Sandbox Code Playgroud)

它们在容器规范中被引用,如下所示:

    spec:
      containers:
      - image: launcher.gcr.io/google/nginx1
        name: nginx-container
        volumeMounts:
          - name: nginx-content
            mountPath: /usr/share/nginx/html
        ports:
          - containerPort: …
Run Code Online (Sandbox Code Playgroud)

google-cloud-platform kubernetes google-kubernetes-engine persistent-volumes persistent-volume-claims

4
推荐指数
2
解决办法
1万
查看次数