Book Image

Hands-On Kubernetes on Windows

By : Piotr Tylenda
Book Image

Hands-On Kubernetes on Windows

By: Piotr Tylenda

Overview of this book

With the adoption of Windows containers in Kubernetes, you can now fully leverage the flexibility and robustness of the Kubernetes container orchestration system in the Windows ecosystem. This support will enable you to create new Windows applications and migrate existing ones to the cloud-native stack with the same ease as for Linux-oriented cloud applications. This practical guide takes you through the key concepts involved in packaging Windows-distributed applications into containers and orchestrating these using Kubernetes. You'll also understand the current limitations of Windows support in Kubernetes. As you advance, you'll gain hands-on experience deploying a fully functional hybrid Linux/Windows Kubernetes cluster for development, and explore production scenarios in on-premises and cloud environments, such as Microsoft Azure Kubernetes Service. By the end of this book, you'll be well-versed with containerization, microservices architecture, and the critical considerations for running Kubernetes in production environments successfully.
Table of Contents (23 chapters)
1
Section 1: Creating and Working with Containers
5
Section 2: Understanding Kubernetes Fundamentals
9
Section 3: Creating Windows Kubernetes Clusters
12
Section 4: Orchestrating Windows Containers Using Kubernetes

Joining Windows nodes using kubeadm

The next task is joining our Windows Server 2019 VM as a node in the Kubernetes cluster. We will use the same KubeCluster.ps1 script from the Kubernetes sig-windows-tools repository, which internally uses kubeadm for joining the cluster. The script will perform the following actions:

  1. Retrieve the kubeconfig file from the 10.0.0.2 master using SSH.
  2. Register kubelet as a Windows service. This will ensure that the kubelet process is always running on the Windows node.
  3. Prepare the CNI plugins' configuration.
  4. Create a Host Networking Service (HNS) network.
  5. Add firewall rules, if needed.
  6. Register flanneld and kube-proxy as Windows services.
If the join script fails, start a new PowerShell session and rerun the script.

To join the Windows node, proceed with the following steps:

  1. In the Hyper-V terminal for the Windows Server VM, start a new...