1
0
mirror of https://github.com/rancher/rke.git synced 2025-09-16 06:59:25 +00:00

Merge pull request #76 from moelsayed/node_role_labels

Add multiple role labels to nodes
This commit is contained in:
Alena Prokharchyk
2017-11-30 09:31:04 -08:00
committed by GitHub
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