be smarter about allocating memory for multinode clusters
parent
f33de7fd11
commit
e61a18cbaa
|
|
@ -18,6 +18,7 @@ package cmd
|
|||
|
||||
import (
|
||||
"github.com/spf13/cobra"
|
||||
"github.com/spf13/viper"
|
||||
"k8s.io/minikube/pkg/minikube/config"
|
||||
"k8s.io/minikube/pkg/minikube/driver"
|
||||
"k8s.io/minikube/pkg/minikube/exit"
|
||||
|
|
@ -54,6 +55,11 @@ var nodeAddCmd = &cobra.Command{
|
|||
KubernetesVersion: cc.KubernetesConfig.KubernetesVersion,
|
||||
}
|
||||
|
||||
// Make sure to decrease the default amount of memory we use per VM if this is the first worker node
|
||||
if len(cc.Nodes) == 1 && viper.GetString(memory) == "" {
|
||||
cc.Memory = 2200
|
||||
}
|
||||
|
||||
if err := node.Add(cc, n); err != nil {
|
||||
_, err := maybeDeleteAndRetry(*cc, n, nil, err)
|
||||
if err != nil {
|
||||
|
|
|
|||
|
|
@ -737,6 +737,10 @@ func suggestMemoryAllocation(sysLimit int, containerLimit int) int {
|
|||
// Suggest 25% of RAM, rounded to nearest 100MB. Hyper-V requires an even number!
|
||||
suggested := int(float32(sysLimit)/400.0) * 100
|
||||
|
||||
if nodes := viper.GetInt(nodes); nodes > 1 {
|
||||
suggested = suggested / nodes
|
||||
}
|
||||
|
||||
if suggested > maximum {
|
||||
return maximum
|
||||
}
|
||||
|
|
|
|||
|
|
@ -239,7 +239,8 @@ func configureRuntimes(runner cruntime.CommandRunner, cc config.ClusterConfig, k
|
|||
disableOthers = false
|
||||
}
|
||||
|
||||
// Preload is overly invasive for bare metal, and caching is not meaningful. KIC handled elsewhere.
|
||||
// Preload is overly invasive for bare metal, and caching is not meaningful.
|
||||
// KIC handles preload elsewhere.
|
||||
if driver.IsVM(cc.Driver) {
|
||||
if err := cr.Preload(cc.KubernetesConfig); err != nil {
|
||||
switch err.(type) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue