diff --git a/hack/preload-images/generate.go b/hack/preload-images/generate.go index a3160bc5a1..f178a6592b 100644 --- a/hack/preload-images/generate.go +++ b/hack/preload-images/generate.go @@ -33,7 +33,7 @@ import ( "k8s.io/minikube/pkg/minikube/localpath" ) -func generateTarball(kubernetesVersion, tarballFilename string) error { +func generateTarball(kubernetesVersion, containerRuntime, tarballFilename string) error { defer func() { if err := deleteMinikube(); err != nil { fmt.Println(err) @@ -68,7 +68,11 @@ func generateTarball(kubernetesVersion, tarballFilename string) error { return errors.Wrap(err, "kubeadm images") } - for _, img := range append(imgs, kic.OverlayImage) { + if containerRuntime != "docker" { // kic overlay image is only needed by containerd and cri-o https://github.com/kubernetes/minikube/issues/7428 + imgs = append(imgs, kic.OverlayImage) + } + + for _, img := range imgs { cmd := exec.Command("docker", "exec", profile, "docker", "pull", img) cmd.Stdout = os.Stdout cmd.Stderr = os.Stderr @@ -93,6 +97,7 @@ func generateTarball(kubernetesVersion, tarballFilename string) error { } func createImageTarball(tarballFilename string) error { + // directories to save into tarball dirs := []string{ fmt.Sprintf("./lib/docker/%s", dockerStorageDriver), "./lib/docker/image", diff --git a/hack/preload-images/preload_images.go b/hack/preload-images/preload_images.go index fcf06180d7..37bbd678e7 100644 --- a/hack/preload-images/preload_images.go +++ b/hack/preload-images/preload_images.go @@ -69,7 +69,7 @@ func main() { continue } fmt.Printf("A preloaded tarball for k8s version %s doesn't exist, generating now...\n", kv) - if err := generateTarball(kv, tf); err != nil { + if err := generateTarball(kv, cr, tf); err != nil { exit.WithError(fmt.Sprintf("generating tarball for k8s version %s with %s", kv, cr), err) } if err := uploadTarball(tf); err != nil { diff --git a/pkg/minikube/bootstrapper/kubeadm/kubeadm.go b/pkg/minikube/bootstrapper/kubeadm/kubeadm.go index 9a65e7df8c..3df6e80368 100644 --- a/pkg/minikube/bootstrapper/kubeadm/kubeadm.go +++ b/pkg/minikube/bootstrapper/kubeadm/kubeadm.go @@ -231,7 +231,8 @@ func (k *Bootstrapper) init(cfg config.ClusterConfig) error { return errors.Wrap(err, "run") } - if cfg.Driver == driver.Docker { + // this is required for containerd and cri-o runtime. till we close https://github.com/kubernetes/minikube/issues/7428 + if driver.IsKIC(cfg.Driver) && cfg.KubernetesConfig.ContainerRuntime != "docker" { if err := k.applyKicOverlay(cfg); err != nil { return errors.Wrap(err, "apply kic overlay") }