gpt4 book ai didi

kubernetes - 在 Kubernetes 中使用不同的 PV 时,是否可以在不同的命名空间中使用同名的 PVC?

转载 作者:行者123 更新时间:2023-12-02 11:37:42 26 4
gpt4 key购买 nike

我有 2 个不同的命名空间: prod-01 prod-02 , 我想做的是建立我的 的副本prod-01 进入 prod-02 命名空间为其 pvc 保留相同的名称,因此我不必为每个不同的命名空间维护 2 组图表。

这是它的样子:

$ kubectl get ns | grep prod
prod-01 Active 178d
prod-02 Active 8d
$

如下所示,我为每个命名空间有 2 对 pv:
$ kubectl get pv -o wide | grep prod
prod-01-db-pv 50Gi RWX Retain Bound prod-01/app-db 164d
prod-01-nosql-db-pv 5Gi RWX Retain Bound prod-01/app-nosql-db 149d
prod-02-db-pv 50Gi RWX Retain Available prod-02/app-db 41m
prod-02-nosql-db-pv 5Gi RWX Retain Available prod-02/app-nosql-db 19m
$

以下是 pvc 的方法 prod-01 正在显示:
$ kubectl get pvc --namespace=prod-01
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
app-db Bound prod-01-db-pv 50Gi RWX 164d
app-nosql-db Bound prod-01-nosql-db-pv 5Gi RWX 149d
$

这就是我想要完成的:
$ kubectl get pvc --namespace=prod-02
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
app-db Pending prod-02-db-pv 0 2m
app-nosql-db Pending prod-02-nosql-db-pv 0 24m
$

如上图,pvc 的为 prod-02 命名空间永远停留在 待处理 地位。

当我在 上更改 pvc 名称时prod-02 任何不同的东西,它们都按预期结合。

这让我认为我不能在 pvc 上使用相同的名称,即使它们位于不同的命名空间并指向不同的 pv ......但是,在搜索文档时,我找不到任何关于此问题的证据,并且想知道如果我可能会错过一些东西。

所以简单地说,我可以在不同的命名空间中拥有多个同名的 pvc(考虑到它们使用不同的 pv)吗?

更新: kubectl describe pvc 的结果
$ kubectl describe pvc app-db --namespace=prod-02
Name: app-db
Namespace: prod-02
StorageClass:
Status: Pending
Volume: prod-02-db-pv
Labels: <none>
Annotations: <none>
Finalizers: []
Capacity: 0
Access Modes:
Events: <none>
$

还有 kubectl get pvc 的输出:
$ kubectl get pvc app-db --namespace=prod-02  -o yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
creationTimestamp: 2018-09-22T22:00:34Z
name: app-db
namespace: prod-02
resourceVersion: "43027607"
selfLink: /api/v1/namespaces/prod-02/persistentvolumeclaims/app-db
uid: ee81b951-beb2-11e8-b972-005056bbded7
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 50Gi
volumeName: prod-02-db-pv
status:
phase: Pending
$

这里还有一些关于光伏的细节:
$ kubectl get pv prod-02-db-pv --namespace=prod-02 -o yaml
apiVersion: v1
kind: PersistentVolume
metadata:
creationTimestamp: 2018-09-22T21:15:19Z
name: prod-02-db-pv
resourceVersion: "43020171"
selfLink: /api/v1/persistentvolumes/prod-02-db-pv
uid: 9c07d7a6-beac-11e8-b972-005056bbded7
spec:
accessModes:
- ReadWriteMany
capacity:
storage: 50Gi
claimRef:
apiVersion: v1
kind: PersistentVolumeClaim
name: app-db
namespace: prod-02
nfs:
path: /nfs_server/prod02/db
server: 158.87.52.35
persistentVolumeReclaimPolicy: Retain
status:
phase: Available
$

在此先感谢您的帮助!

最佳答案

PVC 是命名空间资源,但不是 PV。即,您可以在不同的命名空间中拥有多个具有相同名称的 PVC。

您配置 pv 的方式可能存在问题。

您能否确保在 nfs 下的 pv 配置中使用正确的 IP 地址?属性:

nfs:
path: /nfs_server/prod01/db
server: 158.87.52.35

关于kubernetes - 在 Kubernetes 中使用不同的 PV 时,是否可以在不同的命名空间中使用同名的 PVC?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52461331/

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