有什么方法可以强制 OpenEBS iscsi 目标在与连接到 PV 的 POD 相同的节点上运行?见以下场景:节点 A:POD + PV 安装 + openebs 副本节点 B:openebs 副本 + iscsi 目标
然后流量从节点A到节点B(iscsi目标)--节点B(写入磁盘)--节点A(写入磁盘)
然后,如果尝试读取文件,则当 nodeA 具有完整副本时,总是会产生从 nodeA 到 nodeB 的流量,因此可以从那里读取。
有什么方法可以强制 OpenEBS iscsi 目标在与连接到 PV 的 POD 相同的节点上运行?见以下场景:节点 A:POD + PV 安装 + openebs 副本节点 B:openebs 副本 + iscsi 目标
然后流量从节点A到节点B(iscsi目标)--节点B(写入磁盘)--节点A(写入磁盘)
然后,如果尝试读取文件,则当 nodeA 具有完整副本时,总是会产生从 nodeA 到 nodeB 的流量,因此可以从那里读取。
这可以使用 Target Affinity Policy 来实现。策略可用于将卷目标 pod 与工作负载放在同一节点上。
labels:
openebs.io/target-affinity: <application-unique-label>
您可以使用以下方式在应用程序和 OpenEBS PVC 中指定 Target Affinity
对于 Application Pod,它将类似于以下内容
apiVersion: v1
kind: Pod
metadata:
name: fio-cstor
labels:
name: fio-cstor
openebs.io/target-affinity: fio-cstor
对于 OpenEBS PVC,它将类似于以下内容。
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: fio-cstor-claim
labels:
openebs.io/target-affinity: fio-cstor
注意:此功能仅适用于应用程序和 PVC 之间存在 1-1 映射的情况。不建议将 PVC 指定为模板的 STS。