1
0
mirror of https://github.com/rancher/rke.git synced 2025-09-03 07:54:14 +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" FlannelNetworkPlugin = "flannel"
FlannelImage = "flannel_image" FlannelImage = "flannel_image"
FlannelCNIImage = "flannel_cni_image" FlannelCNIImage = "flannel_cni_image"
FlannelIface = "flannel_iface"
CalicoNetworkPlugin = "calico" CalicoNetworkPlugin = "calico"
CalicoNodeImage = "calico_node_image" CalicoNodeImage = "calico_node_image"
@@ -48,7 +49,13 @@ func (c *Cluster) DeployNetworkPlugin() error {
} }
func (c *Cluster) doFlannelDeploy() 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) return c.doAddonDeploy(pluginYaml, NetworkPluginResourceName)
} }

View File

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

View File

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