Merge pull request #93931 from SataQiu/fix-kubelet-swap-20200812

kubelet: assume that swap is disabled when /proc/swaps does not exist
This commit is contained in:
Kubernetes Prow Robot 2020-09-11 04:20:14 -07:00 committed by GitHub
commit 119c94214c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -215,17 +215,23 @@ func NewContainerManager(mountUtil mount.Interface, cadvisorInterface cadvisor.I
if failSwapOn { if failSwapOn {
// Check whether swap is enabled. The Kubelet does not support running with swap enabled. // Check whether swap is enabled. The Kubelet does not support running with swap enabled.
swapData, err := ioutil.ReadFile("/proc/swaps") swapFile := "/proc/swaps"
swapData, err := ioutil.ReadFile(swapFile)
if err != nil { if err != nil {
return nil, err if os.IsNotExist(err) {
} klog.Warningf("file %v does not exist, assuming that swap is disabled", swapFile)
swapData = bytes.TrimSpace(swapData) // extra trailing \n } else {
swapLines := strings.Split(string(swapData), "\n") return nil, err
}
} else {
swapData = bytes.TrimSpace(swapData) // extra trailing \n
swapLines := strings.Split(string(swapData), "\n")
// If there is more than one line (table headers) in /proc/swaps, swap is enabled and we should // If there is more than one line (table headers) in /proc/swaps, swap is enabled and we should
// error out unless --fail-swap-on is set to false. // error out unless --fail-swap-on is set to false.
if len(swapLines) > 1 { if len(swapLines) > 1 {
return nil, fmt.Errorf("running with swap on is not supported, please disable swap! or set --fail-swap-on flag to false. /proc/swaps contained: %v", swapLines) return nil, fmt.Errorf("running with swap on is not supported, please disable swap! or set --fail-swap-on flag to false. /proc/swaps contained: %v", swapLines)
}
} }
} }