diff --git a/pkg/minikube/bootstrapper/bootstrapper.go b/pkg/minikube/bootstrapper/bootstrapper.go index 4252d70617..a0b2cdc4e5 100644 --- a/pkg/minikube/bootstrapper/bootstrapper.go +++ b/pkg/minikube/bootstrapper/bootstrapper.go @@ -70,7 +70,7 @@ func GetCachedImageList(imageRepository string, version string, bootstrapper str case Kubeadm: return images.Kubeadm(imageRepository, version) case KIC: - return []string{"alpine"}, nil // for testing purpose just caching alpine for kicbs + return images.KIC(imageRepository, version) default: return []string{}, nil } diff --git a/pkg/minikube/bootstrapper/images/kubeadm.go b/pkg/minikube/bootstrapper/images/kubeadm.go index 7f1071a3f3..fdbaa443e5 100644 --- a/pkg/minikube/bootstrapper/images/kubeadm.go +++ b/pkg/minikube/bootstrapper/images/kubeadm.go @@ -31,7 +31,24 @@ func Kubeadm(mirror string, version string) ([]string, error) { if err != nil { return nil, errors.Wrap(err, "semver") } + imgs := essentials(mirror, v) + imgs = append(imgs, Auxiliary(mirror)...) + return imgs, nil +} +// KIC returns a list of images necessary to bootstrap kic +// it is same as vm-kubeadm minus auxulary +func KIC(mirror string, version string) ([]string, error) { + v, err := semver.Make(strings.TrimPrefix(version, "v")) + if err != nil { + return nil, errors.Wrap(err, "semver") + } + imgs := essentials(mirror, v) + return imgs, nil +} + +// essentials returns minimum essentials list of images for a version of kubernetes. +func essentials(mirror string, v semver.Version) []string { imgs := []string{ componentImage("kube-proxy", v, mirror), componentImage("kube-scheduler", v, mirror), @@ -41,8 +58,7 @@ func Kubeadm(mirror string, version string) ([]string, error) { etcd(v, mirror), Pause(mirror), } - imgs = append(imgs, Auxiliary(mirror)...) - return imgs, nil + return imgs } // componentImage returns a Kubernetes component image to pull