1
0
mirror of https://github.com/rancher/rke.git synced 2025-04-28 03:31:24 +00:00
rke/services/kubeapi.go

27 lines
1001 B
Go
Raw Normal View History

2017-10-29 09:45:21 +00:00
package services
import (
"context"
2017-11-14 18:11:21 +00:00
"github.com/rancher/rke/docker"
2017-10-29 09:45:21 +00:00
"github.com/rancher/rke/hosts"
2018-05-01 00:25:52 +00:00
"github.com/rancher/rke/pki"
2017-12-05 16:55:58 +00:00
"github.com/rancher/types/apis/management.cattle.io/v3"
2017-10-29 09:45:21 +00:00
)
2018-05-01 00:25:52 +00:00
func runKubeAPI(ctx context.Context, host *hosts.Host, df hosts.DialerFactory, prsMap map[string]v3.PrivateRegistry, kubeAPIProcess v3.Process, alpineImage string, certMap map[string]pki.CertificatePKI) error {
2018-02-14 20:58:35 +00:00
2018-02-26 23:27:54 +00:00
imageCfg, hostCfg, healthCheckURL := GetProcessConfig(kubeAPIProcess)
if err := docker.DoRunContainer(ctx, host.DClient, imageCfg, hostCfg, KubeAPIContainerName, host.Address, ControlRole, prsMap); err != nil {
return err
}
2018-05-01 00:25:52 +00:00
if err := runHealthcheck(ctx, host, KubeAPIContainerName, df, healthCheckURL, certMap); err != nil {
return err
}
return createLogLink(ctx, host, KubeAPIContainerName, ControlRole, alpineImage, prsMap)
2017-10-29 09:45:21 +00:00
}
func removeKubeAPI(ctx context.Context, host *hosts.Host) error {
return docker.DoRemoveContainer(ctx, host.DClient, KubeAPIContainerName, host.Address)
}