Master Kubernetes on Windows Server with AKS Hybrid
Master Kubernetes on Windows Server with AKS Hybrid

Many Windows Server Administrators are facing the challenge of application modernization. New applications are frequently built on PaaS architecture (platform-as-a-service) or microservices architectures using containers. These workloads often require a Kubernetes cluster to orchestrate the containerized applications and workloads. In this blog post, we will explore how to install and run a Kubernetes cluster on Windows Server with support for both Linux and Windows Containers using Azure Kubernetes Service (AKS) hybrid deployment options. This service can be tested for 60 days for free or run at no additional cost if you have Windows Server Software Assurance and are using your existing hardware.

Overview

Before diving into the installation process, let’s cover some background information.

What is Kubernetes?

Kubernetes, also known as K8s, is an open-source system for automating the deployment, scaling, and management of containerized applications.

Where Can I Run Kubernetes?

Kubernetes is open source, giving you the flexibility to use on-premises, hybrid, or public cloud infrastructure. You can easily move workloads to the most suitable environment. Cloud providers like Microsoft Azure offer managed Kubernetes solutions, such as the Azure Kubernetes Service (AKS).

What is Azure Kubernetes Service (AKS)?

Azure Kubernetes Service (AKS) simplifies the deployment of a managed Kubernetes cluster in Azure by offloading operational overhead to Azure. As a hosted Kubernetes service, Azure handles essential tasks like health monitoring and maintenance.

What are AKS Hybrid Deployment Options?

AKS hybrid deployment options make it easier to manage, deploy, and maintain a Kubernetes cluster on-premises, allowing you to host Linux and Windows containers in your data center quickly. These options provide a similar experience to running AKS in Azure but on-premises on Windows Server or Azure Stack HCI. AKS hybrid manages critical tasks like upgrades and automatic certificate rotations, allowing you to focus on running and developing containerized workloads. It also integrates with Azure Arc, providing a unified Azure control plane to manage all your AKS clusters, whether on Azure or on-premises.

You can create an AKS cluster using:

  • PowerShell
  • Windows Admin Center
  • The Azure CLI (preview)
  • The Azure portal (preview)
  • Azure Resource Manager templates (preview)

When deploying an AKS cluster, you can choose default options to configure the Kubernetes control plane nodes and cluster settings. Advanced settings like Azure Active Directory (Azure AD), monitoring, and other features can be configured during and after deployment.

With AKS hybrid, you can connect your AKS clusters to Azure Arc during creation. Once connected, you can access your on-premises AKS clusters via the Azure portal and deploy management services like GitOps, Azure Monitor, and Azure Policy. For more information about Azure Arc-enabled Kubernetes, see the Azure Arc overview.

AKS Hybrid Deployment Options

Depending on your hardware, compute availability, and Kubernetes adoption process, AKS hybrid offers multiple deployment options:

Deployment OptionHost OSMinimum Compute RequirementFailover Clustering SupportManagement ToolsAzure Arc Integration
AKS on Windows ServerWindows Server 2019/2022Memory: 30GB/node
CPU: 16 cores/node
Disk Space: 128 GB/node
Single node or 2-8 node failover clusterLocal PowerShell, Windows Admin CenterManual
AKS on Azure Stack HCIAzure Stack HCI 21H2Memory: 30GB/node
CPU: 16 cores/node
Disk Space: 128 GB/node
Single node or 2-8 node clusterLocal PowerShell, Windows Admin CenterManual
AKS cluster provisioning (Preview)Windows Server 2019/2022
Azure Stack HCI 21H2
Memory: 32GB/node
CPU: 16 cores/node
Disk Space: 128 GB/node
Minimum Computer RequirementAzure Portal, Azure CLI, Azure Resource Manager templatesAutomatic
AKS on Windows IoT (Preview)Windows 10/11 IoT Enterprise
Windows 10/11 Enterprise
Windows 10/11 Pro
Windows Server 2019/2022
Memory: >2GB
CPU: 2 cores
Clock Speed: 1.8 GHz
Disk Space: 14 GB
NoLocal PowerShellManual

Running Production Workloads

Yes, Microsoft supports AKS hybrid in running production workloads.

Cost and Free Trial

Azure Kubernetes Service (AKS) is a subscription-based offering that can run on Azure Stack HCI or Windows Server Hyper-V clusters. You can download and install AKS on your existing hardware, whether in your data center or at the edge. Pricing is based on usage and requires an Azure subscription, which can be obtained for free. The billing unit is a virtual core (vCPU). All initial AKS deployments include a free 60-day evaluation period, after which a pay-as-you-go rate per vCPU per day will be applied. Users with Windows Server Software Assurance may benefit from Azure Hybrid benefits, reducing or eliminating Windows Server license fees.

Installing and Running Kubernetes on Windows Server

Here’s how to install and run Kubernetes (K8s) on Windows Server (also possible on Azure Stack HCI) using AKS hybrid deployment options. This method supports both single-node and failover clustering for high availability.

Prerequisites for Azure Kubernetes Service (AKS) on Windows Server

  • Windows Server 2019 or 2022
  • Memory: 30GB per node
  • CPU: 16 cores per node
  • Disk Space: 128 GB per node
  • Management Tools:
    • Local PowerShell
    • Windows Admin Center (used for the demo)

For detailed requirements, refer to the official documentation on Microsoft Learn.

Steps to Install Kubernetes on Windows Server

  1. Install Windows Server 2019 or 2022.
  2. Download and install Windows Admin Center.
  3. Open Windows Admin Center and navigate to the Azure Kubernetes Service extension.
  4. Follow the setup instructions as shown in the video tutorial.

Conclusion

Installing Kubernetes on Windows Server offers a simple and supported method to set up Kubernetes with AKS hybrid deployment options. This approach provides additional benefits, such as Azure integration with Azure Arc and easy management of updates for your Kubernetes clusters.

Leave a Reply

Your email address will not be published. Required fields are marked *