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的定义:
type PodSpec struct {
Volumes []Volume `json:"volumes"`
// Required: there must be at least one container in a pod.
Containers    []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 map[string]string `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"
}

通过上面加粗部分可以用两种方式调度到指定minion:
1. 给minion设置label, 然后在定义pod配置时指定NodeSelector,这样就可以调度你指定label的minion。
2. 在定义pod配置时指定Host,这样pod就会调度到制动的host。

CooCla

赞同来自:


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

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

赞同来自:


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

要回复问题请先登录注册