【问题标题】:Select node where the other POD does not exist选择其他 POD 不存在的节点
【发布时间】:2016-03-01 15:49:47
【问题描述】:

我有两个节点

gke-1789571565414321321-a3ec9151-node-q0cz gke-98798532417432432421-a3ec9151-node-q0cz

我有两个 ReplicationController 来部署 2 个 pod,xxxyyy

我想要做什么:如果xxx 部署在node 之一上,yyy 应该转到另一个。

我通过spec.nodeName 属性实现了这个。

是否有通用的方法来避免指示特定节点?

xxx:

{
  "apiVersion": "v1",
  "kind": "ReplicationController",
  "metadata": {
    "name": "xxx",
    "labels": { "name" : "xxx" }
  },
  "spec": {  
    "replicas": 1,
    "selector": {
      "name":"xxx"
    },
    "template": { 
      "metadata": {
        "labels": {
          "name":"xxx"
        }
      },
      "spec": { 
        "containers": [
          //...
        ],
        "nodeName" : "gke-1789571565414321321-a3ec9151-node-q0cz"
      }
    }
  }
}

年年:

{
  "apiVersion": "v1",
  "kind": "ReplicationController",
  "metadata": {
    "name": "yyy",
    "labels": { "name" : "yyy" }
  },
  "spec": {  
    "replicas": 1,
    "selector": {
      "name":"yyy"
    },
    "template": { 
      "metadata": {
        "labels": {
          "name":"yyy"
        }
      },
      "spec": { 
        "containers": [
          //...
        ],
        "nodeName" : "gke-98798532417432432421-a3ec9151-node-q0cz"
      }
    }
  }
}

【问题讨论】:

    标签: kubernetes


    【解决方案1】:

    您正在寻找的功能称为“反亲和性”,尚未实现(但在design doc in github 中有描述)。在此之前,您可以通过分配每个节点只能满足一次的约束来强制传播 pod,例如主机端口(请参阅Allow only one pod of a type on a node in Kubernetes)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-30
      • 2019-07-08
      • 2013-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多