mirror of
https://github.com/rancher/rke.git
synced 2025-09-05 17:00:20 +00:00
allow single node deployments
This commit is contained in:
@@ -71,15 +71,6 @@ func validateHostsOptions(c *Cluster) error {
|
|||||||
return fmt.Errorf("Role [%s] for host (%d) is not recognized", role, i+1)
|
return fmt.Errorf("Role [%s] for host (%d) is not recognized", role, i+1)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
k := 0
|
|
||||||
for _, role := range host.Role {
|
|
||||||
if role == services.ControlRole || role == services.WorkerRole {
|
|
||||||
k++
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if k > 1 {
|
|
||||||
return fmt.Errorf("Host (%d) can't contain both worker and controlplane roles", i+1)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
@@ -44,7 +44,6 @@ func buildKubeletConfig(host hosts.Host, kubeletService v1.KubeletService, isMas
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
if isMaster {
|
if isMaster {
|
||||||
imageCfg.Cmd = append(imageCfg.Cmd, "--register-with-taints=node-role.kubernetes.io/master=:NoSchedule")
|
|
||||||
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")
|
||||||
}
|
}
|
||||||
hostCfg := &container.HostConfig{
|
hostCfg := &container.HostConfig{
|
||||||
|
@@ -10,29 +10,33 @@ 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
|
||||||
err := runKubelet(host, workerServices.Kubelet, true)
|
if err := runKubelet(host, workerServices.Kubelet, true); err != nil {
|
||||||
if err != nil {
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
err = runKubeproxy(host, workerServices.Kubeproxy)
|
if err := runKubeproxy(host, workerServices.Kubeproxy); err != nil {
|
||||||
if err != nil {
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for _, host := range workerHosts {
|
for _, host := range workerHosts {
|
||||||
// run nginx proxy
|
// run nginx proxy
|
||||||
err := runNginxProxy(host, controlHosts)
|
isControlPlaneHost := false
|
||||||
if err != nil {
|
for _, role := range host.Role {
|
||||||
|
if role == ControlRole {
|
||||||
|
isControlPlaneHost = true
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if !isControlPlaneHost {
|
||||||
|
if err := runNginxProxy(host, controlHosts); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
}
|
||||||
// run kubelet
|
// run kubelet
|
||||||
err = runKubelet(host, workerServices.Kubelet, false)
|
if err := runKubelet(host, workerServices.Kubelet, false); err != nil {
|
||||||
if err != nil {
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
// run kubeproxy
|
// run kubeproxy
|
||||||
err = runKubeproxy(host, workerServices.Kubeproxy)
|
if err := runKubeproxy(host, workerServices.Kubeproxy); err != nil {
|
||||||
if err != nil {
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -43,27 +47,22 @@ func RunWorkerPlane(controlHosts []hosts.Host, workerHosts []hosts.Host, workerS
|
|||||||
func RemoveWorkerPlane(controlHosts []hosts.Host, workerHosts []hosts.Host) error {
|
func RemoveWorkerPlane(controlHosts []hosts.Host, workerHosts []hosts.Host) error {
|
||||||
logrus.Infof("[%s] Tearing down Worker Plane..", WorkerRole)
|
logrus.Infof("[%s] Tearing down Worker Plane..", WorkerRole)
|
||||||
for _, host := range controlHosts {
|
for _, host := range controlHosts {
|
||||||
err := removeKubelet(host)
|
if err := removeKubelet(host); err != nil {
|
||||||
if err != nil {
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
err = removeKubeproxy(host)
|
if err := removeKubeproxy(host); err != nil {
|
||||||
if err != nil {
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, host := range workerHosts {
|
for _, host := range workerHosts {
|
||||||
err := removeKubelet(host)
|
if err := removeKubelet(host); err != nil {
|
||||||
if err != nil {
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
err = removeKubeproxy(host)
|
if err := removeKubeproxy(host); err != nil {
|
||||||
if err != nil {
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
err = removeNginxProxy(host)
|
if err := removeNginxProxy(host); err != nil {
|
||||||
if err != nil {
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user