From ca9e84212e6c9db0aa6c7bec7a430d40fdf6bcbc Mon Sep 17 00:00:00 2001 From: Forest-L Date: Tue, 29 Sep 2020 15:46:04 +0800 Subject: [PATCH] Add the exposure of the flannel parameter Signed-off-by: Forest-L --- api/v1alpha1/default.go | 4 ++++ api/v1alpha1/network_types.go | 13 +++++++++---- pkg/plugins/network/flannel/tmpl.go | 3 ++- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/api/v1alpha1/default.go b/api/v1alpha1/default.go index 29adc99e..f0a048c0 100644 --- a/api/v1alpha1/default.go +++ b/api/v1alpha1/default.go @@ -45,6 +45,7 @@ const ( DefaultIPIPMode = "Always" DefaultVXLANMode = "Never" DefaultVethMTU = "1440" + DefaultBackendMode = "vxlan" DefaultProxyMode = "ipvs" Etcd = "etcd" Master = "master" @@ -156,6 +157,9 @@ func SetDefaultNetworkCfg(cfg *ClusterSpec) NetworkConfig { if cfg.Network.Calico.VethMTU == "" { cfg.Network.Calico.VethMTU = DefaultVethMTU } + if cfg.Network.Flannel.BackendMode == "" { + cfg.Network.Flannel.BackendMode = DefaultBackendMode + } defaultNetworkCfg := cfg.Network return defaultNetworkCfg diff --git a/api/v1alpha1/network_types.go b/api/v1alpha1/network_types.go index 111fdc81..d1bcfc6b 100644 --- a/api/v1alpha1/network_types.go +++ b/api/v1alpha1/network_types.go @@ -17,10 +17,11 @@ limitations under the License. package v1alpha1 type NetworkConfig struct { - Plugin string `yaml:"plugin" json:"plugin,omitempty"` - KubePodsCIDR string `yaml:"kubePodsCIDR" json:"kubePodsCIDR,omitempty"` - KubeServiceCIDR string `yaml:"kubeServiceCIDR" json:"kubeServiceCIDR,omitempty"` - Calico CalicoCfg `yaml:"calico" json:"calico,omitempty"` + Plugin string `yaml:"plugin" json:"plugin,omitempty"` + KubePodsCIDR string `yaml:"kubePodsCIDR" json:"kubePodsCIDR,omitempty"` + KubeServiceCIDR string `yaml:"kubeServiceCIDR" json:"kubeServiceCIDR,omitempty"` + Calico CalicoCfg `yaml:"calico" json:"calico,omitempty"` + Flannel FlannelCfg `yaml:"flannel" json:"flannel,omitempty"` } type CalicoCfg struct { @@ -28,3 +29,7 @@ type CalicoCfg struct { VXLANMode string `yaml:"vxlanMode" json:"vxlanMode,omitempty"` VethMTU string `yaml:"vethMTU" json:"vethMTU,omitempty"` } + +type FlannelCfg struct { + BackendMode string `yaml:"backendMode" json:"backendMode,omitempty"` +} diff --git a/pkg/plugins/network/flannel/tmpl.go b/pkg/plugins/network/flannel/tmpl.go index 85a9e53a..77ad4772 100644 --- a/pkg/plugins/network/flannel/tmpl.go +++ b/pkg/plugins/network/flannel/tmpl.go @@ -154,7 +154,7 @@ data: { "Network": "{{ .KubePodsCIDR }}", "Backend": { - "Type": "vxlan" + "Type": "{{ .BackendMode }}" } } --- @@ -254,5 +254,6 @@ func GenerateFlannelFiles(mgr *manager.Manager) (string, error) { return util.Render(flannelTempl, util.Data{ "KubePodsCIDR": mgr.Cluster.Network.KubePodsCIDR, "FlannelImage": preinstall.GetImage(mgr, "flannel").ImageName(), + "BackendMode": mgr.Cluster.Network.Flannel.BackendMode, }) }