Merge pull request #97764 from pacoxu/fix/windows-cgroup

kubeadm should ignore cgroup driver check on Windows node
This commit is contained in:
Kubernetes Prow Robot 2021-01-19 22:18:11 -08:00 committed by GitHub
commit cff7d7ba0a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -24,6 +24,7 @@ import (
"net/http" "net/http"
"path" "path"
"path/filepath" "path/filepath"
"runtime"
"sync" "sync"
"time" "time"
@ -254,24 +255,28 @@ func NewDockerService(config *ClientConfig, podSandboxImage string, streamingCon
ds.network = network.NewPluginManager(plug) ds.network = network.NewPluginManager(plug)
klog.Infof("Docker cri networking managed by %v", plug.Name()) klog.Infof("Docker cri networking managed by %v", plug.Name())
// NOTE: cgroup driver is only detectable in docker 1.11+ // skipping cgroup driver checks for Windows
cgroupDriver := defaultCgroupDriver if runtime.GOOS == "linux" {
dockerInfo, err := ds.client.Info() // NOTE: cgroup driver is only detectable in docker 1.11+
klog.Infof("Docker Info: %+v", dockerInfo) cgroupDriver := defaultCgroupDriver
if err != nil { dockerInfo, err := ds.client.Info()
klog.Errorf("Failed to execute Info() call to the Docker client: %v", err) klog.Infof("Docker Info: %+v", dockerInfo)
klog.Warningf("Falling back to use the default driver: %q", cgroupDriver) if err != nil {
} else if len(dockerInfo.CgroupDriver) == 0 { klog.Errorf("Failed to execute Info() call to the Docker client: %v", err)
klog.Warningf("No cgroup driver is set in Docker") klog.Warningf("Falling back to use the default driver: %q", cgroupDriver)
klog.Warningf("Falling back to use the default driver: %q", cgroupDriver) } else if len(dockerInfo.CgroupDriver) == 0 {
} else { klog.Warningf("No cgroup driver is set in Docker")
cgroupDriver = dockerInfo.CgroupDriver klog.Warningf("Falling back to use the default driver: %q", cgroupDriver)
} else {
cgroupDriver = dockerInfo.CgroupDriver
}
if len(kubeCgroupDriver) != 0 && kubeCgroupDriver != cgroupDriver {
return nil, fmt.Errorf("misconfiguration: kubelet cgroup driver: %q is different from docker cgroup driver: %q", kubeCgroupDriver, cgroupDriver)
}
klog.Infof("Setting cgroupDriver to %s", cgroupDriver)
ds.cgroupDriver = cgroupDriver
} }
if len(kubeCgroupDriver) != 0 && kubeCgroupDriver != cgroupDriver {
return nil, fmt.Errorf("misconfiguration: kubelet cgroup driver: %q is different from docker cgroup driver: %q", kubeCgroupDriver, cgroupDriver)
}
klog.Infof("Setting cgroupDriver to %s", cgroupDriver)
ds.cgroupDriver = cgroupDriver
ds.versionCache = cache.NewObjectCache( ds.versionCache = cache.NewObjectCache(
func() (interface{}, error) { func() (interface{}, error) {
return ds.getDockerVersion() return ds.getDockerVersion()