Change:
<!-- Please use this template while reporting a bug and provide as much info as possible. Not doing so may result in your bug not being addressed in a timely manner. Thanks! If the matter is security related, please disclose it privately via --What happened: There's a race condition between starting Windows service and when the VMs network is actually available to communicate with the VM's metadata server. If the service starts first and cannot communicate with the metadata server or start talking to the stackdriver logging service it'll crash and not resume because the service is not configured to restart on failure. Typically a is used for a service like this but Windows does not support privileged containers so a standard Windows Service is used. What you expected to happen: If the service fails to start it should be automatically be restarted. How to reproduce it (as minimally and precisely as possible): This is a flaky issue but a way to repro this is to effectively by RDP'ing into the node and running: Anything else we need to know?: Environment: Kubernetes version (use ): v1.16 and onward Cloud provider or hardware configuration: GCE OS (e.g: ): Windows Kernel (e.g. ): Windows (any version) Install tools: cluster/gce/windows/README-GCE-Windows-kube- Network plugin and version (if this is a network-related bug): Others:
/sig windows
/assign jeremyedwards
GitHub didn't allow me to assign the following users: jeremyedwards. Note that only , repo collaborators and people who have commented on this issue/PR can be assigned. Additionally, issues/PRs can only have 10 assignees at the same time. For more information please see <detailsIn response to : /assign jeremyedwards Instructions for interacting with me using PR comments are available . If you have questions or suggestions related to my behavior, please file an issue against the repository. </details

Discussion:
"--cluster-cidr=$(${kube_env}['CLUSTER_IP_RANGE'])", "--hostname-override=${instance_name}" ) $kubeproxy_args = ${default_kubeproxy_args} + ${kubeproxy_args} Log-Output "Final kubeproxy_args: ${kubeproxy_args}"

Log-Output ("Skip: Fluentbit logging agent is already installed") return } DownloadAndInstall-LoggingAgents Create-LoggingAgentServices }

Log_File      /var/log/fluentbit.log Daemon        off Parsers_File  parsers.conf <del> HTTP_Server   off </del> <ins> HTTP_Server   off </ins> HTTP_Listen   0.0.0.0 HTTP_PORT     2020 plugins_file plugins.conf

# Channels Setup,Windows PowerShell Channels     application,system,security Tag          winevent.raw <del> DB           winlog.sqlite   # </del> <ins> DB           winlog.sqlite   # </ins> # Json Log Example:

Mem_Buf_Limit    5MB Skip_Long_Lines  On Refresh_Interval 5 <del> DB               flb_kube.db </del> <ins> DB               flb_kube.db </ins> <del> # Settings from fluentd missing here. </del> <ins> # Settings from fluentd missing here. </ins> # tag reform.* # format json # time_key time

$config = $FLUENTD_CONFIG.replace('NODE_NAME', (hostname)) $config | Out-File -FilePath $fluentd_config_file -Encoding ASCII Log-Output "Wrote fluentd logging config to $fluentd_config_file" <ins> # Configure StackdriverLogging to automatically restart on failure after 10 # seconds. The logging agent may die die to various disruptions but can be # resumed. sc.exe failure StackdriverLogging reset= 0 actions= restart/1000/restart/10000 </ins> } # The NODE_NAME placeholder must be replaced with the node's name (hostname).