2017-10-29 11:45:21 +02:00
|
|
|
package services
|
|
|
|
|
|
|
|
import (
|
2018-01-09 15:10:56 -07:00
|
|
|
"context"
|
2017-11-14 20:11:21 +02:00
|
|
|
|
2017-10-31 15:55:35 +02:00
|
|
|
"github.com/rancher/rke/docker"
|
2017-10-29 11:45:21 +02:00
|
|
|
"github.com/rancher/rke/hosts"
|
2018-03-12 21:04:28 +02:00
|
|
|
"github.com/rancher/rke/pki"
|
2020-07-11 09:24:19 -07:00
|
|
|
v3 "github.com/rancher/rke/types"
|
2017-10-29 11:45:21 +02:00
|
|
|
)
|
|
|
|
|
2018-03-21 19:20:58 +02:00
|
|
|
func runKubelet(ctx context.Context, host *hosts.Host, df hosts.DialerFactory, prsMap map[string]v3.PrivateRegistry, kubeletProcess v3.Process, certMap map[string]pki.CertificatePKI, alpineImage string) error {
|
2019-08-14 12:53:32 +02:00
|
|
|
imageCfg, hostCfg, healthCheckURL := GetProcessConfig(kubeletProcess, host)
|
2018-01-31 19:50:55 +02:00
|
|
|
if err := docker.DoRunContainer(ctx, host.DClient, imageCfg, hostCfg, KubeletContainerName, host.Address, WorkerRole, prsMap); err != nil {
|
2017-12-20 00:18:27 +02:00
|
|
|
return err
|
|
|
|
}
|
2018-03-21 19:20:58 +02:00
|
|
|
if err := runHealthcheck(ctx, host, KubeletContainerName, df, healthCheckURL, certMap); err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
return createLogLink(ctx, host, KubeletContainerName, WorkerRole, alpineImage, prsMap)
|
2017-10-29 11:45:21 +02:00
|
|
|
}
|
|
|
|
|
2018-01-09 15:10:56 -07:00
|
|
|
func removeKubelet(ctx context.Context, host *hosts.Host) error {
|
|
|
|
return docker.DoRemoveContainer(ctx, host.DClient, KubeletContainerName, host.Address)
|
2017-11-20 20:08:50 +02:00
|
|
|
}
|
2018-08-20 06:37:04 +02:00
|
|
|
|
2019-01-14 19:51:20 +02:00
|
|
|
func RestartKubelet(ctx context.Context, host *hosts.Host) error {
|
2018-08-20 06:37:04 +02:00
|
|
|
return docker.DoRestartContainer(ctx, host.DClient, KubeletContainerName, host.Address)
|
|
|
|
}
|