mirror of
https://github.com/outbackdingo/kubernetes.git
synced 2026-01-27 18:19:28 +00:00
Add healthChecker to the kubeDeps
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
@@ -321,6 +321,7 @@ type Dependencies struct {
|
||||
RemoteImageService internalapi.ImageManagerService
|
||||
PodStartupLatencyTracker util.PodStartupLatencyTracker
|
||||
NodeStartupLatencyTracker util.NodeStartupLatencyTracker
|
||||
HealthChecker watchdog.HealthChecker
|
||||
// remove it after cadvisor.UsingLegacyCadvisorStats dropped.
|
||||
useLegacyCadvisorStats bool
|
||||
}
|
||||
@@ -437,7 +438,6 @@ func NewMainKubelet(kubeCfg *kubeletconfiginternal.KubeletConfiguration,
|
||||
nodeLabels map[string]string,
|
||||
nodeStatusMaxImages int32,
|
||||
seccompDefault bool,
|
||||
healthChecker watchdog.HealthChecker,
|
||||
) (*Kubelet, error) {
|
||||
ctx := context.Background()
|
||||
logger := klog.TODO()
|
||||
@@ -640,7 +640,7 @@ func NewMainKubelet(kubeCfg *kubeletconfiginternal.KubeletConfiguration,
|
||||
nodeStatusMaxImages: nodeStatusMaxImages,
|
||||
tracer: tracer,
|
||||
nodeStartupLatencyTracker: kubeDeps.NodeStartupLatencyTracker,
|
||||
healthChecker: healthChecker,
|
||||
healthChecker: kubeDeps.HealthChecker,
|
||||
flagz: kubeDeps.Flagz,
|
||||
}
|
||||
|
||||
|
||||
@@ -3622,7 +3622,6 @@ func TestNewMainKubeletStandAlone(t *testing.T) {
|
||||
map[string]string{},
|
||||
1024,
|
||||
false,
|
||||
nil,
|
||||
)
|
||||
assert.NoError(t, err, "NewMainKubelet should succeed")
|
||||
assert.NotNil(t, testMainKubelet, "testMainKubelet should not be nil")
|
||||
|
||||
@@ -126,7 +126,7 @@ func (hk *HollowKubelet) Run(ctx context.Context) {
|
||||
if err := kubeletapp.RunKubelet(ctx, &options.KubeletServer{
|
||||
KubeletFlags: *hk.KubeletFlags,
|
||||
KubeletConfiguration: *hk.KubeletConfiguration,
|
||||
}, hk.KubeletDeps, nil); err != nil {
|
||||
}, hk.KubeletDeps); err != nil {
|
||||
klog.Fatalf("Failed to run HollowKubelet: %v. Exiting.", err)
|
||||
}
|
||||
select {}
|
||||
|
||||
Reference in New Issue
Block a user