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:
@@ -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)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -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.
|
||||||
|
@@ -13,4 +13,5 @@ const (
|
|||||||
ControllersImage = "controllersImage"
|
ControllersImage = "controllersImage"
|
||||||
FlannelImage = "flannelImage"
|
FlannelImage = "flannelImage"
|
||||||
FlannelCNIImage = "flannelCNIImage"
|
FlannelCNIImage = "flannelCNIImage"
|
||||||
|
FlannelIface = "flannelIface"
|
||||||
)
|
)
|
||||||
|
Reference in New Issue
Block a user