kubernetes存储类节点选择器
我正在尝试利用Rancher的本地卷动态provisioner for k8s,它有多个实例,每个实例都有自己的存储类,因此我可以根据性能提供多种类型的本地卷(例如ssd、hdd等) 基础设施是不对称的;有些节点只有SSD,有些只有HDD,有些两者都有 我知道我可以通过为POD提供节点关联规则来提示调度器选择适当的节点 但是,是否有更好的方法仅在provisioner/storage类级别解决此问题?例如,使存储类仅可用于集群节点的子集 我知道我可以提示调度器通过 为POD提供节点关联规则 使用持久卷时,无需在kubernetes存储类节点选择器,kubernetes,rancher,kubernetes-pvc,Kubernetes,Rancher,Kubernetes Pvc,我正在尝试利用Rancher的本地卷动态provisioner for k8s,它有多个实例,每个实例都有自己的存储类,因此我可以根据性能提供多种类型的本地卷(例如ssd、hdd等) 基础设施是不对称的;有些节点只有SSD,有些只有HDD,有些两者都有 我知道我可以通过为POD提供节点关联规则来提示调度器选择适当的节点 但是,是否有更好的方法仅在provisioner/storage类级别解决此问题?例如,使存储类仅可用于集群节点的子集 我知道我可以提示调度器通过 为POD提供节点关联规则 使用
Pod
级别定义节点关联规则。节点关联可以在PersistentVolume
定义中指定
但是,有没有更好的办法在政府层面解决这个问题
仅限供应器/存储类?例如,仅创建存储类
可用于群集节点的子集
否,不能在StorageClass
级别上指定它。也不能使StorageClass
仅对节点子集可用
但对于provisioner,我想说是的,它应该是可行的,因为存储provisioner的主要任务之一是创建匹配的PersistentVolume
对象,以响应用户创建的PersistentVolumeClaim
。您可以阅读以下内容:
动态卷资源调配允许创建存储卷
随需应变。在没有动态资源调配的情况下,群集管理员
手动调用其云或存储提供商创建
新建存储卷,然后创建PersistentVolume对象以
用Kubernetes来代表他们。动态资源调配功能
无需群集管理员预先调配资源
存储相反,它会在需要时自动调配存储
由用户请求
因此,从一开始就看整个批量供应过程,如下所示:
用户仅创建PersistenVolumeClaim
对象,并在其中指定StorageClass
:
apiVersion:v1
种类:PersistentVolumeClaim
元数据:
姓名:myclaim
规格:
访问模式:
-读写
volumeMode:文件系统
资源:
请求:
存储:10Gi
storageClassName:本地存储
我知道我可以提示调度器通过
为POD提供节点关联规则
使用持久卷时,无需在Pod
级别定义节点关联规则。节点关联可以在PersistentVolume
定义中指定
但是,有没有更好的办法在政府层面解决这个问题
仅限供应器/存储类?例如,仅创建存储类
可用于群集节点的子集
否,不能在StorageClass
级别上指定它。也不能使StorageClass
仅对节点子集可用
但对于provisioner,我想说是的,它应该是可行的,因为存储provisioner的主要任务之一是创建匹配的PersistentVolume
对象,以响应用户创建的PersistentVolumeClaim
。您可以阅读以下内容:
动态卷资源调配允许创建存储卷
随需应变。在没有动态资源调配的情况下,群集管理员
手动调用其云或存储提供商创建
新建存储卷,然后创建PersistentVolume对象以
用Kubernetes来代表他们。动态资源调配功能
无需群集管理员预先调配资源
存储相反,它会在需要时自动调配存储
由用户请求
因此,从一开始就看整个批量供应过程,如下所示:
用户仅创建PersistenVolumeClaim
对象,并在其中指定StorageClass
:
apiVersion:v1
种类:PersistentVolumeClaim
元数据:
姓名:myclaim
规格:
访问模式:
-读写
volumeMode:文件系统
资源:
请求:
存储:10Gi
storageClassName:local storage####我理解(希望如此),本地持久卷功能引入的PV级节点关联。但是,只有当PV是预先静态创建的,以便调度器知道在哪个节点上调度POD时,它才有帮助。在pod重新调度期间,它也会有所帮助,因为PV定义已经可用。但是,在动态供应器WaitForFirstConsumer的情况下,pod不是安排在PV之前吗?如果是,则表示该节点已被选中。如果该storageclass无法在该节点上进行资源调配,那么它就是死路一条。我错在哪里了?我理解(希望如此),本地持久卷功能引入的PV级节点关联。但是,只有当PV是预先静态创建的,以便调度器知道在哪个节点上调度POD时,它才有帮助。在pod重新调度期间,它也会有所帮助,因为PV定义已经可用。但是,在动态供应器WaitForFirstConsumer的情况下,pod不是安排在PV之前吗?如果是,则表示该节点已被选中。如果该storageclass无法在该节点上进行资源调配,那么它就是死路一条。我这里出了什么错?