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
# alias curto para definir/mostrar contexto/namespace (funciona apenas para bash e shells compatíveis com bash, contexto atual a ser definido antes de usar kn para definir namespace)
87
+
alias kx='f() { [ "$1" ] && kubectl config use-context $1 || kubectl config current-context ; } ; f'
kubectl get node --selector='!node-role.kubernetes.io/control-plane'
173
194
174
195
# Obter todos os pods em execução no namespace
175
196
kubectl get pods --field-selector=status.phase=Running
@@ -201,12 +222,24 @@ kubectl get events --sort-by=.metadata.creationTimestamp
201
222
202
223
# Compara o estado atual do cluster com o estado em que o cluster estaria se o manifesto fosse aplicado.
203
224
kubectl diff -f ./my-manifest.yaml
225
+
226
+
# Produzir uma árvore delimitada por ponto de todas as chaves retornadas para nós
227
+
# Útil ao localizar uma chave em uma estrutura JSON aninhada complexa
228
+
kubectl get nodes -o json | jq -c 'paths|join(".")'
229
+
230
+
# Produzir uma árvore delimitada por ponto de todas as chaves retornadas para pods, etc.
231
+
kubectl get pods -o json | jq -c 'paths|join(".")'
232
+
233
+
# Produza ENV para todos os pods, supondo que você tenha um contêiner padrão para os pods, namespace padrão e o comando `env` é compatível.
234
+
# Útil ao executar qualquer comando suportado em todos os pods, não apenas `env`
235
+
forpodin$(kubectl get po --output=jsonpath={.items..metadata.name});doecho$pod&& kubectl exec -it $pod -- env;done
236
+
237
+
# Obtenha o sub-recurso de status de uma implantação
238
+
kubectl get deployment nginx-deployment --subresource=status
204
239
```
205
240
206
241
## Atualizando Recursos
207
242
208
-
A partir da versão 1.11 `rolling-update` foi descontinuado (veja [CHANGELOG-1.11.md](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.11.md)), utilize o comando `rollout` no lugar deste.
209
-
210
243
```bash
211
244
kubectl set image deployment/frontend www=image:v2 # Aplica o rollout nos containers "www" do deployment "frontend", atualizando a imagem
212
245
kubectl rollout history deployment/frontend # Verifica o histórico do deployment, incluindo a revisão
@@ -274,7 +303,7 @@ kubectl scale --current-replicas=2 --replicas=3 deployment/mysql # Se o tamanho
274
303
kubectl scale --replicas=5 rc/foo rc/bar rc/baz # Escalar vários replicaset
275
304
```
276
305
277
-
## Exclusão de Recursos
306
+
## Deleting resources
278
307
279
308
```bash
280
309
kubectl delete -f ./pod.json # Exclua um pod usando o tipo e o nome especificados em pod.json
@@ -297,17 +326,47 @@ kubectl logs my-pod -c my-container --previous # despejar logs de um contê
297
326
kubectl logs -f my-pod # Fluxo de logs de pod (stdout)
298
327
kubectl logs -f my-pod -c my-container # Fluxo de logs para um específico contêiner em um pod (stdout, caixa com vários contêineres)
299
328
kubectl logs -f -l name=myLabel --all-containers # transmitir todos os logs de pods com a label name=myLabel (stdout)
300
-
kubectl run -i --tty busybox --image=busybox -- sh # Executar pod como shell interativo
301
-
kubectl run nginx --image=nginx --restart=Never -n
302
-
mynamespace # Execute o pod nginx em um namespace específico
303
-
kubectl run nginx --image=nginx --restart=Never # Execute o pod nginx e salve suas especificações em um arquivo chamado pod.yaml
304
-
--dry-run -o yaml > pod.yaml
305
-
329
+
kubectl run -i --tty busybox --image=busybox:1.28 -- sh # Executar pod como shell interativo
330
+
kubectl run nginx --image=nginx -n mynamespace # Inicie uma única instância do pod nginx no namespace de mynamespace
331
+
kubectl run nginx --image=nginx --dry-run=client -o yaml > pod.yaml
332
+
# Gere a especificação para executar o pod nginx e grave-a em um arquivo chamado pod.yaml
306
333
kubectl attach my-pod -i # Anexar ao contêiner em execução
307
334
kubectl port-forward my-pod 5000:6000 # Ouça na porta 5000 na máquina local e encaminhe para a porta 6000 no my-pod
308
335
kubectl exec my-pod -- ls / # Executar comando no pod existente (1 contêiner)
336
+
kubectl exec --stdin --tty my-pod -- /bin/sh # Acesso de shell interativo a um pod em execução (apenas 1 contêiner)
309
337
kubectl exec my-pod -c my-container -- ls / # Executar comando no pod existente (pod com vários contêineres)
310
338
kubectl top pod POD_NAME --containers # Mostrar métricas para um determinado pod e seus contêineres
339
+
kubectl top pod POD_NAME --sort-by=cpu # Mostrar métricas para um determinado pod e classificá-lo por 'cpu' ou 'memória'
340
+
```
341
+
342
+
## Copiar arquivos e diretórios de e para contêineres
343
+
344
+
```bash
345
+
kubectl cp /tmp/foo_dir my-pod:/tmp/bar_dir # Copie o diretório local /tmp/foo_dir para /tmp/bar_dir em um pod remoto no namespace atual
346
+
kubectl cp /tmp/foo my-pod:/tmp/bar -c my-container # Copie o arquivo local /tmp/foo para /tmp/bar em um pod remoto em um contêiner específico
347
+
kubectl cp /tmp/foo my-namespace/my-pod:/tmp/bar # Copie o arquivo local /tmp/foo para /tmp/bar em um pod remoto no namespace my-namespace
348
+
kubectl cp my-namespace/my-pod:/tmp/foo /tmp/bar # Copie /tmp/foo de um pod remoto para /tmp/bar localmente
349
+
```
350
+
{{< note >}}
351
+
`kubectl cp` requer que o binário 'tar' esteja presente em sua imagem de contêiner. Se 'tar' não estiver presente, `kubectl cp` falhará.
352
+
Para casos de uso avançado, como links simbólicos, expansão curinga ou preservação do modo de arquivo, considere usar `kubectl exec`.
353
+
{{< /note >}}
354
+
355
+
```bash
356
+
tar cf - /tmp/foo | kubectl exec -i -n my-namespace my-pod -- tar xf - -C /tmp/bar # Copie o arquivo local /tmp/foo para /tmp/bar em um pod remoto no namespace my-namespace
357
+
kubectl exec -n my-namespace my-pod -- tar cf - /tmp/foo | tar xf - -C /tmp/bar # Copie /tmp/foo de um pod remoto para /tmp/bar localmente
358
+
```
359
+
360
+
## Interagindo com implantações e serviços
361
+
```bash
362
+
kubectl logs deploy/my-deployment # despejar logs de pod para uma implantação (caso de contêiner único)
363
+
kubectl logs deploy/my-deployment -c my-container # despejar logs de pod para uma implantação (caso de vários contêineres)
364
+
365
+
kubectl port-forward svc/my-service 5000 # escute na porta local 5000 e encaminhe para a porta 5000 no back-end do serviço
366
+
kubectl port-forward svc/my-service 5000:my-service-port # escute na porta local 5000 e encaminhe para a porta de destino do serviço com o nome <my-service-port>
367
+
368
+
kubectl port-forward deploy/my-deployment 5000:6000 # escute na porta local 5000 e encaminhe para a porta 6000 em um pod criado por <my-deployment>
369
+
kubectl exec deploy/my-deployment -- ls # execute o comando no primeiro pod e primeiro contêiner na implantação (casos de um ou vários contêineres)
311
370
```
312
371
313
372
## Interagindo com Nós e Cluster
@@ -321,13 +380,16 @@ kubectl cluster-info # Exibir e
321
380
kubectl cluster-info dump # Despejar o estado atual do cluster no stdout
322
381
kubectl cluster-info dump --output-directory=/path/to/cluster-state # Despejar o estado atual do cluster em /path/to/cluster-state
323
382
383
+
# Veja os taints existentes nos nós atuais.
384
+
kubectl get nodes -o='custom-columns=NodeName:.metadata.name,TaintKey:.spec.taints[*].key,TaintValue:.spec.taints[*].value,TaintEffect:.spec.taints[*].effect'
385
+
324
386
# Se uma `taint` com essa chave e efeito já existir, seu valor será substituído conforme especificado.
Listar todos os tipos de recursos suportados, juntamente com seus nomes abreviados, [Grupo de API](/docs/concepts/overview/kubernetes-api/#api-groups), se eles são por [namespaces](/docs/concepts/overview/working-with-objects/namespaces), e [objetos](/docs/concepts/overview/working-with-objects/kubernetes-objects):
392
+
Liste todos os tipos de recursos suportados junto com seus nomes abreviados, [grupo de API](/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning), sejam eles [namespaced](/docs/concepts/overview/working-with-objects/namespaces) e [Kind](/docs/concepts/overview/working-with-objects/kubernetes-objects):
331
393
332
394
```bash
333
395
kubectl api-resources
@@ -359,9 +421,27 @@ Formato de saída | Descrição
359
421
`-o=wide` | Saída no formato de texto sem formatação com qualquer informação adicional e, para pods, o nome do nó está incluído
360
422
`-o=yaml` | Saída de um objeto de API formatado em YAML
361
423
424
+
Exemplos usando `-o=custom-columns`:
425
+
426
+
```bash
427
+
# Todas as imagens em execução em um cluster
428
+
kubectl get pods -A -o=custom-columns='DATA:spec.containers[*].image'
429
+
430
+
# Todas as imagens em execução no namespace: padrão, agrupadas por pod
431
+
kubectl get pods --namespace default --output=custom-columns="NAME:.metadata.name,IMAGE:.spec.containers[*].image"
432
+
433
+
# Todas as imagens excluindo "registry.k8s.io/coredns:1.6.2"
434
+
kubectl get pods -A -o=custom-columns='DATA:spec.containers[?(@.image!="registry.k8s.io/coredns:1.6.2")].image'
435
+
436
+
# Todos os campos sob metadados, independentemente do nome
437
+
kubectl get pods -A -o=custom-columns='DATA:metadata.*'
438
+
```
439
+
440
+
Mais exemplos no kubectl [documentação de referência](/docs/reference/kubectl/#custom-columns).
441
+
362
442
### Verbosidade da Saída do Kubectl e Debugging
363
443
364
-
A verbosidade do Kubectl é controlado com os sinalizadores`-v` ou` --v` seguidos por um número inteiro representando o nível do log. As convenções gerais de log do Kubernetes e os níveis de log associados são descritos [aqui](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-instrumentation/logging.md).
444
+
A verbosidade do Kubectl é controlado com as flags`-v` ou` --v` seguidos por um número inteiro representando o nível do log. As convenções gerais de log do Kubernetes e os níveis de log associados são descritos [aqui](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-instrumentation/logging.md).
365
445
366
446
Verbosidade | Descrição
367
447
--------------| -----------
@@ -370,6 +450,7 @@ Verbosidade | Descrição
370
450
`--v=2` | Informações úteis sobre o estado estacionário sobre o serviço e mensagens importantes de log que podem se correlacionar com alterações significativas no sistema. Este é o nível de log padrão recomendado para a maioria dos sistemas.
371
451
`--v=3` | Informações estendidas sobre alterações.
372
452
`--v=4` | Detalhamento no nível de debugging.
453
+
`--v=5` | Verbosidade do nível de rastreamento.
373
454
`--v=6` | Exibir os recursos solicitados.
374
455
`--v=7` | Exibir cabeçalhos de solicitação HTTP.
375
456
`--v=8` | Exibir conteúdo da solicitação HTTP.
@@ -380,7 +461,7 @@ Verbosidade | Descrição
380
461
## {{% heading "whatsnext" %}}
381
462
382
463
383
-
*Saiba mais em [Visão geral do kubectl](/docs/reference/kubectl/overview/).
464
+
*Leia a [visão geral do kubectl](/docs/reference/kubectl/) e aprenda sobre [JsonPath](/docs/reference/kubectl/jsonpath).
384
465
385
466
* Veja as opções do [kubectl](/docs/reference/kubectl/kubectl/).
0 commit comments