2 Creating a Multi-OS Kubernetes Cluster
This chapter covers
- Bootstrapping a Kubernetes Control Plane on Linux with kubeadm
- Installing a containerd based Windows node which joins to our Linux control plane node, also using Kubeadm
- Verifying that your Windows node is properly joined to your Kubernetes Control Plane
By now, we expect that you have a basic understanding of Kubernetes’ high level architecture, including:
- The role etcd plays in a Cluster
- What the APIServer is used for
- What the Scheduler, Controller Manager do
- What is meant by the term “Kubernetes Control Plane”
If you are still extremely new to containers and Kubernetes, it might be worth re-reading our first chapter or perusing some of Kubernetes’ official documentation online at https://k8s.io. That said, this chapter will teach you the basics of how to bootstrap Kubernetes on Linux, and how to add a Windows node to your cluster, and shouldn’t require any prior technical experience with Kubernetes administration. In any case, we’re going to be moving forward at a pretty steady clip from here on out - so hang on tight !
So, where do we start? Well, let’s Imagine that you wanted to run a few .NET 3 Windows containers. In general, you can’t run these in a Linux environment, so you need a Kubernetes cluster with a Windows node (i.e. a Windows kubelet). We’ll install one in this chapter, alongside a Linux Control Plane (the Control Plane serves as our Kubernetes “master”)