SlideShare a Scribd company logo
Windows containers
troubleshooting
Alexey Bokov,
Microsoft, Commercial Software Engineering
Common troubles
1) Windows Pod are failed to resolve DNS
2) Versions problems
3) Pause image problems
Windows Pods are failed to resolve DNS
After Windows Node rebooted, Host Network Servicy Policy need to be cleaned up
# On Windows Node
Start-BitsTransfer -Source https://raw.githubusercontent.com/Microsoft/SDN/master/Kubernetes/windows/hns.psm1
Import-Module .hns.psm1
Stop-Service kubeproxy
Stop-Service kubelet
Get-HnsNetwork | ? Name -eq l2Bridge | Remove-HnsNetwork
Get-HnsPolicyList | Remove-HnsPolicyList
Start-Service kubelet
Start-Service kubeproxy
Versions matching
• Container image must match host
• How to check:
• Windows version: major.minor.build.revision ( 10.0.14393.103 )
• Build changes when new version published, revision when Windows updates are applied
• Actually if build numbers are different it blocking from start, for patches it might start
1) Use ‘ver’ inside commang prompt
C:>ver
Microsoft Windows [Version 10.0.16299.125]
2) Read registry
PS C:Usersabokov> (Get-ItemProperty 'HKLM:SOFTWAREMicrosoftWindows
NTCurrentVersion').BuildLabEx
17763.1.amd64fre.rs5_release.180914-1434
Choose version to use
There’s no ‘latest’ tag anymore for Microsoft Windows images
You need to specify:
FROM mcr.microsoft.com/windows/nanoserver:1809-KB4493509
or
FROM mcr.microsoft.com/windows/nanoserver:10.0.17763.437
For ServerCore:
FROM mcr.microsoft.com/windows/servercore:ltsc2019
Windows Server servicing channels
LTSC – Long Term Servicing Channel ( 5 mainstream support + 5 years extended),
release every 2-3 years. Currently it’s Windows Server 2019
SAC - Semi-Annual Servicing Channel (18 months of support), 2 releases per year,
current Windows Server 1903 ( 2019, March )
Long-Term Servicing Channel (Windows Server
2019)
Semi-Annual Channel (Windows Server
Recommended scenarios General purpose file servers, Microsoft and
non-Microsoft workloads, traditional apps,
infrastructure roles, software-defined
Datacenter, and hyper-converged infrastructure
Containerized applications, container hosts,
and application scenarios benefiting from
faster innovation
New releases Every 2–3 years Every 6 months
Support 5 years of mainstream support, plus 5 years of
extended support
18 months
Editions All available Windows Server editions Standard and Datacenter editions
Who can use All customers through all channels Software Assurance and cloud customers only
Installation options Server Core and Server with Desktop
Experience
Server Core for container host and image and
Nano Server container image
Versions matching
In k8s you may check it with ‘$kubectl describe node 38519acs9010’:
..
System Info:
Machine ID: 38519acs9010
System UUID:
Boot ID:
Kernel Version: 10.0 14393 (14393.1715.amd64fre.rs1_release_inmarket.170906-1810)
OS Image:
Operating System: windows
Architecture: amd64
..
Image naming
Containers on Windows Server 1709 should use images with 1709 tags, e.g.
microsoft/aspnet:4.7.2-windowsservercore-1709
microsoft/windowsservercore:1709
microsoft/iis:windowsservercore-1709
Containers on Windows Server 1803 should use images with 1803 tags, e.g.
microsoft/aspnet:4.7.2-windowsservercore-1803
microsoft/windowsservercore:1803
microsoft/iis:windowsservercore-1803
Access to Windows ServerCore
Container via RDP (dev/qa only!)
Windows Server code has it but disable, to enable set this to 1
HKLMSystemCurrentControlSetControlTerminal ServerTemporaryALiC
FROM microsoft/windowsservercore:1709_KB4074588
RUN net user /add abokov
RUN net user abokov Abokov!2.718281828
RUN net localgroup "Remote Desktop Users" abokov /add
RUN net localgroup "Administrators" abokov /add
RUN cmd /k reg add "HKLMSystemCurrentControlSetControlTerminal Server" /v TemporaryALiC /t
REG_DWORD /d 1
Or run:
cscript C:WindowsSystem32Scregedit.wsf /ar 0
RDP in K8s (dev/qa only!)# rdp.yaml
apiVersion: v1
kind: Service
metadata:
name: rdp
spec:
type: LoadBalancer
ports:
- protocol: TCP
port: 3389
targetPort: 3389
---
kind: Endpoints
apiVersion: v1
metadata:
name: rdp
subsets:
- addresses:
- ip: <node-ip>
ports:
- port: 3389
$ kubectl create -f rdp.yaml
$ kubectl get svc rdp
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
rdp LoadBalancer 10.0.99.149 52.52.52.52 3389:32008/TCP 5m
Connect via mstsc.exe -v 52.52.52.52
Open Questions to talk
1) Configuring pause image
2) Debugging http traffic ( lost packets or web server goes down ) – any alternatives to tcpdump/fiddler
3) Super common topic: vhd -> docker ( or containerize all the things )
What has gone well
• Microsoft leadership in sig-windows
• Microsoft engineers respond to bug reports in a timely manner
• Meetings with Windows container and container networking teams have been
extremely productive
Struggles we've had
• Configuring HNS and CNI properly
• Long-standing Windows platform issues with no timeline for resolution
• Development process for Windows CNI plugins
• Tracking windows issues
Troubleshooting
• Debugging Kubernetes test failures is time-consuming
• Often we can get something working or develop some workaround, but we
don't understand why

