From aa9380e017a491acb96b272210fbfd6ff0b27e09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CIbrahim?= Date: Thu, 12 Aug 2021 00:54:19 +0000 Subject: [PATCH] Add termination hook to the startup script - GCE Windows --- cluster/gce/windows/configure.ps1 | 3 +++ cluster/gce/windows/k8s-node-setup.psm1 | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/cluster/gce/windows/configure.ps1 b/cluster/gce/windows/configure.ps1 index 170602a9e80..8f8453e121c 100644 --- a/cluster/gce/windows/configure.ps1 +++ b/cluster/gce/windows/configure.ps1 @@ -205,5 +205,8 @@ catch { Write-Host 'Exception caught in script:' Write-Host $_.InvocationInfo.PositionMessage Write-Host "Kubernetes Windows node setup failed: $($_.Exception.Message)" + # Make sure kubelet won't remain running in case any failure happened during the startup. + Write-Host "Cleaning up, Unregistering WorkerServices..." + Unregister-WorkerServices exit 1 } diff --git a/cluster/gce/windows/k8s-node-setup.psm1 b/cluster/gce/windows/k8s-node-setup.psm1 index c2a2838c28f..b6dcd2a9f98 100644 --- a/cluster/gce/windows/k8s-node-setup.psm1 +++ b/cluster/gce/windows/k8s-node-setup.psm1 @@ -1286,6 +1286,12 @@ function Start-WorkerServices { Log-Output "Kubernetes components started successfully" } +# Stop and unregister both kubelet & kube-proxy services. +function Unregister-WorkerServices { + & sc.exe delete kube-proxy + & sc.exe delete kubelet +} + # Wait for kubelet and kube-proxy to be ready within 10s. function WaitFor_KubeletAndKubeProxyReady { $waited = 0