gpt4 book ai didi

amazon-web-services - Kubernetes部署永久卷和VM磁盘大小

转载 作者:行者123 更新时间:2023-12-02 12:15:39 24 4
gpt4 key购买 nike

为在集群中运行的一个部署创建NFS持久卷后,这些容器便能够彼此存储和共享文件数据。文件数据在容器生命周期之间也是持久的。太好了!但是我不知道此文件数据究竟存储在哪里:“物理上”位于何处?它是保存在容器本身上还是保存在VM的磁盘上(用于运行Deployment的VM)?

默认情况下,用于承载部署的VM仅具有20 Gb可用磁盘空间。假设我正在运行某个文件服务器的节点(又名VM)上的Pod中运行一个Docker容器。如果我尝试将100 Gb文件传输到该文件服务器会怎样?如果VM磁盘本身只有20 Gb可用空间,那么该巨大文件将保存在哪里?

稍后通过附加yaml文件的部分进行编辑:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pv-claim
labels:
app: deployment
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20Gi
# ---
apiVersion: apps/v1
kind: Deployment
metadata:
name: deployment
spec:
selector:
matchLabels:
app: app
replicas: 1
minReadySeconds: 10
strategy:
type: RollingUpdate # Recreate
rollingUpdate:
maxUnavailable: 1
maxSurge: 1
template:
metadata:
labels:
app: app
spec:
containers:
- name: container
image: 12345.dkr.ecr.us-west-2.amazonaws.com/container:v001
ports:
- containerPort: 80
imagePullPolicy: IfNotPresent
volumeMounts:
- name: volume-mount
mountPath: /data
volumes:
- name: volume-mount
persistentVolumeClaim:
claimName: pv-claim

最佳答案

卷的“物理”位置由配置者定义,由存储类定义。您的PV声明未分配存储类别。这意味着将使用默认存储类,并且可以是任何类型。我怀疑在EKS中默认的存储类将是EBS,但是您应该仔细检查一下。

首先,查看实际上为持久卷分配了什么存储类:

kubectl get pv -o wide

然后查看分配给该存储类的配置者:
kubectl get storageclass

您很可能会看到类似 kubernetes.io/aws-ebs的内容。然后,谷歌文档提供给特定的供应商,以了解“物理”存储卷的位置。

关于amazon-web-services - Kubernetes部署永久卷和VM磁盘大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57048823/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com