More Related Content

PPTX
DockerCon17 - Beyond the backslash
PDF
Plug-ins: Building, Shipping, Storing, and Running - Nandhini Santhanam and T...
PDF
Hmc installation .
PDF
Under the Hood with Docker Swarm Mode - Drew Erny and Nishant Totla, Docker
PPTX
Deploying applications to Windows Server 2016 and Windows Containers
PDF
runC: The little engine that could (run Docker containers) by Docker Captain ...
PPTX
DCUS17 : Docker networking deep dive
ODT
Ubiquitous_Summary
DockerCon17 - Beyond the backslash
Plug-ins: Building, Shipping, Storing, and Running - Nandhini Santhanam and T...
Hmc installation .
Under the Hood with Docker Swarm Mode - Drew Erny and Nishant Totla, Docker
Deploying applications to Windows Server 2016 and Windows Containers
runC: The little engine that could (run Docker containers) by Docker Captain ...
DCUS17 : Docker networking deep dive
Ubiquitous_Summary

What's hot (20)

PDF
青云CoreOS虚拟机部署kubernetes
PDF
Using Docker Swarm Mode to Deploy Service Without Loss by Dongluo Chen & Nish...
PDF
Troubleshooting Tips from a Docker Support Engineer
PDF
Live Container Migration: OpenStack Summit Barcelona 2016
PDF
Container Performance Analysis
PDF
Container Orchestration from Theory to Practice
PDF
XPDS14 - Scaling Xen's Aggregate Storage Performance - Felipe Franciosi, Citrix
PDF
What's New in Docker 1.12 (June 20, 2016) by Mike Goelzer & Andrea Luzzardi
PDF
GDG Lima - Docker Compose
PPTX
DockerCon US 2016 - Docker Networking deep dive
PPTX
Docker Networking Overview
PPTX
Intro- Docker Native for OSX and Windows
PPTX
E2EVC Server 2012 R2, what's new Keynote
PDF
OSv presentation from Linux Foundation Collaboration Summit
PDF
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
PDF
XPDDS17: Keynote: Xen 4.8 at Gandi - Vincent Legout, Gandi
PPTX
Docker advance1
PDF
OpenZFS Channel programs
PPTX
Docker Networking & Swarm Mode Introduction
PDF
Weave Networking on Docker
青云CoreOS虚拟机部署kubernetes
Using Docker Swarm Mode to Deploy Service Without Loss by Dongluo Chen & Nish...
Troubleshooting Tips from a Docker Support Engineer
Live Container Migration: OpenStack Summit Barcelona 2016
Container Performance Analysis
Container Orchestration from Theory to Practice
XPDS14 - Scaling Xen's Aggregate Storage Performance - Felipe Franciosi, Citrix
What's New in Docker 1.12 (June 20, 2016) by Mike Goelzer & Andrea Luzzardi
GDG Lima - Docker Compose
DockerCon US 2016 - Docker Networking deep dive
Docker Networking Overview
Intro- Docker Native for OSX and Windows
E2EVC Server 2012 R2, what's new Keynote
OSv presentation from Linux Foundation Collaboration Summit
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
XPDDS17: Keynote: Xen 4.8 at Gandi - Vincent Legout, Gandi
Docker advance1
OpenZFS Channel programs
Docker Networking & Swarm Mode Introduction
Weave Networking on Docker
Ad

Similar to Windows containers troubleshooting (20)

