<p>I have a requirement to set up Kubernetes on-prem and have Windows worker nodes that run .NET 4.5 containers. Now, while I found this <a href="https://onedrive.live.com/view.aspx?resid=E2B6765015E5FA01!339&amp;ithint=file%2Cdocx&amp;app=Word&amp;authkey=!AGvs_s_hWs7xHGs" rel="nofollow noreferrer">link</a>, I don't particularly like the idea of upgrading the control plane and rotating needed certificates manually.</p>

<p>Has anyone tried to use <code>kubespray</code> to bootstrap a Kubernetes cluster and manually add a Windows worker? Or can share any insight to setting this up?  </p>

<p>Thanks for sharing. </p>

<p>This is an opinion question so I'll answer in an opinionated way.</p>

<p>So kubespray will give you more automation and it actually uses <code>kubeadm</code> to create the control plane and cluster components including your network overlay.</p>

<p>It also provides you with capabilities for <a href="https://github.com/kubernetes-incubator/kubespray/blob/master/docs/upgrades.md" rel="nofollow noreferrer">upgrades</a>.</p>

<p>Certificate rotation is an option on your kubelet and <code>kubespray</code> also supports it. </p>

<p>The downside of using kubespray is that you may not know how all the Kubernetes components work but if you want something more fully automated and like ansible it's a great choice.</p>

<p>Also the latest kubeadm supports certificate rotation on all your Kubernetes components as per this <a href="https://github.com/kubernetes/kubernetes/pull/67910" rel="nofollow noreferrer">PR</a></p>
