1
0
mirror of https://github.com/rancher/rke.git synced 2025-08-02 07:43:04 +00:00

add multiple role labels to nodes

This commit is contained in:
moelsayed 2017-11-30 03:41:17 +02:00
parent e8a611f12a
commit 7b405446bb
2 changed files with 14 additions and 7 deletions

View File

@ -11,8 +11,8 @@ import (
"github.com/rancher/types/apis/cluster.cattle.io/v1"
)
func runKubelet(host hosts.Host, kubeletService v1.KubeletService, isMaster bool) error {
imageCfg, hostCfg := buildKubeletConfig(host, kubeletService, isMaster)
func runKubelet(host hosts.Host, kubeletService v1.KubeletService) error {
imageCfg, hostCfg := buildKubeletConfig(host, kubeletService)
return docker.DoRunContainer(host.DClient, imageCfg, hostCfg, KubeletContainerName, host.Address, WorkerRole)
}
@ -20,7 +20,7 @@ func removeKubelet(host hosts.Host) error {
return docker.DoRemoveContainer(host.DClient, KubeletContainerName, host.Address)
}
func buildKubeletConfig(host hosts.Host, kubeletService v1.KubeletService, isMaster bool) (*container.Config, *container.HostConfig) {
func buildKubeletConfig(host hosts.Host, kubeletService v1.KubeletService) (*container.Config, *container.HostConfig) {
imageCfg := &container.Config{
Image: kubeletService.Image,
Entrypoint: []string{"kubelet",
@ -43,8 +43,15 @@ func buildKubeletConfig(host hosts.Host, kubeletService v1.KubeletService, isMas
"--require-kubeconfig=True",
},
}
if isMaster {
imageCfg.Cmd = append(imageCfg.Cmd, "--node-labels=node-role.kubernetes.io/master=true")
for _, role := range host.Role {
switch role {
case ETCDRole:
imageCfg.Cmd = append(imageCfg.Cmd, "--node-labels=node-role.kubernetes.io/etcd=true")
case ControlRole:
imageCfg.Cmd = append(imageCfg.Cmd, "--node-labels=node-role.kubernetes.io/master=true")
case WorkerRole:
imageCfg.Cmd = append(imageCfg.Cmd, "--node-labels=node-role.kubernetes.io/worker=true")
}
}
hostCfg := &container.HostConfig{
Binds: []string{

View File

@ -10,7 +10,7 @@ func RunWorkerPlane(controlHosts []hosts.Host, workerHosts []hosts.Host, workerS
logrus.Infof("[%s] Building up Worker Plane..", WorkerRole)
for _, host := range controlHosts {
// only one master for now
if err := runKubelet(host, workerServices.Kubelet, true); err != nil {
if err := runKubelet(host, workerServices.Kubelet); err != nil {
return err
}
if err := runKubeproxy(host, workerServices.Kubeproxy); err != nil {
@ -32,7 +32,7 @@ func RunWorkerPlane(controlHosts []hosts.Host, workerHosts []hosts.Host, workerS
}
}
// run kubelet
if err := runKubelet(host, workerServices.Kubelet, false); err != nil {
if err := runKubelet(host, workerServices.Kubelet); err != nil {
return err
}
// run kubeproxy