PPTX
Scaling Docker Containers using Kubernetes and Azure Container Service
PPTX
Deploying windows containers with kubernetes
PPTX
Deploying Windows Containers on Windows Server 2016
PDF
Collabnix Online Webinar - Demystifying Docker & Kubernetes Networking by Bal...
PPTX
Docker Enterprise Workshop - Technical
PPTX
What should you know about Net Core?
PPT
Squid 3 for windows blogbudaqdegil.blogspot.com
PPTX
The How and Why of Windows containers
PDF
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
DOCX
unit 2 of Full stack web development subject
PDF
Introduction to Docker
PPTX
K8s best practices from the field!
PDF
Monitoring CloudStack and components
PPTX
NET core 2 e i fratelli
PPTX
Architecting .NET solutions in a Docker ecosystem - .NET Fest Kyiv 2019
PDF
Continuous Security: From tins to containers - now what!
PDF
kubernetes for beginners
PDF
Drone CI/CD 自動化測試及部署
PDF
How to upgrade to MongoDB 4.0 - Percona Europe 2018
PPTX
WinOps Conf 2016 - Richard Siddaway - DevOps With Nano Server and Windows Con...
Scaling Docker Containers using Kubernetes and Azure Container Service
Deploying windows containers with kubernetes
Deploying Windows Containers on Windows Server 2016
Collabnix Online Webinar - Demystifying Docker & Kubernetes Networking by Bal...
Docker Enterprise Workshop - Technical
What should you know about Net Core?
Squid 3 for windows blogbudaqdegil.blogspot.com
The How and Why of Windows containers
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
unit 2 of Full stack web development subject
Introduction to Docker
K8s best practices from the field!
Monitoring CloudStack and components
NET core 2 e i fratelli
Architecting .NET solutions in a Docker ecosystem - .NET Fest Kyiv 2019
Continuous Security: From tins to containers - now what!
kubernetes for beginners
Drone CI/CD 自動化測試及部署
How to upgrade to MongoDB 4.0 - Percona Europe 2018
WinOps Conf 2016 - Richard Siddaway - DevOps With Nano Server and Windows Con...
Ad

More from Alexey Bokov (20)

PPTX
Product Visions and Strategy - crash course for startups
PPTX
Monte Carlo modeling in cloud - mc-modeling-sdk
PPTX
CAP теорема Брюера и ее применения на практике
PPTX
Azure web apps - designing and debugging
PPTX
Azure Web App services
PPTX
Azure: Docker Container orchestration, PaaS ( Service Farbic ) and High avail...
PPTX
Creating a gallery image for Azure marketplace
PPTX
All about Azure workshop deck
PPTX
All about Azure - Kazan
PPTX
Microsoft Azure
PDF
Internet of Things in Tbilisi
PPTX
Azure and web sites hackaton deck
PPTX
Asp.net 5 cloud
PPTX
Tbilisi hackaton intro
PPTX
Azure for retails
PPTX
Azure for IT pro - TechDays Armenia
PPTX
Tech day armenia for developers
PPTX
Alexey Bokov key note - TechDays Armenia 2014
PPTX
Open source technologies in Microsoft cloud - MS SWIT 2014
PPTX
Windows Azure для стартапов
Product Visions and Strategy - crash course for startups
Monte Carlo modeling in cloud - mc-modeling-sdk
CAP теорема Брюера и ее применения на практике
Azure web apps - designing and debugging
Azure Web App services
Azure: Docker Container orchestration, PaaS ( Service Farbic ) and High avail...
Creating a gallery image for Azure marketplace
All about Azure workshop deck
All about Azure - Kazan
Microsoft Azure
Internet of Things in Tbilisi
Azure and web sites hackaton deck
Asp.net 5 cloud
Tbilisi hackaton intro
Azure for retails
Azure for IT pro - TechDays Armenia
Tech day armenia for developers
Alexey Bokov key note - TechDays Armenia 2014
Open source technologies in Microsoft cloud - MS SWIT 2014
Windows Azure для стартапов

Recently uploaded (20)

PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Big Data Technologies - Introduction.pptx
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Modernizing your data center with Dell and AMD
PDF
Encapsulation_ Review paper, used for researhc scholars
PPT
Teaching material agriculture food technology
“AI and Expert System Decision Support & Business Intelligence Systems”
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Reach Out and Touch Someone: Haptics and Empathic Computing
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
NewMind AI Monthly Chronicles - July 2025
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Understanding_Digital_Forensics_Presentation.pptx
Per capita expenditure prediction using model stacking based on satellite ima...
Mobile App Security Testing_ A Comprehensive Guide.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Big Data Technologies - Introduction.pptx
Chapter 3 Spatial Domain Image Processing.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
Modernizing your data center with Dell and AMD
Encapsulation_ Review paper, used for researhc scholars
Teaching material agriculture food technology

