Kubernetes如何将将Pod调度到指定的minion节点?


构建了一个Kubernetes集群,包括4个节点:master和minion1、minion2、minion3。现在有一个ApachePod,通过kubecfg -c apache-pod create pods运行之后,Kubernetes会动态的调度到3个minion节点中的一个。现在的问题是,如何调度到指定的minion1节点?
已邀请:

杨章显 - 思科系统运维工程师

赞同来自: wangzi19870227


不知道你的版本是哪个,看见你用kubecfg,应该有点老了。在最新稳定版本v0.10.1-dirty中,支持将pod调度到指定的minion。以下是podspec的定义:
<pre>
type PodSpec struct {
Volumes <span>Volume json:"volumes"
// Required: there must be at least one container in a pod.
Containers <span>Container json:"containers"
RestartPolicy RestartPolicy json:"restartPolicy,omitempty"
// Required: Set DNS policy.
DNSPolicy DNSPolicy json:"dnsPolicy,omitempty"
// NodeSelector is a selector which must be true for the pod to fit on a node
NodeSelector mapstring json:"nodeSelector,omitempty"

// Host is a request to schedule this pod onto a specific host. If it is non-empty,
// the the scheduler simply schedules this pod onto that host, assuming that it fits
// resource requirements.
Host string json:"host,omitempty"
// Uses the host's network namespace. If this option is set, the ports that will be
// used must be specified.
// Optional: Default to false.
HostNetwork bool json:"hostNetwork,omitempty"
}
</pre>
通过上面加粗部分可以用两种方式调度到指定minion:
<ol><li>给minion设置label, 然后在定义pod配置时指定NodeSelector,这样就可以调度你指定label的minion。</li><li>在定义pod配置时指定Host,这样pod就会调度到制动的host。</li></ol>

CooCla

赞同来自:


请问v1.0.1是否将NodeSelector去掉了?

kevin_wzf - 华为PaaS工程师, @kevin-wangzefeng

赞同来自:


NodeSelector没有被去掉,到最新的1.0.4版本里面都一直有。这也是目前社区推荐的将pod部署到指定minion的方式。

要回复问题请先登录注册