6.3. Exemple de déploiement d'une charge de travail de conteneur Windows
Vous pouvez déployer des charges de travail de conteneurs Windows dans votre cluster dès que vous disposez d'un nœud de calcul Windows.
Cet exemple de déploiement est fourni à titre de référence uniquement.
Exemple d'objet Service
apiVersion: v1 kind: Service metadata: name: win-webserver labels: app: win-webserver spec: ports: # the port that this service should serve on - port: 80 targetPort: 80 selector: app: win-webserver type: LoadBalancer
Exemple d'objet Deployment
apiVersion: apps/v1 kind: Deployment metadata: labels: app: win-webserver name: win-webserver spec: selector: matchLabels: app: win-webserver replicas: 1 template: metadata: labels: app: win-webserver name: win-webserver spec: tolerations: - key: "os" value: "Windows" Effect: "NoSchedule" containers: - name: windowswebserver image: mcr.microsoft.com/windows/servercore:ltsc2019 imagePullPolicy: IfNotPresent command: - powershell.exe - -command - $listener = New-Object System.Net.HttpListener; $listener.Prefixes.Add('http://*:80/'); $listener.Start();Write-Host('Listening at http://*:80/'); while ($listener.IsListening) { $context = $listener.GetContext(); $response = $context.Response; $content='<html><body><H1>Red Hat OpenShift + Windows Container Workloads</H1></body></html>'; $buffer = [System.Text.Encoding]::UTF8.GetBytes($content); $response.ContentLength64 = $buffer.Length; $response.OutputStream.Write($buffer, 0, $buffer.Length); $response.Close(); }; securityContext: runAsNonRoot: false windowsOptions: runAsUserName: "ContainerAdministrator" nodeSelector: kubernetes.io/os: windows
Si vous utilisez l'image de conteneur mcr.microsoft.com/powershell:<tag>
, vous devez définir la commande comme pwsh.exe
. Si vous utilisez l'image de conteneur mcr.microsoft.com/windows/servercore:<tag>
, vous devez définir la commande comme powershell.exe
. Pour plus d'informations, consultez la documentation de Microsoft.