From 5dc3d1fc5a680c531b789638fee6221712765453 Mon Sep 17 00:00:00 2001 From: Rafael Martin Alves Ferreira <117859338+rafaelmaferreira@users.noreply.github.com> Date: Fri, 18 Oct 2024 14:42:17 -0300 Subject: [PATCH 1/9] ptbr-docs/concepts/windows/ --- content/pt-br/docs/concepts/windows/_index.md | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 content/pt-br/docs/concepts/windows/_index.md diff --git a/content/pt-br/docs/concepts/windows/_index.md b/content/pt-br/docs/concepts/windows/_index.md new file mode 100644 index 0000000000000..4718daa5f85ef --- /dev/null +++ b/content/pt-br/docs/concepts/windows/_index.md @@ -0,0 +1,29 @@ +--- +title: "Windows no Kubernetes" +simple_list: true +weight: 200 # late in list +description: >- + O Kubernetes oferece suporte a nodes que executam Microsoft Windows. +--- + +O Kubernetes oferece suporte a {{< glossary_tooltip text="nodes" term_id="node" >}} de trabalho que executam Linux ou Microsoft Windows. + +{{% thirdparty-content single="true" %}} + +A CNCF e sua empresa-mãe, a Linux Foundation, adotam uma abordagem neutra a fornecedores em relação à compatibilidade. É possível adicionar seu [servidor Windows](https://www.microsoft.com/pt-br/windows-server) como um node de trabalho em um cluster Kubernetes. + +Você pode [instalar e configurar o kubectl no Windows](/docs/tasks/tools/install-kubectl-windows/), independentemente do sistema operacional que você usa em seu cluster. + +Se você estiver usando nodes Windows, pode ler: + +* [Rede no Windows](/docs/concepts/services-networking/windows-networking/) +* [Armazenamento no Windows no Kubernetes](/docs/concepts/storage/windows-storage/) +* [Gerenciamento de Recursos para Nodes Windows](/docs/concepts/configuration/windows-resource-management/) +* [Configurar RunAsUserName para Pods e Containers Windows](/docs/tasks/configure-pod-container/configure-runasusername/) +* [Criar um Pod HostProcess no Windows](/docs/tasks/configure-pod-container/create-hostprocess-pod/) +* [Configurar Contas de Serviço Gerenciadas por Grupo para Pods e Containers Windows](/docs/tasks/configure-pod-container/configure-gmsa/) +* [Segurança para Nodes Windows](/docs/concepts/security/windows-security/) +* [Dicas de Debugging no Windows](/docs/tasks/debug/debug-cluster/windows/) +* [Guia para Agendar Containers Windows no Kubernetes](/docs/concepts/windows/user-guide) + +Ou, para uma visão geral, leia: From 8fb35c7c52b43db492ea0c23707bbe388f18d835 Mon Sep 17 00:00:00 2001 From: Rafael Martin Alves Ferreira <117859338+rafaelmaferreira@users.noreply.github.com> Date: Fri, 18 Oct 2024 15:07:17 -0300 Subject: [PATCH 2/9] =?UTF-8?q?update=20node=20to=20n=C3=B3s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/pt-br/docs/concepts/windows/_index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/pt-br/docs/concepts/windows/_index.md b/content/pt-br/docs/concepts/windows/_index.md index 4718daa5f85ef..446e540e61c2a 100644 --- a/content/pt-br/docs/concepts/windows/_index.md +++ b/content/pt-br/docs/concepts/windows/_index.md @@ -3,10 +3,10 @@ title: "Windows no Kubernetes" simple_list: true weight: 200 # late in list description: >- - O Kubernetes oferece suporte a nodes que executam Microsoft Windows. + O Kubernetes oferece suporte a nós que executam Microsoft Windows. --- -O Kubernetes oferece suporte a {{< glossary_tooltip text="nodes" term_id="node" >}} de trabalho que executam Linux ou Microsoft Windows. +O Kubernetes oferece suporte a {{< glossary_tooltip text="nós" term_id="nós" >}} de trabalho que executam Linux ou Microsoft Windows. {{% thirdparty-content single="true" %}} From ce02c59c08f1d20d6f5d892a454e2c18b1ca39fc Mon Sep 17 00:00:00 2001 From: Rafael Martin Alves Ferreira <117859338+rafaelmaferreira@users.noreply.github.com> Date: Fri, 18 Oct 2024 15:33:30 -0300 Subject: [PATCH 3/9] controladora --- content/pt-br/docs/concepts/windows/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/pt-br/docs/concepts/windows/_index.md b/content/pt-br/docs/concepts/windows/_index.md index 446e540e61c2a..c287b3dfd3c03 100644 --- a/content/pt-br/docs/concepts/windows/_index.md +++ b/content/pt-br/docs/concepts/windows/_index.md @@ -10,7 +10,7 @@ O Kubernetes oferece suporte a {{< glossary_tooltip text="nós" term_id="nós" > {{% thirdparty-content single="true" %}} -A CNCF e sua empresa-mãe, a Linux Foundation, adotam uma abordagem neutra a fornecedores em relação à compatibilidade. É possível adicionar seu [servidor Windows](https://www.microsoft.com/pt-br/windows-server) como um node de trabalho em um cluster Kubernetes. +A CNCF e sua controladora, a Linux Foundation, adotam uma abordagem neutra a fornecedores em relação à compatibilidade. É possível adicionar seu [servidor Windows](https://www.microsoft.com/pt-br/windows-server) como um node de trabalho em um cluster Kubernetes. Você pode [instalar e configurar o kubectl no Windows](/docs/tasks/tools/install-kubectl-windows/), independentemente do sistema operacional que você usa em seu cluster. From 39c58b65573b9dc7d1dd9db8769062a0e02b600d Mon Sep 17 00:00:00 2001 From: Rafael Martin Alves Ferreira <117859338+rafaelmaferreira@users.noreply.github.com> Date: Fri, 18 Oct 2024 15:38:52 -0300 Subject: [PATCH 4/9] update links ptbr --- content/pt-br/docs/concepts/windows/_index.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/content/pt-br/docs/concepts/windows/_index.md b/content/pt-br/docs/concepts/windows/_index.md index c287b3dfd3c03..b367de0b5c898 100644 --- a/content/pt-br/docs/concepts/windows/_index.md +++ b/content/pt-br/docs/concepts/windows/_index.md @@ -17,12 +17,12 @@ Você pode [instalar e configurar o kubectl no Windows](/docs/tasks/tools/instal Se você estiver usando nodes Windows, pode ler: * [Rede no Windows](/docs/concepts/services-networking/windows-networking/) -* [Armazenamento no Windows no Kubernetes](/docs/concepts/storage/windows-storage/) -* [Gerenciamento de Recursos para Nodes Windows](/docs/concepts/configuration/windows-resource-management/) -* [Configurar RunAsUserName para Pods e Containers Windows](/docs/tasks/configure-pod-container/configure-runasusername/) +* [Armazenamento no Windows no Kubernetes](/pt-br//docs/concepts/storage/windows-storage/) +* [Gerenciamento de recursos para nós Windows](/pt-br//docs/concepts/configuration/windows-resource-management/) +* [Configurando RunAsUserName Para Pods e Contêineres Windows](/pt-br//docs/tasks/configure-pod-container/configure-runasusername/) * [Criar um Pod HostProcess no Windows](/docs/tasks/configure-pod-container/create-hostprocess-pod/) * [Configurar Contas de Serviço Gerenciadas por Grupo para Pods e Containers Windows](/docs/tasks/configure-pod-container/configure-gmsa/) -* [Segurança para Nodes Windows](/docs/concepts/security/windows-security/) +* [Segurança para Nodes Windows](/pt-br/docs/concepts/security/windows-security/) * [Dicas de Debugging no Windows](/docs/tasks/debug/debug-cluster/windows/) * [Guia para Agendar Containers Windows no Kubernetes](/docs/concepts/windows/user-guide) From ee12bd9cb135bc5b57937f3334642c98d9a30e4c Mon Sep 17 00:00:00 2001 From: Rafael Martin Alves Ferreira <117859338+rafaelmaferreira@users.noreply.github.com> Date: Fri, 18 Oct 2024 17:33:00 -0300 Subject: [PATCH 5/9] update --- content/pt-br/docs/concepts/windows/_index.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/content/pt-br/docs/concepts/windows/_index.md b/content/pt-br/docs/concepts/windows/_index.md index b367de0b5c898..27bdf229647a4 100644 --- a/content/pt-br/docs/concepts/windows/_index.md +++ b/content/pt-br/docs/concepts/windows/_index.md @@ -6,15 +6,15 @@ description: >- O Kubernetes oferece suporte a nós que executam Microsoft Windows. --- -O Kubernetes oferece suporte a {{< glossary_tooltip text="nós" term_id="nós" >}} de trabalho que executam Linux ou Microsoft Windows. +O Kubernetes oferece suporte a {{< glossary_tooltip text="nós" term_id="node" >}} de trabalho que executam Linux ou Microsoft Windows. {{% thirdparty-content single="true" %}} -A CNCF e sua controladora, a Linux Foundation, adotam uma abordagem neutra a fornecedores em relação à compatibilidade. É possível adicionar seu [servidor Windows](https://www.microsoft.com/pt-br/windows-server) como um node de trabalho em um cluster Kubernetes. +A CNCF e sua mantenedora, a Linux Foundation, adotam uma abordagem neutra a fornecedores em relação à compatibilidade. É possível adicionar seu [servidor Windows](https://www.microsoft.com/pt-br/windows-server) como um nó de trabalho em um cluster Kubernetes. Você pode [instalar e configurar o kubectl no Windows](/docs/tasks/tools/install-kubectl-windows/), independentemente do sistema operacional que você usa em seu cluster. -Se você estiver usando nodes Windows, pode ler: +Se você estiver usando nós Windows, pode ler: * [Rede no Windows](/docs/concepts/services-networking/windows-networking/) * [Armazenamento no Windows no Kubernetes](/pt-br//docs/concepts/storage/windows-storage/) @@ -22,7 +22,7 @@ Se você estiver usando nodes Windows, pode ler: * [Configurando RunAsUserName Para Pods e Contêineres Windows](/pt-br//docs/tasks/configure-pod-container/configure-runasusername/) * [Criar um Pod HostProcess no Windows](/docs/tasks/configure-pod-container/create-hostprocess-pod/) * [Configurar Contas de Serviço Gerenciadas por Grupo para Pods e Containers Windows](/docs/tasks/configure-pod-container/configure-gmsa/) -* [Segurança para Nodes Windows](/pt-br/docs/concepts/security/windows-security/) +* [Segurança para Nós Windows](/pt-br/docs/concepts/security/windows-security/) * [Dicas de Debugging no Windows](/docs/tasks/debug/debug-cluster/windows/) * [Guia para Agendar Containers Windows no Kubernetes](/docs/concepts/windows/user-guide) From e912b48885d57bc10eba5da93b006f0eb281ff6e Mon Sep 17 00:00:00 2001 From: Rafael Ferreira Date: Mon, 27 Jan 2025 20:32:53 -0300 Subject: [PATCH 6/9] add locate pt-br-user-guide --- .../pt-br/docs/concepts/windows/user-guide.md | 269 ++++++++++++++++++ 1 file changed, 269 insertions(+) create mode 100644 content/pt-br/docs/concepts/windows/user-guide.md diff --git a/content/pt-br/docs/concepts/windows/user-guide.md b/content/pt-br/docs/concepts/windows/user-guide.md new file mode 100644 index 0000000000000..a011213641226 --- /dev/null +++ b/content/pt-br/docs/concepts/windows/user-guide.md @@ -0,0 +1,269 @@ +--- +title: Guia para Executar Contêineres Windows no Kubernetes +content_type: tutorial +weight: 75 +--- + + + +Esta página fornece um passo a passo para executar contêineres Windows usando o Kubernetes. +Esta página também destaca funcionalidades específicas do Windows dentro do Kubernetes. + +É importante notar que criar e implantar serviços e cargas de trabalho no Kubernetes +comporta-se de forma muito semelhante para contêineres Linux e Windows. +Os [comandos kubectl](/pt-br/docs/reference/kubectl/) para interagir com o cluster são idênticos. +Os exemplos nesta página são fornecidos para iniciar sua experiência com contêineres Windows. + + + +## Objetivos + +Configurar um exemplo de implantação para executar contêineres Windows em um nó Windows. + +## {{% heading "prerequisites" %}} + +Você deve ter acesso a um cluster Kubernetes que inclua um +nó de trabalho executando Windows Server. + +## Começando: Implantando uma Carga de Trabalho Windows + +O exemplo de arquivo YAML abaixo implanta um aplicativo simples de servidor web executando dentro de um contêiner Windows. + +Crie um manifesto chamado `win-webserver.yaml` com o conteúdo abaixo: + +```yaml +--- +apiVersion: v1 +kind: Service +metadata: + name: win-webserver + labels: + app: win-webserver +spec: + ports: + - port: 80 + targetPort: 80 + selector: + app: win-webserver + type: NodePort +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app: win-webserver + name: win-webserver +spec: + replicas: 2 + selector: + matchLabels: + app: win-webserver + template: + metadata: + labels: + app: win-webserver + name: win-webserver + spec: + containers: + - name: windowswebserver + image: mcr.microsoft.com/windows/servercore:ltsc2019 + command: + - powershell.exe + - -command + - "<# código retirado de https://gist.github.com/19WAS85/5424431# > ; $$listener = New-Object System.Net.HttpListener ; $$listener.Prefixes.Add('http://*:80/') ; $$listener.Start() ; $$callerCounts = @{} ; Write-Host('Listening at http://*:80/') ; while ($$listener.IsListening) { ;$$context = $$listener.GetContext() ;$$requestUrl = $$context.Request.Url ;$$clientIP = $$context.Request.RemoteEndPoint.Address ;$$response = $$context.Response ;Write-Host '' ;Write-Host('> {0}' -f $$requestUrl) ; ;$$count = 1 ;$$k=$$callerCounts.Get_Item($$clientIP) ;if ($$k -ne $$null) { $$count += $$k } ;$$callerCounts.Set_Item($$clientIP, $$count) ;$$ip=(Get-NetAdapter | Get-NetIpAddress); $$header='