Windows containers troubleshooting

  • 2. Common troubles 1) Windows Pod are failed to resolve DNS 2) Versions problems 3) Pause image problems
  • 3. Windows Pods are failed to resolve DNS After Windows Node rebooted, Host Network Servicy Policy need to be cleaned up # On Windows Node Start-BitsTransfer -Source https://raw.githubusercontent.com/Microsoft/SDN/master/Kubernetes/windows/hns.psm1 Import-Module .hns.psm1 Stop-Service kubeproxy Stop-Service kubelet Get-HnsNetwork | ? Name -eq l2Bridge | Remove-HnsNetwork Get-HnsPolicyList | Remove-HnsPolicyList Start-Service kubelet Start-Service kubeproxy
  • 4. Versions matching • Container image must match host • How to check: • Windows version: major.minor.build.revision ( 10.0.14393.103 ) • Build changes when new version published, revision when Windows updates are applied • Actually if build numbers are different it blocking from start, for patches it might start 1) Use ‘ver’ inside commang prompt C:>ver Microsoft Windows [Version 10.0.16299.125] 2) Read registry PS C:Usersabokov> (Get-ItemProperty 'HKLM:SOFTWAREMicrosoftWindows NTCurrentVersion').BuildLabEx 17763.1.amd64fre.rs5_release.180914-1434
  • 5. Choose version to use There’s no ‘latest’ tag anymore for Microsoft Windows images You need to specify: FROM mcr.microsoft.com/windows/nanoserver:1809-KB4493509 or FROM mcr.microsoft.com/windows/nanoserver:10.0.17763.437 For ServerCore: FROM mcr.microsoft.com/windows/servercore:ltsc2019
  • 6. Windows Server servicing channels LTSC – Long Term Servicing Channel ( 5 mainstream support + 5 years extended), release every 2-3 years. Currently it’s Windows Server 2019 SAC - Semi-Annual Servicing Channel (18 months of support), 2 releases per year, current Windows Server 1903 ( 2019, March ) Long-Term Servicing Channel (Windows Server 2019) Semi-Annual Channel (Windows Server Recommended scenarios General purpose file servers, Microsoft and non-Microsoft workloads, traditional apps, infrastructure roles, software-defined Datacenter, and hyper-converged infrastructure Containerized applications, container hosts, and application scenarios benefiting from faster innovation New releases Every 2–3 years Every 6 months Support 5 years of mainstream support, plus 5 years of extended support 18 months Editions All available Windows Server editions Standard and Datacenter editions Who can use All customers through all channels Software Assurance and cloud customers only Installation options Server Core and Server with Desktop Experience Server Core for container host and image and Nano Server container image
  • 7. Versions matching In k8s you may check it with ‘$kubectl describe node 38519acs9010’: .. System Info: Machine ID: 38519acs9010 System UUID: Boot ID: Kernel Version: 10.0 14393 (14393.1715.amd64fre.rs1_release_inmarket.170906-1810) OS Image: Operating System: windows Architecture: amd64 ..
  • 8. Image naming Containers on Windows Server 1709 should use images with 1709 tags, e.g. microsoft/aspnet:4.7.2-windowsservercore-1709 microsoft/windowsservercore:1709 microsoft/iis:windowsservercore-1709 Containers on Windows Server 1803 should use images with 1803 tags, e.g. microsoft/aspnet:4.7.2-windowsservercore-1803 microsoft/windowsservercore:1803 microsoft/iis:windowsservercore-1803
  • 9. Access to Windows ServerCore Container via RDP (dev/qa only!) Windows Server code has it but disable, to enable set this to 1 HKLMSystemCurrentControlSetControlTerminal ServerTemporaryALiC FROM microsoft/windowsservercore:1709_KB4074588 RUN net user /add abokov RUN net user abokov Abokov!2.718281828 RUN net localgroup "Remote Desktop Users" abokov /add RUN net localgroup "Administrators" abokov /add RUN cmd /k reg add "HKLMSystemCurrentControlSetControlTerminal Server" /v TemporaryALiC /t REG_DWORD /d 1 Or run: cscript C:WindowsSystem32Scregedit.wsf /ar 0
  • 10. RDP in K8s (dev/qa only!)# rdp.yaml apiVersion: v1 kind: Service metadata: name: rdp spec: type: LoadBalancer ports: - protocol: TCP port: 3389 targetPort: 3389 --- kind: Endpoints apiVersion: v1 metadata: name: rdp subsets: - addresses: - ip: <node-ip> ports: - port: 3389 $ kubectl create -f rdp.yaml $ kubectl get svc rdp NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE rdp LoadBalancer 10.0.99.149 52.52.52.52 3389:32008/TCP 5m Connect via mstsc.exe -v 52.52.52.52
  • 11. Open Questions to talk 1) Configuring pause image 2) Debugging http traffic ( lost packets or web server goes down ) – any alternatives to tcpdump/fiddler 3) Super common topic: vhd -> docker ( or containerize all the things )
  • 12. What has gone well • Microsoft leadership in sig-windows • Microsoft engineers respond to bug reports in a timely manner • Meetings with Windows container and container networking teams have been extremely productive Struggles we've had • Configuring HNS and CNI properly • Long-standing Windows platform issues with no timeline for resolution • Development process for Windows CNI plugins • Tracking windows issues Troubleshooting • Debugging Kubernetes test failures is time-consuming • Often we can get something working or develop some workaround, but we don't understand why