mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-10-31 18:28:13 +00:00 
			
		
		
		
	sync CNI config in goroutine
This commit is contained in:
		| @@ -20,6 +20,7 @@ go_library( | ||||
|         "//pkg/kubelet/container:go_default_library", | ||||
|         "//pkg/kubelet/dockershim/network:go_default_library", | ||||
|         "//pkg/util/bandwidth:go_default_library", | ||||
|         "//staging/src/k8s.io/apimachinery/pkg/util/wait:go_default_library", | ||||
|         "//vendor/github.com/containernetworking/cni/libcni:go_default_library", | ||||
|         "//vendor/github.com/containernetworking/cni/pkg/types:go_default_library", | ||||
|         "//vendor/k8s.io/klog:go_default_library", | ||||
|   | ||||
| @@ -24,9 +24,11 @@ import ( | ||||
| 	"sort" | ||||
| 	"strings" | ||||
| 	"sync" | ||||
| 	"time" | ||||
|  | ||||
| 	"github.com/containernetworking/cni/libcni" | ||||
| 	cnitypes "github.com/containernetworking/cni/pkg/types" | ||||
| 	"k8s.io/apimachinery/pkg/util/wait" | ||||
| 	"k8s.io/klog" | ||||
| 	kubeletconfig "k8s.io/kubernetes/pkg/kubelet/apis/config" | ||||
| 	runtimeapi "k8s.io/kubernetes/pkg/kubelet/apis/cri/runtime/v1alpha2" | ||||
| @@ -38,6 +40,10 @@ import ( | ||||
|  | ||||
| const ( | ||||
| 	CNIPluginName = "cni" | ||||
|  | ||||
| 	// defaultSyncConfigPeriod is the default period to sync CNI config | ||||
| 	// TODO: consider making this value configurable or to be a more appropriate value. | ||||
| 	defaultSyncConfigPeriod = time.Second * 5 | ||||
| ) | ||||
|  | ||||
| type cniNetworkPlugin struct { | ||||
| @@ -194,6 +200,10 @@ func (plugin *cniNetworkPlugin) Init(host network.Host, hairpinMode kubeletconfi | ||||
| 	plugin.host = host | ||||
|  | ||||
| 	plugin.syncNetworkConfig() | ||||
|  | ||||
| 	// start a goroutine to sync network config from confDir periodically to detect network config updates in every 5 seconds | ||||
| 	go wait.Forever(plugin.syncNetworkConfig, defaultSyncConfigPeriod) | ||||
|  | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| @@ -264,9 +274,6 @@ func (plugin *cniNetworkPlugin) Name() string { | ||||
| } | ||||
|  | ||||
| func (plugin *cniNetworkPlugin) Status() error { | ||||
| 	// sync network config from confDir periodically to detect network config updates | ||||
| 	plugin.syncNetworkConfig() | ||||
|  | ||||
| 	// Can't set up pods if we don't have any CNI network configs yet | ||||
| 	return plugin.checkInitialized() | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 chenjun.cj
					chenjun.cj