Docker Kubernetes持久卷声明创建一个新的持久卷,而不是绑定到可用的持久卷
我正在使用docker应用程序运行mac OSX Catalina,并启用Kubernetes选项。我使用以下yaml和命令创建一个PersistentVolumeDocker Kubernetes持久卷声明创建一个新的持久卷,而不是绑定到可用的持久卷,docker,kubernetes,yaml,docker-for-mac,Docker,Kubernetes,Yaml,Docker For Mac,我正在使用docker应用程序运行mac OSX Catalina,并启用Kubernetes选项。我使用以下yaml和命令创建一个PersistentVolume apiVersion: v1 kind: PersistentVolume metadata: name: pv-nfs-data spec: accessModes: - ReadWriteMany capacity: storage: 10Gi persistentVolumeReclaimPol
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv-nfs-data
spec:
accessModes:
- ReadWriteMany
capacity:
storage: 10Gi
persistentVolumeReclaimPolicy: Retain
nfs:
server: 192.168.1.250
path: "/volume1/docker"
kubectl应用-f pv.yml
这将创建并持久化名为pv nfs data的卷。接下来,我使用以下yaml和命令创建一个PersistentVolumeClaim
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc-nfs-data
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 10Gi
kubectl应用-f pvc.yml
这将创建名为pvc nfs data的PersistentVolumeClaim,但它不会将其绑定到可用的PersistentVolume pv nfs数据。相反,它创建了一个新的,并将其绑定到它。如何使PersistentVolumeClaim绑定到可用的PersistentVolumeMac的Docker是,就像在AKS/GKE上一样,它也分配物理存储
→ kubectl get StorageClass
NAME PROVISIONER AGE
hostpath (default) docker.io/hostpath 191d
对于要使用现有PV的PVC,可以禁用存储类,并在PV中指定哪个PVC可以将其与claimRef一起使用
索赔编号
PV包括您将创建的PVC的claimRef
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv-nfs-data
spec:
accessModes:
- ReadWriteMany
capacity:
storage: 10Gi
claimRef:
namespace: insert-your-namespace-here
name: pv-nfs-data-claim
persistentVolumeReclaimPolicy: Retain
nfs:
server: 192.168.1.250
path: "/volume1/docker"
PVC将storageClassName设置为
动态
您可以通过添加一个,为它创建一个,然后让kubernetes完成其余的工作,从而使用NFS实现动态路由。Kubernetes 1.13+的最新版本可以使用Mac的Docker是,就像在AKS/GKE上一样,它也分配物理存储
→ kubectl get StorageClass
NAME PROVISIONER AGE
hostpath (default) docker.io/hostpath 191d
对于要使用现有PV的PVC,可以禁用存储类,并在PV中指定哪个PVC可以将其与claimRef一起使用
索赔编号
PV包括您将创建的PVC的claimRef
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv-nfs-data
spec:
accessModes:
- ReadWriteMany
capacity:
storage: 10Gi
claimRef:
namespace: insert-your-namespace-here
name: pv-nfs-data-claim
persistentVolumeReclaimPolicy: Retain
nfs:
server: 192.168.1.250
path: "/volume1/docker"
PVC将storageClassName设置为
动态
您可以通过添加一个,为它创建一个,然后让kubernetes完成其余的工作,从而使用NFS实现动态路由。Kubernetes 1.13+的最新版本在进行更改时可以使用,我发现以下错误。服务器未找到的错误:创建pvc.yml:namespaces where not found时出错在两个定义中用集群上所需的名称空间替换where,或者如果您不介意哪个名称空间可以声明PV,则将其从两个定义中删除。我刚刚注意到一些问题。如果我运行kubectl get PersistentVolumeClaims,则索赔似乎处于未决状态。有没有办法将其强制为绑定状态?这通常会在可用时自动发生。可能还有另一个问题。检查kubelet日志,我不确定它们在docker for mac上的位置。当进行更改时,我得到以下错误。服务器未找到的错误:创建pvc.yml:namespaces where not found时出错在两个定义中用集群上所需的名称空间替换where,或者如果您不介意哪个名称空间可以声明PV,则将其从两个定义中删除。我刚刚注意到一些问题。如果我运行kubectl get PersistentVolumeClaims,则索赔似乎处于未决状态。有没有办法将其强制为绑定状态?这通常会在可用时自动发生。可能还有另一个问题。查看kubelet日志,我不确定他们在docker for mac上的位置。