标签: persistent-volumes

Kubernetes:无法删除PersistentVolumeClaim(pvc)

我通过调用创建了以下持久卷

kubectl create -f nameOfTheFileContainingTheFollowingContent.yaml

apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv-monitoring-static-content
spec:
  capacity:
    storage: 100Mi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: "/some/path"

---

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: pv-monitoring-static-content-claim
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: ""
  resources:
    requests:
      storage: 100Mi
Run Code Online (Sandbox Code Playgroud)

在此之后我试图删除pvc.但这个命令卡住了.在打电话时kubectl describe pvc pv-monitoring-static-content-claim我得到以下结果

Name:          pv-monitoring-static-content-claim
Namespace:     default
StorageClass:
Status:        Terminating (lasts 5m)
Volume:        pv-monitoring-static-content
Labels:        <none>
Annotations:   pv.kubernetes.io/bind-completed=yes
               pv.kubernetes.io/bound-by-controller=yes
Finalizers:    [foregroundDeletion]
Capacity:      100Mi
Access Modes:  RWO
Events:        <none>
Run Code Online (Sandbox Code Playgroud)

并为 kubectl describe pv pv-monitoring-static-content

Name:            pv-monitoring-static-content
Labels:          <none> …
Run Code Online (Sandbox Code Playgroud)

kubernetes persistent-volumes persistent-volume-claims

34
推荐指数
8
解决办法
3万
查看次数

Kubernetes持续交易量无可置疑地处于待定状态

我创建了一个源自Google Compute Engine永久磁盘的PersistentVolume,我已经格式化并提供了数据.Kubernetes说PersistentVolume可用.

kind: PersistentVolume
apiVersion: v1
metadata:
  name: models-1-0-0
  labels:
    name: models-1-0-0
spec:
  capacity:
    storage: 200Gi
  accessModes:
    - ReadOnlyMany
  gcePersistentDisk:
    pdName: models-1-0-0
    fsType: ext4
    readOnly: true
Run Code Online (Sandbox Code Playgroud)

然后我创建了一个PersistentVolumeClaim,以便我可以将此卷附加到多个节点上的多个pod.然而,kubernetes无限期地说它处于待决状态.

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: models-1-0-0-claim
spec:
  accessModes:
    - ReadOnlyMany
  resources:
    requests:
      storage: 200Gi
  selector:
    matchLabels:
      name: models-1-0-0
Run Code Online (Sandbox Code Playgroud)

任何见解?我觉得选择器可能有问题......

甚至可以预先配置一个包含数据的永久磁盘,并且多个节点上的pod都可以从中读取吗?

kubernetes persistent-volumes persistent-volume-claims

31
推荐指数
5
解决办法
3万
查看次数

如何在 Kubernetes 中删除持久卷

我正在尝试删除 Kubernetes 集群上的持久卷。我运行了以下命令:

kubectl delete pv pvc-08e65270-b7ce-11e9-ba0b-0a1e280502e2 pvc-08e87826-b7ce-11e9-ba0b-0a1e280502e2 pvc-08ea5f97-b7ce-11e9-ba0b-0a1e280502e2 pvc-08ec1cac-b7ce-11e9-ba0b-0a1e280502e2
Run Code Online (Sandbox Code Playgroud)

然而它显示:

persistentvolume "pvc-08e65270-b7ce-11e9-ba0b-0a1e280502e2" deleted
persistentvolume "pvc-08e87826-b7ce-11e9-ba0b-0a1e280502e2" deleted
persistentvolume "pvc-08ea5f97-b7ce-11e9-ba0b-0a1e280502e2" deleted
persistentvolume "pvc-08ec1cac-b7ce-11e9-ba0b-0a1e280502e2" deleted
Run Code Online (Sandbox Code Playgroud)

但是命令没有退出。所以我CONTROL+C强制退出命令。几分钟后,我跑了:

kubectl get pv
Run Code Online (Sandbox Code Playgroud)

状态为Terminating,但卷似乎没有删除。

如何删除这些持久卷?

kubernetes persistent-volumes

25
推荐指数
4
解决办法
3万
查看次数

