Add healthChecker to the kubeDeps

This commit is contained in:
zhangzhifei16
2025-06-10 21:11:55 +08:00
parent 4a7e68a355
commit 0a86ca4061
4 changed files with 10 additions and 16 deletions

View File

@@ -604,14 +604,14 @@ func getReservedCPUs(machineInfo *cadvisorapi.MachineInfo, cpus string) (cpuset.
}
func run(ctx context.Context, s *options.KubeletServer, kubeDeps *kubelet.Dependencies, featureGate featuregate.FeatureGate) (err error) {
var healthChecker watchdog.HealthChecker
if utilfeature.DefaultFeatureGate.Enabled(features.SystemdWatchdog) {
// NewHealthChecker returns an error indicating that the watchdog is configured but the configuration is incorrect,
// the kubelet will not be started.
healthChecker, err = watchdog.NewHealthChecker()
healthChecker, err := watchdog.NewHealthChecker()
if err != nil {
return fmt.Errorf("create health checker: %w", err)
}
kubeDeps.HealthChecker = healthChecker
healthChecker.Start(ctx)
}
@@ -903,7 +903,7 @@ func run(ctx context.Context, s *options.KubeletServer, kubeDeps *kubelet.Depend
klog.InfoS("Failed to ApplyOOMScoreAdj", "err", err)
}
if err := RunKubelet(ctx, s, kubeDeps, healthChecker); err != nil {
if err := RunKubelet(ctx, s, kubeDeps); err != nil {
return err
}
@@ -1208,7 +1208,7 @@ func setContentTypeForClient(cfg *restclient.Config, contentType string) {
// 3 Standalone 'kubernetes' binary
//
// Eventually, #2 will be replaced with instances of #3
func RunKubelet(ctx context.Context, kubeServer *options.KubeletServer, kubeDeps *kubelet.Dependencies, healthChecker watchdog.HealthChecker) error {
func RunKubelet(ctx context.Context, kubeServer *options.KubeletServer, kubeDeps *kubelet.Dependencies) error {
hostname, err := nodeutil.GetHostname(kubeServer.HostnameOverride)
if err != nil {
return err
@@ -1240,9 +1240,7 @@ func RunKubelet(ctx context.Context, kubeServer *options.KubeletServer, kubeDeps
kubeDeps,
hostname,
nodeName,
nodeIPs,
healthChecker,
)
nodeIPs)
if err != nil {
return fmt.Errorf("failed to create kubelet: %w", err)
}
@@ -1282,9 +1280,7 @@ func createAndInitKubelet(kubeServer *options.KubeletServer,
kubeDeps *kubelet.Dependencies,
hostname string,
nodeName types.NodeName,
nodeIPs []net.IP,
healthChecker watchdog.HealthChecker,
) (k kubelet.Bootstrap, err error) {
nodeIPs []net.IP) (k kubelet.Bootstrap, err error) {
// TODO: block until all sources have delivered at least one update to the channel, or break the sync loop
// up into "per source" synchronizations
@@ -1313,8 +1309,7 @@ func createAndInitKubelet(kubeServer *options.KubeletServer,
kubeServer.RegisterSchedulable,
kubeServer.NodeLabels,
kubeServer.NodeStatusMaxImages,
kubeServer.KubeletFlags.SeccompDefault || kubeServer.KubeletConfiguration.SeccompDefault,
healthChecker)
kubeServer.KubeletFlags.SeccompDefault || kubeServer.KubeletConfiguration.SeccompDefault)
if err != nil {
return nil, err
}