exit if required cri-dockerd/dockerd are not found

pull/14555/head
klaases 2022-07-22 21:34:20 +00:00
parent 1ec4a14acd
commit 237e21b530
1 changed files with 18 additions and 0 deletions

View File

@ -28,6 +28,7 @@ import (
"strings"
"time"
"github.com/blang/semver"
"github.com/docker/machine/libmachine"
"github.com/docker/machine/libmachine/drivers"
"github.com/docker/machine/libmachine/engine"
@ -313,6 +314,23 @@ func postStartSetup(h *host.Host, mc config.ClusterConfig) error {
return nil
}
if driver.IsNone(h.DriverName) {
// If Kubernetes version >= 1.24, require both cri-dockerd and dockerd.
k8sVer, err := semver.ParseTolerant(mc.KubernetesConfig.KubernetesVersion)
if err != nil {
klog.Errorf("unable to parse Kubernetes version: %s", mc.KubernetesConfig.KubernetesVersion)
return err
}
if k8sVer.GTE(semver.Version{Major: 1, Minor: 24}) {
if _, err := exec.LookPath("cri-dockerd"); err != nil {
exit.Message(reason.NotFoundCriDockerD, "")
}
if _, err := exec.LookPath("dockerd"); err != nil {
exit.Message(reason.NotFoundDockerD, "")
}
}
}
klog.Infof("creating required directories: %v", requiredDirectories)
r, err := CommandRunner(h)