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 Option | Host OS | Minimum Compute Requirement | Failover Clustering Support | Management Tools | Azure Arc Integration |
---|---|---|---|---|---|
AKS on Windows Server | Windows Server 2019/2022 | Memory: 30GB/node CPU: 16 cores/node Disk Space: 128 GB/node | Single node or 2-8 node failover cluster | Local PowerShell, Windows Admin Center | Manual |
AKS on Azure Stack HCI | Azure Stack HCI 21H2 | Memory: 30GB/node CPU: 16 cores/node Disk Space: 128 GB/node | Single node or 2-8 node cluster | Local PowerShell, Windows Admin Center | Manual |
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 Requirement | Azure Portal, Azure CLI, Azure Resource Manager templates | Automatic |
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 | No | Local PowerShell | Manual |
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
- Install Windows Server 2019 or 2022.
- Download and install Windows Admin Center.
- Open Windows Admin Center and navigate to the Azure Kubernetes Service extension.
- 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.
Comments (0)