Skip to content

Commit fb2b6a5

Browse files
authored
Merge pull request #35110 from DonatoHorn/ptbr/runas
[pt-br] Add docs/tasks/configure-pod-container/configure-runasusername.md
2 parents 75e1101 + a17b10d commit fb2b6a5

File tree

3 files changed

+174
-0
lines changed

3 files changed

+174
-0
lines changed
Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
---
2+
title: Configurando RunAsUserName Para Pods e Contêineres Windows
3+
content_type: task
4+
weight: 20
5+
---
6+
7+
<!-- overview -->
8+
9+
{{< feature-state for_k8s_version="v1.18" state="stable" >}}
10+
11+
Esta página mostra como usar a configuração `runAsUserName` para Pods
12+
e contêineres que serão executados em nós Windows. Isso é aproximadamente
13+
equivalente à configuração `runAsUser` específica do Linux, permitindo a você
14+
executar aplicativos em um contêiner com um nome de usuário diferente do padrão.
15+
16+
## {{% heading "prerequisites" %}}
17+
18+
Você precisa ter um cluster Kubernetes, e a ferramenta de linha de comando Kubectl
19+
deve ser configurada para se comunicar com o seu cluster. Espera-se que o cluster
20+
tenha nós de carga de trabalho Windows, onde os Pods com contêineres executando as cargas de trabalho do Windows,
21+
serão agendados.
22+
23+
<!-- steps -->
24+
25+
## Defina o nome de usuário para um Pod
26+
27+
Para especificar o nome de usuário com o qual executar os processos de contêiner do Pod,
28+
inclua o campo `securityContext` ([PodSecurityContext](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#securitycontext-v1-core))
29+
na especificação do Pod, e dentro dela, o campo `WindowsOptions` ([WindowsSecurityContextOptions](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#windowssecuritycontextoptions-v1-core))
30+
contendo o campo `runAsUserName`.
31+
32+
As opções de contexto de segurança do Windows que você especificar para um Pod,
33+
se aplicam a todos os contêineres do Pod, inclusive os de inicialização.
34+
35+
Veja abaixo um arquivo de configuração para um Pod do Windows que possui o campo
36+
`runAsUserName` definido:
37+
38+
{{< codenew file="windows/run-as-username-pod.yaml" >}}
39+
40+
Crie o Pod:
41+
42+
```shell
43+
kubectl apply -f https://k8s.io/examples/windows/run-as-username-pod.yaml
44+
```
45+
46+
Verifique se o contêiner do Pod está em execução:
47+
48+
```shell
49+
kubectl get pod run-as-username-pod-demo
50+
```
51+
52+
Abra um shell para o contêiner em execução:
53+
54+
```shell
55+
kubectl exec -it run-as-username-pod-demo -- powershell
56+
```
57+
58+
Verifique se o shell está executando com o nome de usuário correto:
59+
60+
```powershell
61+
echo $env:USERNAME
62+
```
63+
64+
A saída deve ser:
65+
66+
```
67+
ContainerUser
68+
```
69+
70+
## Defina o nome de usuário para o contêiner
71+
72+
Para especificar o nome de usuário com o qual executar os processos de um contêiner,
73+
inclua o campo `SecurityContext` ([SecurityContext](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#securitycontext-v1-core))
74+
no manifesto do contêiner, e dentro dele, o campo `WindowsOptions`
75+
([WindowsSecurityContextOptions](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#windowssecuritycontextoptions-v1-core))
76+
contendo o campo `runAsUserName`.
77+
78+
As opções de contexto de segurança do Windows que você especificar para um contêiner,
79+
se aplicam apenas a esse contêiner individual, e substituem as configurações feitas
80+
no nível do Pod.
81+
82+
Aqui está o arquivo de configuração para um pod que possui um contêiner,
83+
e o campo `runAsUserName` está definido no nível do Pod e no nível do contêiner:
84+
85+
{{< codenew file="windows/run-as-username-container.yaml" >}}
86+
87+
Crie o Pod:
88+
89+
```shell
90+
kubectl apply -f https://k8s.io/examples/windows/run-as-username-container.yaml
91+
```
92+
93+
Verifique se o contêiner do Pod está em execução:
94+
95+
```shell
96+
kubectl get pod run-as-username-container-demo
97+
```
98+
99+
Abra um shell para o contêiner em execução:
100+
101+
```shell
102+
kubectl exec -it run-as-username-container-demo -- powershell
103+
```
104+
105+
Verifique se o shell está executando o usuário correto, (aquele definido no nível do contêiner):
106+
107+
```powershell
108+
echo $env:USERNAME
109+
```
110+
111+
A saída deve ser:
112+
113+
```
114+
ContainerAdministrator
115+
```
116+
117+
## Limitações de nomes de usuários no Windows
118+
119+
Para usar esse recurso, o valor definido no campo `runAsUserName` deve ser um nome
120+
de usuário válido. Deve ter o seguinte formato: `DOMAIN\USER`, onde ` DOMAIN\`
121+
é opcional. Os nomes de usuário do Windows não diferenciam letras maiúsculas
122+
e minúsculas. Além disso, existem algumas restrições em relação ao `DOMAIN` e `USER`:
123+
- O campo `runAsUserName`: não pode estar vazio, e não pode conter caracteres
124+
de controle (Valores ASCII : `0x00-0x1F`, `0x7F`)
125+
- O nome de `DOMAIN` NetBios, ou um nome de DNS, cada um com suas próprias restrições:
126+
- Nomes NetBios: máximo de 15 caracteres, não podem iniciar com `.` (ponto),
127+
e não podem conter os seguintes caracteres: `\ / : * ? " < > |`
128+
- Nomes DNS: máximo de 255 caracteres, contendo apenas caracteres alfanuméricos,
129+
pontos, e traços, e não podem iniciar ou terminar com um `.` (ponto) ou `-` (traço).
130+
- O `USER`: deve ter no máximo 20 caracteres, não pode conter *somente* pontos ou espaços,
131+
e não pode conter os seguintes caracteres: `" / \ [ ] : ; | = , + * ? < > @`.
132+
133+
Exemplos de valores aceitáveis para o campo `runAsUserName`: `ContainerAdministrator`,
134+
`ContainerUser`, `NT AUTHORITY\NETWORK SERVICE`, `NT AUTHORITY\LOCAL SERVICE`.
135+
136+
Para mais informações sobre estas limitações, verifique [aqui](https://support.microsoft.com/en-us/help/909264/naming-conventions-in-active-directory-for-computers-domains-sites-and) e [aqui](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.localaccounts/new-localuser?view=powershell-5.1).
137+
138+
## {{% heading "whatsnext" %}}
139+
140+
* [Guia Para Agendar Contêineres Windows em Kubernetes](/docs/concepts/windows/user-guide/)
141+
* [Gerenciando Identidade de Cargas de Trabalho com Contas de Serviço Gerenciadas em Grupo (GMSA)](/docs/concepts/windows/user-guide/#managing-workload-identity-with-group-managed-service-accounts)
142+
* [Configure GMSA Para Pods e Contêineres Windows](/docs/tasks/configure-pod-container/configure-gmsa/)
143+
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
apiVersion: v1
2+
kind: Pod
3+
metadata:
4+
name: run-as-username-container-demo
5+
spec:
6+
securityContext:
7+
windowsOptions:
8+
runAsUserName: "ContainerUser"
9+
containers:
10+
- name: run-as-username-demo
11+
image: mcr.microsoft.com/windows/servercore:ltsc2019
12+
command: ["ping", "-t", "localhost"]
13+
securityContext:
14+
windowsOptions:
15+
runAsUserName: "ContainerAdministrator"
16+
nodeSelector:
17+
kubernetes.io/os: windows
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
apiVersion: v1
2+
kind: Pod
3+
metadata:
4+
name: run-as-username-pod-demo
5+
spec:
6+
securityContext:
7+
windowsOptions:
8+
runAsUserName: "ContainerUser"
9+
containers:
10+
- name: run-as-username-demo
11+
image: mcr.microsoft.com/windows/servercore:ltsc2019
12+
command: ["ping", "-t", "localhost"]
13+
nodeSelector:
14+
kubernetes.io/os: windows

0 commit comments

Comments
 (0)