mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-09 20:17:41 +00:00
Ensure ControllerManagerExtraArgs take precedence over generated args
This commit is contained in:
parent
cc195d779a
commit
6fbf2da60b
@ -157,10 +157,6 @@ type Networking struct {
|
|||||||
PodSubnet string
|
PodSubnet string
|
||||||
// DNSDomain is the dns domain used by k8s services. Defaults to "cluster.local".
|
// DNSDomain is the dns domain used by k8s services. Defaults to "cluster.local".
|
||||||
DNSDomain string
|
DNSDomain string
|
||||||
// NodeCIDRMaskSize is the size of the Pod subnet allocated to each node. Only
|
|
||||||
// applies when PodSubnet is also specified. Defaults to "24" for IPv4 or a
|
|
||||||
// calculated subset of an IPv6 PodSubnet.
|
|
||||||
NodeCIDRMaskSize string
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Etcd contains elements describing Etcd configuration.
|
// Etcd contains elements describing Etcd configuration.
|
||||||
|
@ -321,28 +321,27 @@ func getControllerManagerCommand(cfg *kubeadmapi.MasterConfiguration, k8sVersion
|
|||||||
defaultArguments["cluster-signing-cert-file"] = ""
|
defaultArguments["cluster-signing-cert-file"] = ""
|
||||||
}
|
}
|
||||||
|
|
||||||
command := []string{"kube-controller-manager"}
|
|
||||||
command = append(command, kubeadmutil.BuildArgumentListFromMap(defaultArguments, cfg.ControllerManagerExtraArgs)...)
|
|
||||||
|
|
||||||
if cfg.CloudProvider != "" {
|
if cfg.CloudProvider != "" {
|
||||||
command = append(command, "--cloud-provider="+cfg.CloudProvider)
|
defaultArguments["cloud-provider"] = cfg.CloudProvider
|
||||||
|
|
||||||
// Only append the --cloud-config option if there's a such file
|
// Only append the --cloud-config option if there's a such file
|
||||||
if _, err := os.Stat(DefaultCloudConfigPath); err == nil {
|
if _, err := os.Stat(DefaultCloudConfigPath); err == nil {
|
||||||
command = append(command, "--cloud-config="+DefaultCloudConfigPath)
|
defaultArguments["cloud-config"] = DefaultCloudConfigPath
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Let the controller-manager allocate Node CIDRs for the Pod network.
|
// Let the controller-manager allocate Node CIDRs for the Pod network.
|
||||||
// Each node will get a subspace of the address CIDR provided with --pod-network-cidr.
|
// Each node will get a subspace of the address CIDR provided with --pod-network-cidr.
|
||||||
if cfg.Networking.PodSubnet != "" {
|
if cfg.Networking.PodSubnet != "" {
|
||||||
maskSize := cfg.Networking.NodeCIDRMaskSize
|
maskSize := calcNodeCidrSize(cfg.Networking.PodSubnet)
|
||||||
if maskSize == "" {
|
defaultArguments["allocate-node-cidrs"] = "true"
|
||||||
maskSize = calcNodeCidrSize(cfg.Networking.PodSubnet)
|
defaultArguments["cluster-cidr"] = cfg.Networking.PodSubnet
|
||||||
}
|
defaultArguments["node-cidr-mask-size"] = maskSize
|
||||||
command = append(command, "--allocate-node-cidrs=true", "--cluster-cidr="+cfg.Networking.PodSubnet,
|
|
||||||
"--node-cidr-mask-size="+maskSize)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
command := []string{"kube-controller-manager"}
|
||||||
|
command = append(command, kubeadmutil.BuildArgumentListFromMap(defaultArguments, cfg.ControllerManagerExtraArgs)...)
|
||||||
|
|
||||||
return command
|
return command
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -776,9 +776,10 @@ func TestGetControllerManagerCommand(t *testing.T) {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
cfg: &kubeadmapi.MasterConfiguration{
|
cfg: &kubeadmapi.MasterConfiguration{
|
||||||
Networking: kubeadmapi.Networking{PodSubnet: "10.0.1.15/16", NodeCIDRMaskSize: "20"},
|
Networking: kubeadmapi.Networking{PodSubnet: "10.0.1.15/16"},
|
||||||
CertificatesDir: testCertsDir,
|
ControllerManagerExtraArgs: map[string]string{"node-cidr-mask-size": "20"},
|
||||||
KubernetesVersion: "v1.7.0",
|
CertificatesDir: testCertsDir,
|
||||||
|
KubernetesVersion: "v1.7.0",
|
||||||
},
|
},
|
||||||
expected: []string{
|
expected: []string{
|
||||||
"kube-controller-manager",
|
"kube-controller-manager",
|
||||||
|
Loading…
Reference in New Issue
Block a user