Pod OS — specify the operating system for Pod scheduling and runtime.
1apiVersion: v12kind: Pod3metadata:4 name: linux-pod5spec:6 os:7 name: linux8 containers:9 - name: app10 image: nginx:latest11---12apiVersion: v113kind: Pod14metadata:15 name: windows-pod16spec:17 os:18 name: windows19 nodeSelector:20 kubernetes.io/os: windows21 containers:22 - name: app23 image: mcr.microsoft.com/dotnet/runtime:8.024---25# Mixed OS cluster26apiVersion: apps/v127kind: Deployment28metadata:29 name: cross-platform-app30spec:31 replicas: 632 template:33 metadata:34 labels:35 app: cross-platform36 spec:37 affinity:38 nodeAffinity:39 requiredDuringSchedulingIgnoredDuringExecution:40 nodeSelectorTerms:41 - matchExpressions:42 - key: kubernetes.io/os43 operator: In44 values:45 - linux46 - windows47 containers:48 - name: app49 image: myapp:latest
1# Check node OS2kubectl get nodes -o custom-columns=NAME:.metadata.name,OS:.status.nodeInfo.operatingSystem3kubectl get nodes -l kubernetes.io/os=linux4kubectl get nodes -l kubernetes.io/os=windows
Behavior: