3

按照 kubernetes 指南,我创建了一个 pv、pvc 和 pod。我只声称 20Mi pv 中的 10Mi。我复制的 23Mi 比我的 pv 还多。但我的 pod 仍在运行。谁能解释一下?

pv-volume.yaml

kind: PersistentVolume
apiVersion: v1
metadata:
  name: task-pv-volume
  labels:
    type: local
spec:
  storageClassName: manual
  capacity:
    storage: 20Mi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: "/mnt/data"

pv-claim.yaml

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: task-pv-claim
spec:
  storageClassName: manual
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 10Mi

pv-pod.yaml

kind: Pod
apiVersion: v1
metadata:
  name: task-pv-pod
spec:
  volumes:
    - name: task-pv-storage
      persistentVolumeClaim:
       claimName: task-pv-claim
  containers:
    - name: task-pv-container
      image: nginx
      ports:
        - containerPort: 80
          name: "http-server"
      volumeMounts:
        - mountPath: "/usr/share/nginx/html"
          name: task-pv-storage
4

1 回答 1

0

可能您可以使用任何已应用的 POD 存储/usr/share/nginx/html在节点和 pod 之间共享,将尽可能多的数据复制到共享存储/mnt/data (在您的活动节点上),直到您的节点停止响应。

如果您需要在更真实的条件下测试此场景,您是否可以考虑使用GlusterFSnfs-utils创建 NFS 持久存储,或挂载使用dd创建的原始分区文件。

在 Minikube 中,节点使用临时存储。您可以在此处找到有关节点/pod 资源的详细信息:

https://kubernetes.io/docs/tasks/administer-cluster/reserve-compute-resources/#node-allocatable
希望对您有所帮助。

于 2019-03-23T20:24:23.530 回答