mirror of https://github.com/k3s-io/k3s
Add flannel-external-ip when there is a k3s node-external-ip
Signed-off-by: Manuel Buil <mbuil@suse.com>pull/6189/head
parent
a8e0c66d1a
commit
0be4ef9213
|
@ -40,13 +40,19 @@ const (
|
||||||
subnetFile = "/run/flannel/subnet.env"
|
subnetFile = "/run/flannel/subnet.env"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
FlannelBaseAnnotation = "flannel.alpha.coreos.com"
|
||||||
|
FlannelExternalIPv4Annotation = FlannelBaseAnnotation + "/public-ip-overwrite"
|
||||||
|
FlannelExternalIPv6Annotation = FlannelBaseAnnotation + "/public-ipv6-overwrite"
|
||||||
|
)
|
||||||
|
|
||||||
func flannel(ctx context.Context, flannelIface *net.Interface, flannelConf, kubeConfigFile string, flannelIPv6Masq bool, netMode int) error {
|
func flannel(ctx context.Context, flannelIface *net.Interface, flannelConf, kubeConfigFile string, flannelIPv6Masq bool, netMode int) error {
|
||||||
extIface, err := LookupExtInterface(flannelIface, netMode)
|
extIface, err := LookupExtInterface(flannelIface, netMode)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
sm, err := kube.NewSubnetManager(ctx, "", kubeConfigFile, "flannel.alpha.coreos.com", flannelConf, false)
|
sm, err := kube.NewSubnetManager(ctx, "", kubeConfigFile, FlannelBaseAnnotation, flannelConf, false)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
|
@ -399,6 +399,7 @@ func updateLegacyAddressLabels(agentConfig *daemonconfig.Agent, nodeLabels map[s
|
||||||
return nil, false
|
return nil, false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// updateAddressAnnotations updates the node annotations with important information about IP addresses of the node
|
||||||
func updateAddressAnnotations(agentConfig *daemonconfig.Agent, nodeAnnotations map[string]string) (map[string]string, bool) {
|
func updateAddressAnnotations(agentConfig *daemonconfig.Agent, nodeAnnotations map[string]string) (map[string]string, bool) {
|
||||||
result := map[string]string{
|
result := map[string]string{
|
||||||
cp.InternalIPKey: util.JoinIPs(agentConfig.NodeIPs),
|
cp.InternalIPKey: util.JoinIPs(agentConfig.NodeIPs),
|
||||||
|
@ -407,6 +408,14 @@ func updateAddressAnnotations(agentConfig *daemonconfig.Agent, nodeAnnotations m
|
||||||
|
|
||||||
if agentConfig.NodeExternalIP != "" {
|
if agentConfig.NodeExternalIP != "" {
|
||||||
result[cp.ExternalIPKey] = util.JoinIPs(agentConfig.NodeExternalIPs)
|
result[cp.ExternalIPKey] = util.JoinIPs(agentConfig.NodeExternalIPs)
|
||||||
|
for _, ipAddress := range agentConfig.NodeExternalIPs {
|
||||||
|
if utilsnet.IsIPv4(ipAddress) {
|
||||||
|
result[flannel.FlannelExternalIPv4Annotation] = ipAddress.String()
|
||||||
|
}
|
||||||
|
if utilsnet.IsIPv6(ipAddress) {
|
||||||
|
result[flannel.FlannelExternalIPv6Annotation] = ipAddress.String()
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
result = labels.Merge(nodeAnnotations, result)
|
result = labels.Merge(nodeAnnotations, result)
|
||||||
|
|
Loading…
Reference in New Issue