如何在OpenEBS中将STS应用程序和目标pod安排到同一节点?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在OpenEBS中将STS应用程序和目标pod安排到同一节点?相关的知识,希望对你有一定的参考价值。

我们有一个设置(6个节点,短暂的SSD连接在GKE k8s 1.10)和应用程序StatefulSet有6个副本。计划是将1对1应用程序窗格映射到节点,并使用目标关联来将jiva目标窗格保持在与应用程序窗格相同的节点上。数据复制/冗余在应用层解决,因此我们只需要1个副本设置用于存储类。

答案

目标关联策略可用于将卷目标容器与工作负载放在同一节点上。

此功能使用取决于Pod标签的Kubernetes Pod Affinity功能。用户需要将以下标签添加到Application和PVC。

labels:
  openebs.io/target-affinity: <application-unique-label>

您可以使用以下方法在应用程序和OpenEBS PVC中指定目标亲和力:对于Application Pod,它将类似于以下

apiVersion: v1
kind: Pod
metadata:
  name: fio-jiva
  labels:
    name: fio-jiva
    openebs.io/target-affinity: fio-jiva

对于OpenEBS PVC,它将类似于以下内容。

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: fio-jiva-claim
  labels:
    openebs.io/target-affinity: fio-jiva

注意:此功能仅适用于应用程序和PVC之间存在1-1映射的情况。不建议将STS指定为模板的STS。

以上是关于如何在OpenEBS中将STS应用程序和目标pod安排到同一节点?的主要内容,如果未能解决你的问题,请参考以下文章

如何在OpenEBS中的现有storagePoolClaim中添加设备?

OpenEBS 开源云原生存储解决方案

kubernetes上部署 wiki.js

什么是用于OpenEBS Jiva和cStor卷的后端文件系统?

如何在 gke 中将 kube-controller-manager 中的 --horizo​​ntal-pod-autoscaler-sync-period 字段更改为 5sec

如何在主应用程序目标中使用单元测试用例(作为 test_spec 添加到开发 pod)?