Openebs iSCSI 能否在与附加到 PV 的 POD 相同的节点上定位到 运行?

Can Openebs iSCSI target to run on same node as POD attached to the PV?

有什么方法可以强制 OpenEBS iscsi 目标 运行 在与连接到 PV 的 POD 相同的节点上? 请参见以下场景: NODE A:POD+PV挂载+openebs replica 节点 B:openebs 副本 + iscsi 目标

流量然后从节点A到节点B(iscsi目标)--节点B(写入磁盘)--节点A(写入磁盘)

然后,如果尝试读取文件,当节点 A 具有完整副本时,始终会生成从节点 A 到节点 B 的流量,因此可以从那里读取。

这可以使用 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。