Kubernetes 持久卷访问模式:ReadWriteOnce vs ReadOnlyMany vs ReadWriteMany

根据这个官方文档,Kubernetes Persistent Volumes 支持三种类型的访问模式。

  1. 只读多
  2. 一次读写
  3. 读写多

文档中对它们的给定定义是非常高级的。如果有人可以更详细地解释它们以及我们应该使用一个与另一个的不同用例的一些示例,那就太好了。

kubernetes persistent-volumes

22
推荐指数
3
解决办法
9629
查看次数

Kubernetes NFS持久卷 - 同一卷上的多个声明?索赔陷入悬而未决?

使用案例:

我有一个可用的NFS目录,我想用它来保存多个部署和pod的数据.

我创建了一个PersistentVolume:

apiVersion: v1
kind: PersistentVolume
metadata:
  name: nfs-pv
spec:
  capacity:
    storage: 10Gi
  accessModes:
    - ReadWriteMany
  nfs:
    server: http://mynfs.com
    path: /server/mount/point
Run Code Online (Sandbox Code Playgroud)

我希望多个部署能够使用它PersistentVolume,所以我对所需内容的理解是我需要创建多个PersistentVolumeClaims,这些都将指向此PersistentVolume.

kind: PersistentVolumeClaim
apiVersion: v1
metaData:
  name: nfs-pvc-1
  namespace: default
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 50Mi
Run Code Online (Sandbox Code Playgroud)

我相信这会创造一个50MB的索赔PersistentVolume.当我跑步时kubectl get pvc,我看到:

NAME        STATUS     VOLUME    CAPACITY    ACCESSMODES   AGE
nfs-pvc-1   Bound      nfs-pv    10Gi        RWX           35s
Run Code Online (Sandbox Code Playgroud)

我不明白为什么我看到10Gi容量,而不是50Mi.

当我然后更改PersistentVolumeClaim部署yaml以创建名为的PVC时,nfs-pvc-2我得到:

NAME        STATUS     VOLUME    CAPACITY    ACCESSMODES   AGE
nfs-pvc-1 …
Run Code Online (Sandbox Code Playgroud)

nfs kubernetes persistent-volumes persistent-volume-claims

20
推荐指数
3
解决办法
1万
查看次数

如何在Kubernete中使用Aws EBS安装postgresql卷

  1. 我首先创建了持久卷(EBS 10G)和相应的持久卷声明.但是当我尝试部署postgresql pods时(yaml文件):

测试postgresql.yaml

从pod接收错误:

initdb:目录"/ var/lib/postgresql/data"存在但不是空它包含一个lost + found目录,可能是因为它是一个挂载点.建议不要直接使用挂载点作为数据目录.在挂载点下创建一个子目录.

为什么pod无法使用此路径?我在minikube上尝试过相同的测试.我没有遇到任何问题.

  1. 我试图将卷安装目录路径更改为"/ var/lib/test/data",pod可以正在运行.我创建了一个新表和一些数据,然后杀了这个pod.Kubernete创造了一个新的吊舱.但是新的没有保留以前的数据和表格.

那么在Kubernete中使用Aws EBS正确安装postgresql卷的方法是什么,允许重新创建的pod可以重用存储在EBS中的初始数据库?

postgresql docker kubernetes persistent-volumes aws-ebs

20
推荐指数
2
解决办法
3393
查看次数

Kubernetes Pod警告:1个节点有卷节点亲缘关系冲突

我尝试设置kubernetes集群.我有持久Volomue,持久卷声明和存储类所有设置和运行,但是当我想从部署创建pod时,pod已创建但挂起处于Pending状态.在描述之后,我只获得了这个warnig"1个节点有卷节点亲和性冲突".有人能告诉我我的音量配置中缺少什么吗?

apiVersion: v1
kind: PersistentVolume
metadata:
  creationTimestamp: null
  labels:
    io.kompose.service: mariadb-pv0
  name: mariadb-pv0
