Merge pull request #9875 from sadlil/kindnet-podcidr
Fix multi node two pods getting same IP and nodespec not having PodCIDRpull/9928/head
commit
e96b05e45e
|
@ -19,6 +19,7 @@ package cmd
|
||||||
import (
|
import (
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
"github.com/spf13/viper"
|
"github.com/spf13/viper"
|
||||||
|
"k8s.io/minikube/pkg/minikube/cni"
|
||||||
"k8s.io/minikube/pkg/minikube/config"
|
"k8s.io/minikube/pkg/minikube/config"
|
||||||
"k8s.io/minikube/pkg/minikube/driver"
|
"k8s.io/minikube/pkg/minikube/driver"
|
||||||
"k8s.io/minikube/pkg/minikube/exit"
|
"k8s.io/minikube/pkg/minikube/exit"
|
||||||
|
@ -64,6 +65,10 @@ var nodeAddCmd = &cobra.Command{
|
||||||
if viper.GetString(memory) == "" {
|
if viper.GetString(memory) == "" {
|
||||||
cc.Memory = 2200
|
cc.Memory = 2200
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if !cc.MultiNodeRequested || cni.IsDisabled(*cc) {
|
||||||
|
warnAboutMultiNodeCNI()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := node.Add(cc, n, false); err != nil {
|
if err := node.Add(cc, n, false); err != nil {
|
||||||
|
|
|
@ -403,6 +403,10 @@ func warnAboutMultiNode() {
|
||||||
out.Step(style.Documentation, "To track progress on multi-node clusters, see https://github.com/kubernetes/minikube/issues/7538.")
|
out.Step(style.Documentation, "To track progress on multi-node clusters, see https://github.com/kubernetes/minikube/issues/7538.")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func warnAboutMultiNodeCNI() {
|
||||||
|
out.WarningT("Cluster was created without any CNI, adding node to it might cause broken network.")
|
||||||
|
}
|
||||||
|
|
||||||
func updateDriver(driverName string) {
|
func updateDriver(driverName string) {
|
||||||
v, err := version.GetSemverVersion()
|
v, err := version.GetSemverVersion()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
@ -347,6 +347,7 @@ func generateClusterConfig(cmd *cobra.Command, existing *config.ClusterConfig, k
|
||||||
CNI: chosenCNI,
|
CNI: chosenCNI,
|
||||||
NodePort: viper.GetInt(apiServerPort),
|
NodePort: viper.GetInt(apiServerPort),
|
||||||
},
|
},
|
||||||
|
MultiNodeRequested: viper.GetInt(nodes) > 1,
|
||||||
}
|
}
|
||||||
cc.VerifyComponents = interpretWaitFlag(*cmd)
|
cc.VerifyComponents = interpretWaitFlag(*cmd)
|
||||||
if viper.GetBool(createMount) && driver.IsKIC(drvName) {
|
if viper.GetBool(createMount) && driver.IsKIC(drvName) {
|
||||||
|
|
|
@ -57,6 +57,7 @@ etcd:
|
||||||
local:
|
local:
|
||||||
dataDir: {{.EtcdDataDir}}
|
dataDir: {{.EtcdDataDir}}
|
||||||
controllerManagerExtraArgs:
|
controllerManagerExtraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
schedulerExtraArgs:
|
schedulerExtraArgs:
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
|
|
|
@ -116,7 +116,7 @@ func GenerateKubeadmYAML(cc config.ClusterConfig, n config.Node, r cruntime.Mana
|
||||||
EtcdDataDir: EtcdDataDir(),
|
EtcdDataDir: EtcdDataDir(),
|
||||||
EtcdExtraArgs: etcdExtraArgs(k8s.ExtraOptions),
|
EtcdExtraArgs: etcdExtraArgs(k8s.ExtraOptions),
|
||||||
ClusterName: cc.Name,
|
ClusterName: cc.Name,
|
||||||
//kubeadm uses NodeName as the --hostname-override parameter, so this needs to be the name of the machine
|
// kubeadm uses NodeName as the --hostname-override parameter, so this needs to be the name of the machine
|
||||||
NodeName: KubeNodeName(cc, n),
|
NodeName: KubeNodeName(cc, n),
|
||||||
CRISocket: r.SocketPath(),
|
CRISocket: r.SocketPath(),
|
||||||
ImageRepository: k8s.ImageRepository,
|
ImageRepository: k8s.ImageRepository,
|
||||||
|
|
|
@ -29,6 +29,7 @@ etcd:
|
||||||
local:
|
local:
|
||||||
dataDir: /var/lib/minikube/etcd
|
dataDir: /var/lib/minikube/etcd
|
||||||
controllerManagerExtraArgs:
|
controllerManagerExtraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
schedulerExtraArgs:
|
schedulerExtraArgs:
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
|
|
|
@ -29,6 +29,7 @@ etcd:
|
||||||
local:
|
local:
|
||||||
dataDir: /var/lib/minikube/etcd
|
dataDir: /var/lib/minikube/etcd
|
||||||
controllerManagerExtraArgs:
|
controllerManagerExtraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
schedulerExtraArgs:
|
schedulerExtraArgs:
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
|
|
|
@ -25,6 +25,7 @@ apiServer:
|
||||||
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
|
|
@ -25,6 +25,7 @@ apiServer:
|
||||||
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
|
|
@ -25,6 +25,7 @@ apiServer:
|
||||||
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
|
|
@ -27,6 +27,7 @@ apiServer:
|
||||||
feature-gates: "a=b"
|
feature-gates: "a=b"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
feature-gates: "a=b"
|
feature-gates: "a=b"
|
||||||
kube-api-burst: "32"
|
kube-api-burst: "32"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
|
|
|
@ -25,6 +25,7 @@ apiServer:
|
||||||
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
|
|
@ -25,6 +25,7 @@ apiServer:
|
||||||
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
|
|
@ -25,6 +25,7 @@ apiServer:
|
||||||
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
|
|
@ -26,6 +26,7 @@ apiServer:
|
||||||
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
|
|
@ -26,6 +26,7 @@ apiServer:
|
||||||
fail-no-swap: "true"
|
fail-no-swap: "true"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
kube-api-burst: "32"
|
kube-api-burst: "32"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
|
|
|
@ -25,6 +25,7 @@ apiServer:
|
||||||
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
|
|
@ -25,6 +25,7 @@ apiServer:
|
||||||
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
|
|
@ -25,6 +25,7 @@ apiServer:
|
||||||
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
|
|
@ -27,6 +27,7 @@ apiServer:
|
||||||
feature-gates: "a=b"
|
feature-gates: "a=b"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
feature-gates: "a=b"
|
feature-gates: "a=b"
|
||||||
kube-api-burst: "32"
|
kube-api-burst: "32"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
|
|
|
@ -25,6 +25,7 @@ apiServer:
|
||||||
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
|
|
@ -25,6 +25,7 @@ apiServer:
|
||||||
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
|
|
@ -25,6 +25,7 @@ apiServer:
|
||||||
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
|
|
@ -26,6 +26,7 @@ apiServer:
|
||||||
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
|
|
@ -26,6 +26,7 @@ apiServer:
|
||||||
fail-no-swap: "true"
|
fail-no-swap: "true"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
kube-api-burst: "32"
|
kube-api-burst: "32"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
|
|
|
@ -25,6 +25,7 @@ apiServer:
|
||||||
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
|
|
@ -25,6 +25,7 @@ apiServer:
|
||||||
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
|
|
@ -25,6 +25,7 @@ apiServer:
|
||||||
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
|
|
@ -27,6 +27,7 @@ apiServer:
|
||||||
feature-gates: "a=b"
|
feature-gates: "a=b"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
feature-gates: "a=b"
|
feature-gates: "a=b"
|
||||||
kube-api-burst: "32"
|
kube-api-burst: "32"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
|
|
|
@ -25,6 +25,7 @@ apiServer:
|
||||||
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
|
|
@ -25,6 +25,7 @@ apiServer:
|
||||||
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
|
|
@ -25,6 +25,7 @@ apiServer:
|
||||||
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
|
|
@ -26,6 +26,7 @@ apiServer:
|
||||||
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
|
|
@ -26,6 +26,7 @@ apiServer:
|
||||||
fail-no-swap: "true"
|
fail-no-swap: "true"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
kube-api-burst: "32"
|
kube-api-burst: "32"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
|
|
|
@ -25,6 +25,7 @@ apiServer:
|
||||||
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
|
|
@ -25,6 +25,7 @@ apiServer:
|
||||||
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
|
|
@ -25,6 +25,7 @@ apiServer:
|
||||||
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
|
|
@ -27,6 +27,7 @@ apiServer:
|
||||||
feature-gates: "a=b"
|
feature-gates: "a=b"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
feature-gates: "a=b"
|
feature-gates: "a=b"
|
||||||
kube-api-burst: "32"
|
kube-api-burst: "32"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
|
|
|
@ -25,6 +25,7 @@ apiServer:
|
||||||
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
|
|
@ -25,6 +25,7 @@ apiServer:
|
||||||
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
|
|
@ -25,6 +25,7 @@ apiServer:
|
||||||
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
|
|
@ -26,6 +26,7 @@ apiServer:
|
||||||
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
|
|
@ -26,6 +26,7 @@ apiServer:
|
||||||
fail-no-swap: "true"
|
fail-no-swap: "true"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
kube-api-burst: "32"
|
kube-api-burst: "32"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
|
|
|
@ -25,6 +25,7 @@ apiServer:
|
||||||
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
|
|
@ -25,6 +25,7 @@ apiServer:
|
||||||
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
|
|
@ -25,6 +25,7 @@ apiServer:
|
||||||
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
|
|
@ -27,6 +27,7 @@ apiServer:
|
||||||
feature-gates: "a=b"
|
feature-gates: "a=b"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
feature-gates: "a=b"
|
feature-gates: "a=b"
|
||||||
kube-api-burst: "32"
|
kube-api-burst: "32"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
|
|
|
@ -25,6 +25,7 @@ apiServer:
|
||||||
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
|
|
@ -25,6 +25,7 @@ apiServer:
|
||||||
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
|
|
@ -25,6 +25,7 @@ apiServer:
|
||||||
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
|
|
@ -26,6 +26,7 @@ apiServer:
|
||||||
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
|
|
@ -26,6 +26,7 @@ apiServer:
|
||||||
fail-no-swap: "true"
|
fail-no-swap: "true"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
kube-api-burst: "32"
|
kube-api-burst: "32"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
|
|
|
@ -25,6 +25,7 @@ apiServer:
|
||||||
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
|
|
@ -25,6 +25,7 @@ apiServer:
|
||||||
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
|
|
@ -25,6 +25,7 @@ apiServer:
|
||||||
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
|
|
@ -27,6 +27,7 @@ apiServer:
|
||||||
feature-gates: "a=b"
|
feature-gates: "a=b"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
feature-gates: "a=b"
|
feature-gates: "a=b"
|
||||||
kube-api-burst: "32"
|
kube-api-burst: "32"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
|
|
|
@ -25,6 +25,7 @@ apiServer:
|
||||||
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
|
|
@ -25,6 +25,7 @@ apiServer:
|
||||||
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
|
|
@ -25,6 +25,7 @@ apiServer:
|
||||||
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
|
|
@ -26,6 +26,7 @@ apiServer:
|
||||||
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
|
|
@ -26,6 +26,7 @@ apiServer:
|
||||||
fail-no-swap: "true"
|
fail-no-swap: "true"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
kube-api-burst: "32"
|
kube-api-burst: "32"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
|
|
|
@ -25,6 +25,7 @@ apiServer:
|
||||||
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
|
|
@ -25,6 +25,7 @@ apiServer:
|
||||||
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
|
|
@ -25,6 +25,7 @@ apiServer:
|
||||||
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
|
|
@ -27,6 +27,7 @@ apiServer:
|
||||||
feature-gates: "a=b"
|
feature-gates: "a=b"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
feature-gates: "a=b"
|
feature-gates: "a=b"
|
||||||
kube-api-burst: "32"
|
kube-api-burst: "32"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
|
|
|
@ -25,6 +25,7 @@ apiServer:
|
||||||
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
|
|
@ -25,6 +25,7 @@ apiServer:
|
||||||
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
|
|
@ -25,6 +25,7 @@ apiServer:
|
||||||
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
|
|
@ -26,6 +26,7 @@ apiServer:
|
||||||
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
|
|
@ -26,6 +26,7 @@ apiServer:
|
||||||
fail-no-swap: "true"
|
fail-no-swap: "true"
|
||||||
controllerManager:
|
controllerManager:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
allocate-node-cidrs: "true"
|
||||||
kube-api-burst: "32"
|
kube-api-burst: "32"
|
||||||
leader-elect: "false"
|
leader-elect: "false"
|
||||||
scheduler:
|
scheduler:
|
||||||
|
|
|
@ -39,7 +39,6 @@ func versionIsBetween(version, gte, lte semver.Version) bool {
|
||||||
}
|
}
|
||||||
|
|
||||||
var versionSpecificOpts = []config.VersionedExtraOption{
|
var versionSpecificOpts = []config.VersionedExtraOption{
|
||||||
|
|
||||||
config.NewUnversionedOption(Kubelet, "bootstrap-kubeconfig", "/etc/kubernetes/bootstrap-kubelet.conf"),
|
config.NewUnversionedOption(Kubelet, "bootstrap-kubeconfig", "/etc/kubernetes/bootstrap-kubelet.conf"),
|
||||||
config.NewUnversionedOption(Kubelet, "config", "/var/lib/kubelet/config.yaml"),
|
config.NewUnversionedOption(Kubelet, "config", "/var/lib/kubelet/config.yaml"),
|
||||||
config.NewUnversionedOption(Kubelet, "kubeconfig", "/etc/kubernetes/kubelet.conf"),
|
config.NewUnversionedOption(Kubelet, "kubeconfig", "/etc/kubernetes/kubelet.conf"),
|
||||||
|
@ -97,6 +96,14 @@ var versionSpecificOpts = []config.VersionedExtraOption{
|
||||||
},
|
},
|
||||||
LessThanOrEqual: semver.MustParse("1.11.1000"),
|
LessThanOrEqual: semver.MustParse("1.11.1000"),
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
Option: config.ExtraOption{
|
||||||
|
Component: ControllerManager,
|
||||||
|
Key: "allocate-node-cidrs",
|
||||||
|
Value: "true",
|
||||||
|
},
|
||||||
|
GreaterThanOrEqual: semver.MustParse("1.14.0"),
|
||||||
|
},
|
||||||
{
|
{
|
||||||
Option: config.ExtraOption{
|
Option: config.ExtraOption{
|
||||||
Component: ControllerManager,
|
Component: ControllerManager,
|
||||||
|
|
|
@ -93,6 +93,21 @@ func New(cc config.ClusterConfig) (Manager, error) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func IsDisabled(cc config.ClusterConfig) bool {
|
||||||
|
if cc.KubernetesConfig.NetworkPlugin != "" && cc.KubernetesConfig.NetworkPlugin != "cni" {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
if cc.KubernetesConfig.CNI == "false" {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
if chooseDefault(cc).String() == "Disabled" {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
func chooseDefault(cc config.ClusterConfig) Manager {
|
func chooseDefault(cc config.ClusterConfig) Manager {
|
||||||
// For backwards compatibility with older profiles using --enable-default-cni
|
// For backwards compatibility with older profiles using --enable-default-cni
|
||||||
if cc.KubernetesConfig.EnableDefaultCNI {
|
if cc.KubernetesConfig.EnableDefaultCNI {
|
||||||
|
@ -109,13 +124,20 @@ func chooseDefault(cc config.ClusterConfig) Manager {
|
||||||
return Bridge{cc: cc}
|
return Bridge{cc: cc}
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(cc.Nodes) > 1 {
|
if driver.BareMetal(cc.Driver) {
|
||||||
|
klog.Infof("Driver %s used, CNI unnecessary in this configuration, recommending no CNI", cc.Driver)
|
||||||
|
return Disabled{cc: cc}
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(cc.Nodes) > 1 || cc.MultiNodeRequested {
|
||||||
|
// Enables KindNet CNI in master in multi node cluster, This solves the network problem
|
||||||
|
// inside pod for multi node clusters. See https://github.com/kubernetes/minikube/issues/9838.
|
||||||
klog.Infof("%d nodes found, recommending kindnet", len(cc.Nodes))
|
klog.Infof("%d nodes found, recommending kindnet", len(cc.Nodes))
|
||||||
return KindNet{cc: cc}
|
return KindNet{cc: cc}
|
||||||
}
|
}
|
||||||
|
|
||||||
klog.Infof("CNI unnecessary in this configuration, recommending no CNI")
|
klog.Infof("CNI unnecessary in this configuration, recommending no CNI")
|
||||||
return Disabled{}
|
return Disabled{cc: cc}
|
||||||
}
|
}
|
||||||
|
|
||||||
// manifestPath returns the path to the CNI manifest
|
// manifestPath returns the path to the CNI manifest
|
||||||
|
|
|
@ -47,5 +47,6 @@ func (c Disabled) Apply(r Runner) error {
|
||||||
|
|
||||||
// CIDR returns the default CIDR used by this CNI
|
// CIDR returns the default CIDR used by this CNI
|
||||||
func (c Disabled) CIDR() string {
|
func (c Disabled) CIDR() string {
|
||||||
return ""
|
// Even without any CNI we want our nodes to have spec.PodCIDR set.
|
||||||
|
return DefaultPodCIDR
|
||||||
}
|
}
|
||||||
|
|
|
@ -73,6 +73,7 @@ type ClusterConfig struct {
|
||||||
StartHostTimeout time.Duration
|
StartHostTimeout time.Duration
|
||||||
ScheduledStop *ScheduledStopConfig
|
ScheduledStop *ScheduledStopConfig
|
||||||
ExposedPorts []string // Only used by the docker and podman driver
|
ExposedPorts []string // Only used by the docker and podman driver
|
||||||
|
MultiNodeRequested bool
|
||||||
}
|
}
|
||||||
|
|
||||||
// KubernetesConfig contains the parameters used to configure the VM Kubernetes.
|
// KubernetesConfig contains the parameters used to configure the VM Kubernetes.
|
||||||
|
|
Loading…
Reference in New Issue