mirror of
https://github.com/k3s-io/k3s.git
synced 2024-06-07 19:41:36 +00:00
Improve flannel logging
Signed-off-by: Manuel Buil <mbuil@suse.com>
This commit is contained in:
parent
d93c82f958
commit
7685da3e24
@ -497,9 +497,9 @@ func get(ctx context.Context, envInfo *cmds.Agent, proxy proxy.Proxy) (*config.N
|
||||
}
|
||||
|
||||
if envInfo.FlannelConf == "" {
|
||||
nodeConfig.FlannelConf = filepath.Join(envInfo.DataDir, "agent", "etc", "flannel", "net-conf.json")
|
||||
nodeConfig.FlannelConfFile = filepath.Join(envInfo.DataDir, "agent", "etc", "flannel", "net-conf.json")
|
||||
} else {
|
||||
nodeConfig.FlannelConf = envInfo.FlannelConf
|
||||
nodeConfig.FlannelConfFile = envInfo.FlannelConf
|
||||
nodeConfig.FlannelConfOverride = true
|
||||
}
|
||||
nodeConfig.AgentConfig.CNIBinDir = filepath.Dir(hostLocal)
|
||||
|
@ -89,8 +89,9 @@ func Prepare(ctx context.Context, nodeConfig *config.Node) error {
|
||||
}
|
||||
|
||||
func Run(ctx context.Context, nodeConfig *config.Node, nodes typedcorev1.NodeInterface) error {
|
||||
logrus.Infof("Starting flannel with backend %s", nodeConfig.FlannelBackend)
|
||||
if err := waitForPodCIDR(ctx, nodeConfig.AgentConfig.NodeName, nodes); err != nil {
|
||||
return errors.Wrap(err, "failed to wait for PodCIDR assignment")
|
||||
return errors.Wrap(err, "flannel failed to wait for PodCIDR assignment")
|
||||
}
|
||||
|
||||
netMode, err := findNetMode(nodeConfig.AgentConfig.ClusterCIDRs)
|
||||
@ -98,7 +99,7 @@ func Run(ctx context.Context, nodeConfig *config.Node, nodes typedcorev1.NodeInt
|
||||
return errors.Wrap(err, "failed to check netMode for flannel")
|
||||
}
|
||||
go func() {
|
||||
err := flannel(ctx, nodeConfig.FlannelIface, nodeConfig.FlannelConf, nodeConfig.AgentConfig.KubeConfigKubelet, netMode)
|
||||
err := flannel(ctx, nodeConfig.FlannelIface, nodeConfig.FlannelConfFile, nodeConfig.AgentConfig.KubeConfigKubelet, netMode)
|
||||
if err != nil && !errors.Is(err, context.Canceled) {
|
||||
logrus.Fatalf("flannel exited: %v", err)
|
||||
}
|
||||
@ -125,11 +126,12 @@ func waitForPodCIDR(ctx context.Context, nodeName string, nodes typedcorev1.Node
|
||||
break
|
||||
}
|
||||
}
|
||||
logrus.Info("PodCIDR assigned for node " + nodeName)
|
||||
logrus.Info("Flannel found PodCIDR assigned for node " + nodeName)
|
||||
return nil
|
||||
}
|
||||
|
||||
func createCNIConf(dir string) error {
|
||||
logrus.Debugf("Creating the CNI conf in directory %s", dir)
|
||||
if dir == "" {
|
||||
return nil
|
||||
}
|
||||
@ -138,11 +140,12 @@ func createCNIConf(dir string) error {
|
||||
}
|
||||
|
||||
func createFlannelConf(nodeConfig *config.Node) error {
|
||||
if nodeConfig.FlannelConf == "" {
|
||||
return nil
|
||||
logrus.Debugf("Creating the flannel configuration for backend %s in file %s", nodeConfig.FlannelBackend, nodeConfig.FlannelConfFile)
|
||||
if nodeConfig.FlannelConfFile == "" {
|
||||
return errors.New("Flannel configuration not defined")
|
||||
}
|
||||
if nodeConfig.FlannelConfOverride {
|
||||
logrus.Infof("Using custom flannel conf defined at %s", nodeConfig.FlannelConf)
|
||||
logrus.Infof("Using custom flannel conf defined at %s", nodeConfig.FlannelConfFile)
|
||||
return nil
|
||||
}
|
||||
confJSON := strings.ReplaceAll(flannelConf, "%CIDR%", nodeConfig.AgentConfig.ClusterCIDR.String())
|
||||
@ -160,7 +163,7 @@ func createFlannelConf(nodeConfig *config.Node) error {
|
||||
return err
|
||||
}
|
||||
case config.FlannelBackendWireguard:
|
||||
backendConf = strings.ReplaceAll(wireguardBackend, "%flannelConfDir%", filepath.Dir(nodeConfig.FlannelConf))
|
||||
backendConf = strings.ReplaceAll(wireguardBackend, "%flannelConfDir%", filepath.Dir(nodeConfig.FlannelConfFile))
|
||||
default:
|
||||
return fmt.Errorf("Cannot configure unknown flannel backend '%s'", nodeConfig.FlannelBackend)
|
||||
}
|
||||
@ -168,7 +171,7 @@ func createFlannelConf(nodeConfig *config.Node) error {
|
||||
|
||||
netMode, err := findNetMode(nodeConfig.AgentConfig.ClusterCIDRs)
|
||||
if err != nil {
|
||||
logrus.Fatalf("Error checking netMode")
|
||||
logrus.Fatalf("Flannel error checking netMode: %v", err)
|
||||
return err
|
||||
}
|
||||
|
||||
@ -184,7 +187,9 @@ func createFlannelConf(nodeConfig *config.Node) error {
|
||||
confJSON = strings.ReplaceAll(confJSON, "%DUALSTACK%", "false")
|
||||
confJSON = strings.ReplaceAll(confJSON, "%CIDR_IPV6%", emptyIPv6Network)
|
||||
}
|
||||
return util.WriteFile(nodeConfig.FlannelConf, confJSON)
|
||||
|
||||
logrus.Debugf("The flannel configuration is %s", confJSON)
|
||||
return util.WriteFile(nodeConfig.FlannelConfFile, confJSON)
|
||||
}
|
||||
|
||||
func setupStrongSwan(nodeConfig *config.Node) error {
|
||||
|
@ -62,7 +62,7 @@ func Test_createFlannelConf(t *testing.T) {
|
||||
var agent = config.Agent{}
|
||||
agent.ClusterCIDR = stringToCIDR(tt.args)[0]
|
||||
agent.ClusterCIDRs = stringToCIDR(tt.args)
|
||||
var nodeConfig = &config.Node{Docker: false, ContainerRuntimeEndpoint: "", NoFlannel: false, SELinux: false, FlannelBackend: "vxlan", FlannelConf: "test_file", FlannelConfOverride: false, FlannelIface: nil, Containerd: containerd, Images: "", AgentConfig: agent, Token: "", Certificate: nil, ServerHTTPSPort: 0}
|
||||
var nodeConfig = &config.Node{Docker: false, ContainerRuntimeEndpoint: "", NoFlannel: false, SELinux: false, FlannelBackend: "vxlan", FlannelConfFile: "test_file", FlannelConfOverride: false, FlannelIface: nil, Containerd: containerd, Images: "", AgentConfig: agent, Token: "", Certificate: nil, ServerHTTPSPort: 0}
|
||||
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
if err := createFlannelConf(nodeConfig); (err != nil) != tt.wantErr {
|
||||
|
@ -31,7 +31,7 @@ type Node struct {
|
||||
NoFlannel bool
|
||||
SELinux bool
|
||||
FlannelBackend string
|
||||
FlannelConf string
|
||||
FlannelConfFile string
|
||||
FlannelConfOverride bool
|
||||
FlannelIface *net.Interface
|
||||
Containerd Containerd
|
||||
|
Loading…
Reference in New Issue
Block a user