spec:
  volumeMode: Filesystem
  storageClassName: local-storage
  local:
    path: "/home/gtcontainer/applications/data/db/mariadb"
  accessModes:
  - ReadWriteOnce
  capacity:
    storage: 2Gi
  claimRef:
    namespace: default
    name: mariadb-claim0
  nodeAffinity:
    required:
      nodeSelectorTerms:
        - matchExpressions:
          - key: kubernetes.io/cvl-gtv-42.corp.globaltelemetrics.eu
            operator: In
            values:
            - master

status: {}
Run Code Online (Sandbox Code Playgroud)

docker kubernetes persistent-volumes

19
推荐指数
11
解决办法
1万
查看次数

PersistentVolumeClaim 在新的 AWS EKS 集群上陷入“等待由外部配置程序“ebs.csi.aws.com”创建卷”的状态

我们配置了 EKS 设置,其中使用基于云原生 Buildpacks 的 Tekton Pipeline,但我们PipelineRuns在没有获取 Pod 资源的情况下永远陷入困境并处于等待状态。我们创建了一个 PersistentVolumeClaim,如下所示:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: buildpacks-source-pvc
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 500Mi
Run Code Online (Sandbox Code Playgroud)

创建后查看此 PVC 的事件,发现以下事件表明我们的 EKS 设置出现问题:

该命令kubectl describe pvc buildpacks-source-pvc给出以下事件消息:

Name:          buildpacks-source-pvc
Namespace:     default
StorageClass:  gp2
Status:        Pending
Volume:
Labels:        <none>
Annotations:   volume.beta.kubernetes.io/storage-provisioner: ebs.csi.aws.com
               volume.kubernetes.io/selected-node: ip-999-99-99-99.eu-central-1.compute.internal
               volume.kubernetes.io/storage-provisioner: ebs.csi.aws.com
Finalizers:    [kubernetes.io/pvc-protection]
Capacity:
Access Modes:
VolumeMode:    Filesystem
Used By:       affinity-assistant-0b3d266b91-0
               affinity-assistant-53a7c08baf-0
               affinity-assistant-a375f28de3-0
               affinity-assistant-e8cb1a6e15-0
               buildpacks-test-pipeline-run-9rz4l-fetch-repository-pod
Events:
  Type    Reason                Age                     From                         Message
  ----    ------ …
Run Code Online (Sandbox Code Playgroud)

amazon-ebs amazon-web-services kubernetes persistent-volumes amazon-eks

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

如何监控持久卷的磁盘使用情况?

我想监控集群中持久卷的磁盘使用情况。我正在使用CoreOS Kube Prometheus。仪表板正在尝试使用名为kubelet_volume_stats_capacity_bytes的指标进行查询,该指标从 v1.12 开始的 Kubernetes 版本不再可用。

我正在使用 Kubernetes 版本 v1.13.4 和hostpath-provisioner根据持久卷声明来配置卷。我想访问每个持久卷的当前磁盘使用指标。

  • kube_persistentvolumeclaim_resource_requests_storage_bytes可用,但它仅以字节为单位显示持久声明请求

  • container_fs_usage_bytes没有完全涵盖我的问题。

metrics kubernetes prometheus persistent-volumes kubernetes-pvc

14
推荐指数
3
解决办法
1万
查看次数

Kubernetes NFS 挂载选项

我最近开始在本地集群中使用 NFS 卷。这对我来说是最简单和最好的解决方案,但在实际的安装选项方面似乎相当有限。

是否可以在volume.yml 文件中的节点/集群上设置挂载选项?

  • NFSv3
  • NFSv4/4.1
  • 查找缓存
  • 诺阿泰姆
  • 大小,w大小

我的应用程序需要特定版本以及这些性能安装选项。

apiVersion: v1
kind: PersistentVolume
metadata:
  name: nfs
spec:
  capacity:
    storage: 1Mi
  accessModes:
    - ReadWriteMany
  nfs:
    # FIXME: use the right IP
    server: 10.244.1.4
    path: "/"
Run Code Online (Sandbox Code Playgroud)

无论如何要在这里添加安装标志吗?

performance nfs kubernetes persistent-volumes

12
推荐指数
3
解决办法
2万
查看次数