--- title: "Deploy an application" date: 2020-07-27T15:34:36-04:00 draft: false weight: 330 --- ### NodeSelector You must specify node selectors on your applications so that the pods land on a node with the appropriate operating system. For Linux pods, use the following node selector text in your manifests. {{< output >}} nodeSelector: kubernetes.io/os: linux kubernetes.io/arch: amd64 {{< /output>}} For Windows pods, use the following node selector text in your manifests. {{< output>}} nodeSelector: kubernetes.io/os: windows kubernetes.io/arch: amd64 {{< /output>}} {{% notice tip %}} Our deployment file already has the proper node selectors so you won't have to add them yourself. {{% /notice %}} ### Deploy a Windows sample application We are now ready to deploy our Windows IIS container ```bash kubectl create namespace windows cat << EoF > ~/environment/windows/windows_server_iis.yaml apiVersion: apps/v1 kind: Deployment metadata: name: windows-server-iis namespace: windows spec: selector: matchLabels: app: windows-server-iis tier: backend track: stable replicas: 1 template: metadata: labels: app: windows-server-iis tier: backend track: stable spec: containers: - name: windows-server-iis image: mcr.microsoft.com/windows/servercore:ltsc2019-amd64 ports: - name: http containerPort: 80 imagePullPolicy: IfNotPresent command: - powershell.exe - -command - "Add-WindowsFeature Web-Server; Invoke-WebRequest -UseBasicParsing -Uri 'https://dotnetbinaries.blob.core.windows.net/servicemonitor/2.0.1.6/ServiceMonitor.exe' -OutFile 'C:\\ServiceMonitor.exe'; echo '