Hi,
The FAQ item "Can I run Windows Server containers on AKS?" is incorrect.
With GA, it's possible to run mixed-mode clusters.
Can this documentation be corrected?
Thanks!
⚠Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.
Thanks for the feedback! I have assigned the issue to the content author to investigate further and update the document as appropriate.
Thanks for reaching out, @thelious1974. Sorry if there's some confusion running Windows containers within AKS. The FAQ entry is valid:
You cannot currently run mix-mode nodes within an AKS cluster. You can, however, run Windows containers using Virtual Kubelet to schedule them on Azure Container Instances - https://docs.microsoft.com/en-us/azure/aks/virtual-kubelet
Upcoming support for Windows containers in AKS without Virtual Kubelet / ACI is planned. This was announced at the Build conference in May. You can register for a private preview of Windows containers natively in AKS here - https://aka.ms/aks-windows-preview
I'll update the FAQ entry to point to the Virtual Kubelet doc as a way of being able to run Windows containers in AKS, which hopefully makes this clearer.
I think the confusion is around mixed-os clusters and mixed-os nodes
Windows Server nodes are definitely available on AKS - I created a cluster with both Windows and Linux nodes today!
@thelious1974 Can you confirm what you're running here - AKS, ACS with Kubernetes, or acs-engine?
The FAQ originally linked to this issue was for _AKS_. As noted previously, you can register for a private preview of Windows support here https://aka.ms/aks-windows-preview.
ACS with Kubernetes does support creating Windows nodes, as shown here https://docs.microsoft.com/en-us/azure/container-service/kubernetes/container-service-kubernetes-windows-walkthrough
acs-engine with Kubernetes for Windows nodes is also outlined here https://github.com/Azure/acs-engine/blob/master/docs/kubernetes/windows.md
As such, I'm not sure how you're running mixed Windows and Linux nodes in the same _AKS_ cluster?
@iainfoulds The cluster was definitely managed kubernetes (aks) cluster. It was created was using an ARM template defining the resource of type Microsoft.ContainerService/managedClusters (as documented https://docs.microsoft.com/en-us/azure/templates/microsoft.containerservice/managedclusters)
The ARM template defined two agent pools profiles - the first of type Linux, the second of type Windows.
After it was provisioned, I was able to use az aks get-credentials
to get the credentials for the cluster and use kubectl describe nodes
to get the node information.
In this, one agent pool had an OS image of Windows Server Datacentre
, the other had an OS image of Ubuntu 16.04.4 LTS
.
Disclaimer: one of my former colleagues may have entered into the private preview!
@thelious1974 The template reference is actually incorrect and is being updated now, sorry. As AKS and ACS share some common definitions, it shows Windows as being a valid osType. While technically valid and deploys without error, it doesn't provide a functional deployment. The Windows nodes are created within the AKS cluster, but you likely cannot correctly schedule pods on them and network services together. Engineering work is ongoing for private preview of this in AKS.
@iainfoulds Thanks for the update, that really does explain a lot!
Thanks for all your help and patience with this documentation issue!
@iainfoulds Any idea when we can expect the availability of Windows containers without Virtual Kubelet / ACI on AKS?
@CptQuint Windows host support is in progress, but I don't have a timeframe for full support in AKS. Can upvote the feature request at https://feedback.azure.com/forums/914020-azure-kubernetes-service-aks/suggestions/34973563-add-support-for-windows-nodes.
You can also register interest in a private preview of Windows host support in AKS.
@iainfoulds I did actually register for the private preview several months a go but never heard anything back.
@iainfoulds I second that. I have also registered for the private preview a week ago and I never got any follow up emails. At this point, my company would love to use mixed Linux/Windows nodes for the same cluster; but if it's not possible, I guess AWS EKS might be a better choice as they have a larger community support there.
@ai2admin The private preview form was designed to gauge interest and build a pipeline of interested customers. We will reach out once it is ready for you to try. In the interim, you can get started with Kubernetes on Windows today using acs-engine. This will allow you to validate your Windows containers on a K8s cluster running in Azure and make it straightforward to migrate them to AKS once the managed service supports it.
For the record, EKS does not support Windows agent nodes yet either.
Last I tried, I have not been able to even get started with ACS - it keeps failing the deployment for me every time I attempt to create one. It's an outdated option that can hardly justify additional time investment.
Surely EKS doesn't support Windows containers (though ECS does) - I was comparing two services with the same functionality.
To be clear, I am talking about acs-engine (the open source project), not the ACS service (I realize the naming is confusing). We are actively investing in the acs-engine project as it forms the basis for how we provision Kubernetes clusters in AKS. If you have issues deploying Windows-based agents with acs-engine, I'm sure @PatrickLang would love to hear about them.
@seanmck indeed I confused ACS service and the acs-engine. Thanks for the tip - I will give it a try!
Most helpful comment
Thanks for reaching out, @thelious1974. Sorry if there's some confusion running Windows containers within AKS. The FAQ entry is valid:
You cannot currently run mix-mode nodes within an AKS cluster. You can, however, run Windows containers using Virtual Kubelet to schedule them on Azure Container Instances - https://docs.microsoft.com/en-us/azure/aks/virtual-kubelet
Upcoming support for Windows containers in AKS without Virtual Kubelet / ACI is planned. This was announced at the Build conference in May. You can register for a private preview of Windows containers natively in AKS here - https://aka.ms/aks-windows-preview
I'll update the FAQ entry to point to the Virtual Kubelet doc as a way of being able to run Windows containers in AKS, which hopefully makes this clearer.
in-progress