1
0
mirror of https://github.com/rancher/rke.git synced 2025-09-01 15:06:23 +00:00

Add iface option to flannel

This commit is contained in:
galal-hussein
2017-12-12 18:14:18 +02:00
parent b460098db8
commit afa3a41614
3 changed files with 20 additions and 6 deletions

View File

@@ -15,6 +15,7 @@ const (
FlannelNetworkPlugin = "flannel"
FlannelImage = "flannel_image"
FlannelCNIImage = "flannel_cni_image"
FlannelIface = "flannel_iface"
CalicoNetworkPlugin = "calico"
CalicoNodeImage = "calico_node_image"
@@ -48,7 +49,13 @@ func (c *Cluster) DeployNetworkPlugin() error {
}
func (c *Cluster) doFlannelDeploy() error {
pluginYaml := network.GetFlannelManifest(c.ClusterCIDR, c.Network.Options[FlannelImage], c.Network.Options[FlannelCNIImage])
flannelConfig := map[string]string{
network.ClusterCIDR: c.ClusterCIDR,
network.FlannelImage: c.Network.Options[FlannelImage],
network.FlannelCNIImage: c.Network.Options[FlannelCNIImage],
network.FlannelIface: c.Network.Options[FlannelIface],
}
pluginYaml := network.GetFlannelManifest(flannelConfig)
return c.doAddonDeploy(pluginYaml, NetworkPluginResourceName)
}

View File

@@ -1,6 +1,12 @@
package network
func GetFlannelManifest(clusterCIDR, image, cniImage string) string {
import "fmt"
func GetFlannelManifest(flannelConfig map[string]string) string {
var extraArgs string
if len(flannelConfig[FlannelIface]) > 0 {
extraArgs = fmt.Sprintf(",--iface=%s", flannelConfig[FlannelIface])
}
return `
---
kind: ConfigMap
@@ -34,7 +40,7 @@ data:
}
net-conf.json: |
{
"Network": "` + clusterCIDR + `",
"Network": "` + flannelConfig[ClusterCIDR] + `",
"Backend": {
"Type": "vxlan"
}
@@ -57,7 +63,7 @@ spec:
spec:
containers:
- name: kube-flannel
image: ` + image + `
image: ` + flannelConfig[FlannelImage] + `
imagePullPolicy: IfNotPresent
resources:
limits:
@@ -66,7 +72,7 @@ spec:
requests:
cpu: 150m
memory: 64M
command: [ "/opt/bin/flanneld", "--ip-masq", "--kube-subnet-mgr" ]
command: ["/opt/bin/flanneld","--ip-masq","--kube-subnet-mgr"` + extraArgs + `]
securityContext:
privileged: true
env:
@@ -86,7 +92,7 @@ spec:
- name: flannel-cfg
mountPath: /etc/kube-flannel/
- name: install-cni
image: ` + cniImage + `
image: ` + flannelConfig[FlannelCNIImage] + `
command: ["/install-cni.sh"]
env:
# The CNI network config to install on each node.

View File

@@ -13,4 +13,5 @@ const (
ControllersImage = "controllersImage"
FlannelImage = "flannelImage"
FlannelCNIImage = "flannelCNIImage"
FlannelIface = "flannelIface"
)