You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
## Depuração com execução dentro do contêiner {#container-exec}
346
346
347
-
Se a {{< glossary_tooltip text="imagem do contêiner" term_id="image" >}} incluir ferramentas de depuração,
348
-
como é o caso de imagens baseadas nos sistemas operacionais Linux e Windows, você pode executar comandos dentro de um contêiner específico usando `kubectl exec`:
347
+
Se a {{< glossary_tooltip text="imagem do contêiner" term_id="image" >}} incluir ferramentas de depuração, como é o caso de imagens baseadas nos sistemas operacionais Linux e Windows, você pode executar comandos dentro de um contêiner específico usando `kubectl exec`:
{{< glossary_tooltip text="Contêineres efêmeros" term_id="ephemeral-container" >}} são úteis para uma solução de problemas
377
-
interativa quando `kubectl exec` não é suficiente, como no caso de um contêiner que falhou ou uma imagem de contêiner
375
+
{{< glossary_tooltip text="Contêineres efêmeros" term_id="ephemeral-container" >}} são úteis para uma solução de problemas
376
+
interativa quando `kubectl exec` não é suficiente, como no caso de um contêiner que falhou ou uma imagem de contêiner
378
377
que não inclui ferramentas de depuração, como ocorre com [imagens distroless](https://github.com/GoogleContainerTools/distroless).
379
378
380
379
### Exemplo de depuração usando contêineres efêmeros {#ephemeral-container-example}
@@ -415,8 +414,7 @@ Este comando adiciona um novo contêiner `busybox` e o anexa. O parâmetro `--ta
415
414
Ele é necessário aqui porque `kubectl run` não habilita o [compartilhamento do namespace de processo](/docs/tasks/configure-pod-container/share-process-namespace/) no Pod que ele cria.
416
415
417
416
{{< note >}}
418
-
O parâmetro `--target` deve ser suportado pelo {{< glossary_tooltip
419
-
text="Agente de execução do Contêiner" term_id="container-runtime" >}}. Quando não for suportado, o Contêiner Efêmero pode não ser iniciado ou pode ser iniciado com um namespace de processo isolado, de modo que `ps` não revelará processos em outros contêineres.
417
+
O parâmetro `--target` deve ser suportado pelo {{< glossary_tooltip text="Agente de execução do Contêiner" term_id="container-runtime" >}}. Quando não for suportado, o Contêiner Efêmero pode não ser iniciado ou pode ser iniciado com um namespace de processo isolado, de modo que `ps` não revelará processos em outros contêineres.
420
418
{{< /note >}}
421
419
422
420
Você pode visualizar o estado do contêiner efêmero recém-criado usando `kubectl describe`:
@@ -459,11 +457,11 @@ modificados para facilitar a depuração.
459
457
460
458
### Copiando um Pod enquanto adiciona um novo contêiner
461
459
462
-
Adicionar um novo contêiner pode ser útil quando sua aplicação está em execução,
463
-
mas não se comporta como esperado e você deseja adicionar ferramentas adicionais
460
+
Adicionar um novo contêiner pode ser útil quando sua aplicação está em execução,
461
+
mas não se comporta como esperado e você deseja adicionar ferramentas adicionais
464
462
de depuração ao Pod.
465
463
466
-
Por exemplo, talvez as imagens do contêiner da sua aplicação sejam baseadas em `busybox`, mas você precise de ferramentas de depuração que não estão incluídas no `busybox`.
464
+
Por exemplo, talvez as imagens do contêiner da sua aplicação sejam baseadas em `busybox`, mas você precise de ferramentas de depuração que não estão incluídas no `busybox`.
467
465
Você pode simular esse cenário usando `kubectl run`:
468
466
469
467
```shell
@@ -485,8 +483,8 @@ root@myapp-debug:/#
485
483
{{< note >}}
486
484
*`kubectl debug` gera automaticamente um nome para o contêiner caso você não escolha um usando a opção `--container`.
487
485
* A opção `-i` faz com que `kubectl debug` anexe ao novo contêiner por padrão.
488
-
Você pode impedir isso especificando `--attach=false`. Se sua sessão for desconectada, você pode se reconectar usando `kubectl attach`.
489
-
* A opção `--share-processes` permite que os contêineres deste Pod visualizem processos
486
+
Você pode impedir isso especificando `--attach=false`. Se sua sessão for desconectada, você pode se reconectar usando `kubectl attach`.
487
+
* A opção `--share-processes` permite que os contêineres deste Pod visualizem processos
490
488
de outros contêineres no mesmo Pod. Para mais informações sobre como isso funciona, veja [Compartilhar o Namespace de Processos entre Contêineres em um Pod](/docs/tasks/configure-pod-container/share-process-namespace/).
491
489
{{< /note >}}
492
490
@@ -565,7 +563,7 @@ Agora use `kubectl debug` para criar uma cópia e alterar a imagem do contêiner
A sintaxe de `--set-image` usa o mesmo formato `container_name=image` que `kubectl set image`.
566
+
A sintaxe de `--set-image` usa o mesmo formato `container_name=image` que `kubectl set image`.
569
567
`*=ubuntu` significa alterar a imagem de todos os contêineres para `ubuntu`.
570
568
571
569
Não se esqueça de limpar o Pod de depuração quando terminar de usá-lo:
@@ -576,7 +574,7 @@ kubectl delete pod myapp myapp-debug
576
574
577
575
## Depuração via shell no Nó {#node-shell-session}
578
576
579
-
Se nenhuma dessas abordagens funcionar, você pode identificar o Nó onde o Pod está sendo executado e criar um Pod nesse Nó.
577
+
Se nenhuma dessas abordagens funcionar, você pode identificar o Nó onde o Pod está sendo executado e criar um Pod nesse Nó.
580
578
Para criar um shell interativo em um Nó usando `kubectl debug`, execute:
581
579
582
580
```shell
@@ -593,8 +591,8 @@ Ao criar uma sessão de depuração em um Nó, tenha em mente que:
593
591
594
592
*`kubectl debug` gera automaticamente o nome do novo Pod com base no nome do Nó.
595
593
* O sistema de arquivos raiz do Nó será montado em `/host`.
596
-
* O contêiner é executado nos namespaces de IPC, Rede e PID do host,
597
-
embora o Pod não seja privilegiado, então a leitura de algumas informações de
594
+
* O contêiner é executado nos namespaces de IPC, Rede e PID do host,
595
+
embora o Pod não seja privilegiado, então a leitura de algumas informações de
598
596
processos pode falhar, e `chroot /host` pode não funcionar.
599
597
* Se você precisar de um Pod privilegiado, crie-o manualmente ou use a opção `--profile=sysadmin`.
600
598
@@ -606,13 +604,13 @@ kubectl delete pod node-debugger-mynode-pdx84
606
604
607
605
## Depuração de um Pod ou Nó aplicando um perfil {#debugging-profiles}
608
606
609
-
Ao usar `kubectl debug` para depurar um Nó por meio de um Pod de depuração, um Pod por meio de um Contêiner Efêmero ou um Pod copiado, você pode aplicar um perfil a eles.
610
-
Ao aplicar um perfil, propriedades específicas, como [securityContext](/docs/tasks/configure-pod-container/security-context/), são definidas, permitindo a adaptação a diferentes cenários.
607
+
Ao usar `kubectl debug` para depurar um Nó por meio de um Pod de depuração, um Pod por meio de um Contêiner Efêmero ou um Pod copiado, você pode aplicar um perfil a eles.
608
+
Ao aplicar um perfil, propriedades específicas, como [securityContext](/docs/tasks/configure-pod-container/security-context/), são definidas, permitindo a adaptação a diferentes cenários.
611
609
Existem dois tipos de perfis: perfil estático e perfil personalizado.
612
610
613
611
### Aplicando um Perfil Estático {#static-profile}
614
612
615
-
Um perfil estático é um conjunto de propriedades predefinidas que podem ser aplicadas usando a opção `--profile`.
613
+
Um perfil estático é um conjunto de propriedades predefinidas que podem ser aplicadas usando a opção `--profile`.
616
614
Os perfis disponíveis são os seguintes:
617
615
618
616
| Profile | Description |
@@ -626,12 +624,12 @@ Os perfis disponíveis são os seguintes:
626
624
627
625
628
626
{{< note >}}
629
-
Se você não especificar `--profile`, o perfil `legacy` será usado por padrão, mas há planos para sua descontinuação em um futuro próximo.
627
+
Se você não especificar `--profile`, o perfil `legacy` será usado por padrão, mas há planos para sua descontinuação em um futuro próximo.
630
628
Portanto, é recomendável usar outros perfis, como `general`.
631
629
{{< /note >}}
632
630
633
631
634
-
Suponha que você crie um Pod e queira depurá-lo.
632
+
Suponha que você crie um Pod e queira depurá-lo.
635
633
Primeiro, crie um Pod chamado `myapp` como exemplo:
0 commit comments