mirror of
https://github.com/rancher/rke.git
synced 2025-08-12 04:03:01 +00:00
add multiple role labels to nodes
This commit is contained in:
parent
e8a611f12a
commit
7b405446bb
@ -11,8 +11,8 @@ import (
|
|||||||
"github.com/rancher/types/apis/cluster.cattle.io/v1"
|
"github.com/rancher/types/apis/cluster.cattle.io/v1"
|
||||||
)
|
)
|
||||||
|
|
||||||
func runKubelet(host hosts.Host, kubeletService v1.KubeletService, isMaster bool) error {
|
func runKubelet(host hosts.Host, kubeletService v1.KubeletService) error {
|
||||||
imageCfg, hostCfg := buildKubeletConfig(host, kubeletService, isMaster)
|
imageCfg, hostCfg := buildKubeletConfig(host, kubeletService)
|
||||||
return docker.DoRunContainer(host.DClient, imageCfg, hostCfg, KubeletContainerName, host.Address, WorkerRole)
|
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)
|
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{
|
imageCfg := &container.Config{
|
||||||
Image: kubeletService.Image,
|
Image: kubeletService.Image,
|
||||||
Entrypoint: []string{"kubelet",
|
Entrypoint: []string{"kubelet",
|
||||||
@ -43,8 +43,15 @@ func buildKubeletConfig(host hosts.Host, kubeletService v1.KubeletService, isMas
|
|||||||
"--require-kubeconfig=True",
|
"--require-kubeconfig=True",
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
if isMaster {
|
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")
|
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{
|
hostCfg := &container.HostConfig{
|
||||||
Binds: []string{
|
Binds: []string{
|
||||||
|
@ -10,7 +10,7 @@ func RunWorkerPlane(controlHosts []hosts.Host, workerHosts []hosts.Host, workerS
|
|||||||
logrus.Infof("[%s] Building up Worker Plane..", WorkerRole)
|
logrus.Infof("[%s] Building up Worker Plane..", WorkerRole)
|
||||||
for _, host := range controlHosts {
|
for _, host := range controlHosts {
|
||||||
// only one master for now
|
// only one master for now
|
||||||
if err := runKubelet(host, workerServices.Kubelet, true); err != nil {
|
if err := runKubelet(host, workerServices.Kubelet); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if err := runKubeproxy(host, workerServices.Kubeproxy); err != nil {
|
if err := runKubeproxy(host, workerServices.Kubeproxy); err != nil {
|
||||||
@ -32,7 +32,7 @@ func RunWorkerPlane(controlHosts []hosts.Host, workerHosts []hosts.Host, workerS
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// run kubelet
|
// run kubelet
|
||||||
if err := runKubelet(host, workerServices.Kubelet, false); err != nil {
|
if err := runKubelet(host, workerServices.Kubelet); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
// run kubeproxy
|
// run kubeproxy
|
||||||
|
Loading…
Reference in New Issue
Block a user