Windows Container Web Server

' ;$$callerCountsString='' ;$$callerCounts.Keys | % { $$callerCountsString+='

IP {0} callerCount {1} ' -f $$ip[1].IPAddress,$$callerCounts.Item($$_) } ;$$footer='' ;$$content='{0}{1}{2}' -f $$header,$$callerCountsString,$$footer ;Write-Output $$content ;$$buffer = [System.Text.Encoding]::UTF8.GetBytes($$content) ;$$response.ContentLength64 = $$buffer.Length ;$$response.OutputStream.Write($$buffer, 0, $$buffer.Length) ;$$response.Close() ;$$responseStatus = $$response.StatusCode ;Write-Host('< {0}' -f $$responseStatus) } ; " + nodeSelector: + kubernetes.io/os: windows +``` + +{{< note >}} +Mapeamento de portas também é suportado, mas para simplicidade este exemplo expõe +a porta 80 do contêiner diretamente para o Service. +{{< /note >}} + +1. Verifique se todos os nós estão saudáveis: + + ```bash + kubectl get nodes + ``` + +2. Implemente o serviço e monitore as atualizações do pod: + + ```bash + kubectl apply -f win-webserver.yaml + kubectl get pods -o wide -w + ``` + + Quando o serviço for implementado corretamente, ambos os Pods serão marcados como prontos. Para sair do comando de monitoramento, pressione Ctrl+C. + +3. Verifique se a implantação foi bem-sucedida. Para verificar: + + * Vários pods listados a partir do nó de plano de controle Linux, use `kubectl get pods` + * Comunicação de nó para pod através da rede, `curl` na porta 80 do IP do seu pod a partir do nó de plano de controle Linux para verificar uma resposta do servidor web + * Comunicação entre pods, ping entre pods (e através de hosts, se você tiver mais de um nó Windows) usando `kubectl exec` + * Comunicação de serviço para pod, `curl` no IP virtual do serviço (visto em `kubectl get services`) a partir do nó de plano de controle Linux e de pods individuais + * Descoberta de serviço, `curl` no nome do serviço com o [sufixo DNS padrão do Kubernetes](/docs/concepts/services-networking/dns-pod-service/#services) + * Conectividade de entrada, `curl` no NodePort a partir do nó de plano de controle Linux ou máquinas fora do cluster + * Conectividade de saída, `curl` em IPs externos de dentro do pod usando `kubectl exec` + +{{< note >}} +Os hosts de contêiner Windows não conseguem acessar o IP de serviços agendados neles devido a limitações da pilha de rede do Windows. +Apenas pods Windows conseguem acessar IPs de serviço. +{{< /note >}} + +## Observabilidade + +### Capturando logs de cargas de trabalho + +Os logs são um elemento importante da observabilidade; eles permitem que os usuários obtenham insights sobre o aspecto operacional das cargas de trabalho e são um componente essencial na solução de problemas. Como os contêineres Windows e as cargas de trabalho dentro de contêineres Windows se comportam de maneira diferente dos contêineres Linux, os usuários enfrentaram dificuldades na coleta de logs, limitando a visibilidade operacional. + +As cargas de trabalho Windows, por exemplo, geralmente são configuradas para registrar logs no ETW (Event Tracing for Windows) ou enviar entradas para o log de eventos de aplicativos. O [LogMonitor](https://github.com/microsoft/windows-container-tools/tree/master/LogMonitor), uma ferramenta de código aberto da Microsoft, é a maneira recomendada para monitorar as fontes de logs configuradas dentro de um contêiner Windows. O LogMonitor oferece suporte para monitorar logs de eventos, provedores ETW e logs personalizados de aplicativos, canalizando-os para o STDOUT para consumo pelo comando `kubectl logs `. + +Siga as instruções na página do GitHub do LogMonitor para copiar seus binários e arquivos de configuração para todos os seus contêineres e adicionar os entrypoints necessários para que o LogMonitor envie seus logs para o STDOUT. + + +## Configurando usuários de contêiner + +### Usando nomes de usuário configuráveis para Contêineres + +Contêineres Windows podem ser configurados para executar seus entrypoints e processos +com nomes de usuário diferentes dos padrões da imagem. +Saiba mais sobre isso [aqui](/pt-br/docs/tasks/configure-pod-container/configure-runasusername/). + +### Gerenciando Identidade de Carga de Trabalho com Contas de Serviço Gerenciadas por Grupo + +As cargas de trabalho em contêineres Windows podem ser configuradas para usar Contas de Serviço Gerenciadas por Grupo (GMSA). +As GMSAs são um tipo específico de conta do Active Directory que fornece gerenciamento automático de senhas, +gerenciamento simplificado de nomes principais de serviço (SPN) e a capacidade de delegar o gerenciamento a outros administradores em vários servidores. +Contêineres configurados com uma GMSA podem acessar recursos de domínio do Active Directory externo enquanto mantêm a identidade configurada com a GMSA. +Saiba mais sobre como configurar e usar GMSA para contêineres Windows [aqui](/pt-br/docs/tasks/configure-pod-container/configure-gmsa/). + +## Taints e tolerations + +Os usuários precisam usar uma combinação de {{}} e selectors de nós para agendar cargas de trabalho Linux e Windows em seus respectivos nós específicos de sistema operacional. A abordagem recomendada está descrita abaixo, com o objetivo principal de não quebrar a compatibilidade com cargas de trabalho Linux existentes. + +Você pode (e deve) definir `.spec.os.name` para cada Pod, para indicar o sistema operacional para o qual os contêineres nesse Pod foram projetados. Para Pods que executam contêineres Linux, defina `.spec.os.name` como `linux`. Para Pods que executam contêineres Windows, defina `.spec.os.name` como `windows`. + +{{< note >}} +Se você estiver executando uma versão do Kubernetes anterior à 1.24, pode ser necessário habilitar o `IdentifyPodOS` [feature gate](/docs/reference/command-line-tools-reference/feature-gates/) para definir um valor para `.spec.pod.os`. +{{< /note >}} + +O scheduler não utiliza o valor de `.spec.os.name` ao atribuir Pods a nós. Você deve usar os mecanismos normais do Kubernetes para [atribuir Pods a nós](/docs/concepts/scheduling-eviction/assign-pod-node/) para garantir que o plano de controle do seu cluster coloque os Pods em nós que estão executando o sistema operacional apropriado. + +O valor de `.spec.os.name` não tem efeito no agendamento dos Pods Windows, então taints e tolerations (ou selectors de nós) ainda são necessários para garantir que os Pods Windows sejam atribuídos aos nós Windows apropriados. + +### Garantindo que cargas de trabalho específicas de SO sejam atribuídas ao host de contêiner apropriado + +Os usuários podem garantir que contêineres Windows sejam agendados no host apropriado usando taints e tolerations. Todos os nós Kubernetes que executam o Kubernetes {{< skew currentVersion >}} têm os seguintes rótulos padrão: + +* kubernetes.io/os = [windows|linux] +* kubernetes.io/arch = [amd64|arm64|...] + +Se uma especificação de Pod não especificar um `nodeSelector`, como `"kubernetes.io/os": windows`, é possível que o Pod seja agendado em qualquer host, Windows ou Linux. Isso pode ser problemático, já que um contêiner Windows só pode ser executado em Windows e um contêiner Linux só pode ser executado em Linux. A prática recomendada para o Kubernetes {{< skew currentVersion >}} é usar um `nodeSelector`. + +No entanto, em muitos casos, os usuários têm um grande número de implantações existentes para contêineres Linux, bem como um ecossistema de configurações prontas para uso, como gráficos Helm da comunidade e casos de geração programática de Pods, como com operadores. Nessas situações, você pode hesitar em fazer a alteração de configuração para adicionar campos `nodeSelector` a todos os Pods e modelos de Pod. A alternativa é usar taints. Como o kubelet pode definir taints durante o registro, ele pode ser facilmente modificado para adicionar automaticamente um taint ao executar apenas em Windows. + +Por exemplo: `--register-with-taints='os=windows:NoSchedule'` + +Ao adicionar um taint a todos os nós Windows, nada será agendado neles (isso inclui Pods Linux existentes). Para que um Pod Windows seja agendado em um nó Windows, ele precisará tanto do `nodeSelector` quanto da toleration correspondente para escolher Windows. + +```yaml +nodeSelector: + kubernetes.io/os: windows + node.kubernetes.io/windows-build: '10.0.17763' +tolerations: + - key: "os" + operator: "Equal" + value: "windows" + effect: "NoSchedule" +``` + +### Lidando com várias versões do Windows no mesmo cluster + +A versão do Windows Server usada por cada Pod deve corresponder à do nó. Se você quiser usar várias versões do Windows Server no mesmo cluster, deverá definir rótulos adicionais de nó e campos `nodeSelector`. + +O Kubernetes adiciona automaticamente um rótulo, [`node.kubernetes.io/windows-build`](/docs/reference/labels-annotations-taints/#nodekubernetesiowindows-build), para simplificar isso. + +Este rótulo reflete o número principal, secundário e de build do Windows que precisam corresponder para compatibilidade. Aqui estão os valores usados para cada versão do Windows Server: + +| Nome do Produto | Versão | +|-------------------------------------|-----------------------| +| Windows Server 2019 | 10.0.17763 | +| Windows Server 2022 | 10.0.20348 | + +### Simplificando com RuntimeClass + +[RuntimeClass] pode ser usado para simplificar o processo de usar taints e tolerations. Um administrador de cluster pode criar um objeto `RuntimeClass`, que é usado para encapsular esses taints e tolerations. + +1. Salve este arquivo como `runtimeClasses.yml`. Ele inclui o `nodeSelector` apropriado para o SO, arquitetura e versão do Windows. + + ```yaml + --- + apiVersion: node.k8s.io/v1 + kind: RuntimeClass + metadata: + name: windows-2019 + handler: example-container-runtime-handler + scheduling: + nodeSelector: + kubernetes.io/os: 'windows' + kubernetes.io/arch: 'amd64' + node.kubernetes.io/windows-build: '10.0.17763' + tolerations: + - effect: NoSchedule + key: os + operator: Equal + value: "windows" + ``` + +2. Execute `kubectl create -f runtimeClasses.yml` como administrador do cluster. +3. Adicione `runtimeClassName: windows-2019` conforme apropriado às especificações de Pods. + + Por exemplo: + + ```yaml + --- + apiVersion: apps/v1 + kind: Deployment + metadata: + name: iis-2019 + labels: + app: iis-2019 + spec: + replicas: 1 + template: + metadata: + name: iis-2019 + labels: + app: iis-2019 + spec: + runtimeClassName: windows-2019 + containers: + - name: iis + image: mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2019 + resources: + limits: + cpu: 1 + memory: 800Mi + requests: + cpu: .1 + memory: 300Mi + ports: + - containerPort: 80 + selector: + matchLabels: + app: iis-2019 + --- + apiVersion: v1 + kind: Service + metadata: + name: iis + spec: + type: LoadBalancer + ports: + - protocol: TCP + port: 80 + selector: + app: iis-2019 + ``` + +[RuntimeClass]: /docs/concepts/containers/runtime-class/ From 66e093befd74657e26c9627a1a89b8f9e22156dd Mon Sep 17 00:00:00 2001 From: Rafael Martin Alves Ferreira <117859338+rafaelmaferreira@users.noreply.github.com> Date: Sun, 2 Feb 2025 19:23:03 -0300 Subject: [PATCH 7/9] Update content/pt-br/docs/concepts/windows/user-guide.md Co-authored-by: Mauren <698465+stormqueen1990@users.noreply.github.com> --- content/pt-br/docs/concepts/windows/user-guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/pt-br/docs/concepts/windows/user-guide.md b/content/pt-br/docs/concepts/windows/user-guide.md index a011213641226..ce83cbb38acf5 100644 --- a/content/pt-br/docs/concepts/windows/user-guide.md +++ b/content/pt-br/docs/concepts/windows/user-guide.md @@ -80,7 +80,7 @@ Mapeamento de portas também é suportado, mas para simplicidade este exemplo ex a porta 80 do contêiner diretamente para o Service. {{< /note >}} -1. Verifique se todos os nós estão saudáveis: +1. Verifique se todos os nós estão íntegros: ```bash kubectl get nodes From 06cdfc2018c07dd420b6d8fd481f1dd1c0e0cab6 Mon Sep 17 00:00:00 2001 From: Rafael Martin Alves Ferreira <117859338+rafaelmaferreira@users.noreply.github.com> Date: Sun, 2 Feb 2025 19:24:01 -0300 Subject: [PATCH 8/9] Update content/pt-br/docs/concepts/windows/user-guide.md Co-authored-by: Mauren <698465+stormqueen1990@users.noreply.github.com> --- content/pt-br/docs/concepts/windows/user-guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/pt-br/docs/concepts/windows/user-guide.md b/content/pt-br/docs/concepts/windows/user-guide.md index ce83cbb38acf5..8ab1172928ffc 100644 --- a/content/pt-br/docs/concepts/windows/user-guide.md +++ b/content/pt-br/docs/concepts/windows/user-guide.md @@ -86,7 +86,7 @@ a porta 80 do contêiner diretamente para o Service. kubectl get nodes ``` -2. Implemente o serviço e monitore as atualizações do pod: +2. Implante o serviço e monitore as atualizações do pod: ```bash kubectl apply -f win-webserver.yaml From 5bb9cae765f099e1411190eb41fe0acf489c195b Mon Sep 17 00:00:00 2001 From: Rafael Martin Alves Ferreira <117859338+rafaelmaferreira@users.noreply.github.com> Date: Sun, 2 Feb 2025 19:24:16 -0300 Subject: [PATCH 9/9] Update content/pt-br/docs/concepts/windows/user-guide.md Co-authored-by: Mauren <698465+stormqueen1990@users.noreply.github.com> --- content/pt-br/docs/concepts/windows/user-guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/pt-br/docs/concepts/windows/user-guide.md b/content/pt-br/docs/concepts/windows/user-guide.md index 8ab1172928ffc..1c90406ac72e2 100644 --- a/content/pt-br/docs/concepts/windows/user-guide.md +++ b/content/pt-br/docs/concepts/windows/user-guide.md @@ -93,7 +93,7 @@ a porta 80 do contêiner diretamente para o Service. kubectl get pods -o wide -w ``` - Quando o serviço for implementado corretamente, ambos os Pods serão marcados como prontos. Para sair do comando de monitoramento, pressione Ctrl+C. + Quando o serviço for implantado corretamente, ambos os Pods serão marcados como prontos. Para sair do comando de monitoramento, pressione Ctrl+C. 3. Verifique se a implantação foi bem-sucedida. Para verificar: