diff --git a/pkg/drivers/kic/kic.go b/pkg/drivers/kic/kic.go index c9b8c246ec..4849a3c7a6 100644 --- a/pkg/drivers/kic/kic.go +++ b/pkg/drivers/kic/kic.go @@ -93,7 +93,7 @@ func (d *Driver) Create() error { ) t := time.Now() glog.Infof("Starting creating preloaded images volume") - volumeName, err := oci.CreatePreloadedImagesVolume(d.NodeConfig.KubernetesVersion, BaseImage, viper.GetString(config.MachineProfile)) + volumeName, err := oci.CreatePreloadedImagesVolume(d.NodeConfig.KubernetesVersion, d.NodeConfig.ContainerRuntime, BaseImage, viper.GetString(config.MachineProfile)) if err != nil { glog.Infof("Unable to create preloaded images volume: %v", err) } diff --git a/pkg/drivers/kic/oci/volumes.go b/pkg/drivers/kic/oci/volumes.go index 342fe12b33..40a8c77ee2 100644 --- a/pkg/drivers/kic/oci/volumes.go +++ b/pkg/drivers/kic/oci/volumes.go @@ -92,7 +92,10 @@ func allVolumesByLabel(ociBin string, label string) ([]string, error) { // CreatePreloadedImagesVolume creates a volume with preloaded images // k8sVersion is used to name the volume and baseImage is the image that is run // to extract the preloaded images to the volume -func CreatePreloadedImagesVolume(k8sVersion, baseImage, profile string) (string, error) { +func CreatePreloadedImagesVolume(k8sVersion, cRuntime, baseImage, profile string) (string, error) { + if cRuntime != "docker" { + return "", nil + } if err := PointToHostDockerDaemon(); err != nil { return "", errors.Wrap(err, "point host docker-daemon") } diff --git a/pkg/drivers/kic/types.go b/pkg/drivers/kic/types.go index 0fd591aef3..d1e2edea6c 100644 --- a/pkg/drivers/kic/types.go +++ b/pkg/drivers/kic/types.go @@ -56,4 +56,5 @@ type Config struct { PortMappings []oci.PortMapping // container port mappings Envs map[string]string // key,value of environment variables passed to the node KubernetesVersion string // kubernetes version to install + ContainerRuntime string // container runtime kic is running } diff --git a/pkg/minikube/node/cache.go b/pkg/minikube/node/cache.go index 73d08cb9fa..da64030f62 100644 --- a/pkg/minikube/node/cache.go +++ b/pkg/minikube/node/cache.go @@ -82,7 +82,7 @@ func doCacheBinaries(k8sVersion string) error { return machine.CacheBinariesForBootstrapper(k8sVersion, viper.GetString(cmdcfg.Bootstrapper)) } -func beginDownloadKicArtifacts(g *errgroup.Group, k8sVersion string) { +func beginDownloadKicArtifacts(g *errgroup.Group, k8sVersion, cRuntime string) { glog.Info("Beginning downloading kic artifacts") g.Go(func() error { glog.Infof("Downloading %s to local daemon", kic.BaseImage) @@ -91,7 +91,7 @@ func beginDownloadKicArtifacts(g *errgroup.Group, k8sVersion string) { g.Go(func() error { glog.Info("Caching tarball of preloaded images") - return preload.CacheTarball(k8sVersion) + return preload.CacheTarball(k8sVersion, cRuntime) }) } diff --git a/pkg/minikube/node/start.go b/pkg/minikube/node/start.go index ed8cdc136f..cb6564088f 100644 --- a/pkg/minikube/node/start.go +++ b/pkg/minikube/node/start.go @@ -41,7 +41,7 @@ func Start(mc config.MachineConfig, n config.Node, primary bool, existingAddons // If not, pull images in the background while the VM boots. var kicGroup errgroup.Group if driver.IsKIC(driverName) { - beginDownloadKicArtifacts(&kicGroup, k8sVersion) + beginDownloadKicArtifacts(&kicGroup, k8sVersion, mc.KubernetesConfig.ContainerRuntime) mc.KubernetesConfig.ShouldLoadCachedImages = false } var cacheGroup errgroup.Group diff --git a/pkg/minikube/preload/preload.go b/pkg/minikube/preload/preload.go index 85181be1c4..6cb2b40580 100644 --- a/pkg/minikube/preload/preload.go +++ b/pkg/minikube/preload/preload.go @@ -66,7 +66,10 @@ func remoteTarballURL(k8sVersion string) string { } // CacheTarball caches the preloaded images tarball on the host machine -func CacheTarball(k8sVersion string) error { +func CacheTarball(k8sVersion, containerRuntime string) error { + if containerRuntime != "docker" { + return nil + } targetFilepath := TarballFilepath(k8sVersion) if _, err := os.Stat(targetFilepath); err == nil { diff --git a/pkg/minikube/registry/drvs/docker/docker.go b/pkg/minikube/registry/drvs/docker/docker.go index 69e4ab3c99..183ae783e8 100644 --- a/pkg/minikube/registry/drvs/docker/docker.go +++ b/pkg/minikube/registry/drvs/docker/docker.go @@ -53,6 +53,7 @@ func configure(mc config.MachineConfig) (interface{}, error) { OCIBinary: oci.Docker, APIServerPort: mc.Nodes[0].Port, KubernetesVersion: mc.KubernetesConfig.KubernetesVersion, + ContainerRuntime: mc.KubernetesConfig.ContainerRuntime, }), nil }