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)
91
+
alias kx='f() { [ "$1" ] && kubectl config use-context $1 || kubectl config current-context ; } ; f'
kubectl explain pods # obtenha a documentação de manifesto do pod
100
118
101
119
# Crie vários objetos YAML a partir de stdin
102
120
cat <<EOF | kubectl apply -f -
@@ -167,6 +185,13 @@ kubectl get pv --sort-by=.spec.capacity.storage
167
185
kubectl get pods --selector=app=cassandra -o \
168
186
jsonpath='{.items[*].metadata.labels.version}'
169
187
188
+
# Recupere o valor de uma chave com pontos, por exemplo 'ca.crt'
189
+
kubectl get configmap myconfig \
190
+
-o jsonpath='{.data.ca\.crt}'
191
+
192
+
# Recupere um valor codificado em base64 com traços em vez de sublinhados
193
+
kubectl get secret my-secret --template='{{index .data "key-name-with-dashes"}}'
194
+
170
195
# Obter todos os nós workers (use um seletor para excluir resultados que possuem uma label
171
196
# nomeado 'node-role.kubernetes.io/master')
172
197
kubectl get node --selector='!node-role.kubernetes.io/master'
@@ -201,12 +226,24 @@ kubectl get events --sort-by=.metadata.creationTimestamp
201
226
202
227
# Compara o estado atual do cluster com o estado em que o cluster estaria se o manifesto fosse aplicado.
203
228
kubectl diff -f ./my-manifest.yaml
229
+
230
+
# Produzir uma árvore delimitada por período de todas as chaves retornadas para nós
231
+
# Útil ao localizar uma chave em uma estrutura JSON aninhada complexa
232
+
kubectl get nodes -o json | jq -c 'paths|join(".")'
233
+
234
+
# Produzir uma árvore delimitada por período de todas as chaves retornadas para pods, etc.
235
+
kubectl get pods -o json | jq -c 'paths|join(".")'
236
+
237
+
# 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.
238
+
# Útil ao executar qualquer comando suportado em todos os pods, não apenas `env`
239
+
forpodin$(kubectl get po --output=jsonpath={.items..metadata.name});doecho$pod&& kubectl exec -it $pod -- env;done
240
+
241
+
# Obtenha o sub-recurso de status de uma implantação
242
+
kubectl get deployment nginx-deployment --subresource=status
204
243
```
205
244
206
245
## Atualizando Recursos
207
246
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
247
```bash
211
248
kubectl set image deployment/frontend www=image:v2 # Aplica o rollout nos containers "www" do deployment "frontend", atualizando a imagem
212
249
kubectl rollout history deployment/frontend # Verifica o histórico do deployment, incluindo a revisão
@@ -301,13 +334,46 @@ kubectl run -i --tty busybox --image=busybox -- sh # Executar pod como shell in
301
334
kubectl run nginx --image=nginx --restart=Never -n
302
335
mynamespace # Execute o pod nginx em um namespace específico
303
336
kubectl run nginx --image=nginx --restart=Never # Execute o pod nginx e salve suas especificações em um arquivo chamado pod.yaml
337
+
304
338
--dry-run -o yaml > pod.yaml
305
339
306
340
kubectl attach my-pod -i # Anexar ao contêiner em execução
307
341
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
342
kubectl exec my-pod -- ls / # Executar comando no pod existente (1 contêiner)
343
+
kubectl exec --stdin --tty my-pod -- /bin/sh # Acesso de shell interativo a um pod em execução (1 caixa de contêiner)
309
344
kubectl exec my-pod -c my-container -- ls / # Executar comando no pod existente (pod com vários contêineres)
310
345
kubectl top pod POD_NAME --containers # Mostrar métricas para um determinado pod e seus contêineres
346
+
kubectl top pod POD_NAME --sort-by=cpu # Mostrar métricas para um determinado pod e classificá-lo por 'cpu' ou 'memória'
347
+
```
348
+
349
+
## Copiar arquivos e diretórios de e para contêineres
350
+
351
+
```bash
352
+
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
353
+
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
354
+
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
355
+
kubectl cp my-namespace/my-pod:/tmp/foo /tmp/bar # Copie /tmp/foo de um pod remoto para /tmp/bar localmente
356
+
```
357
+
{{< note >}}
358
+
`kubectl cp` requer que o binário 'tar' esteja presente em sua imagem de container. Se 'tar' não estiver presente, `kubectl cp` falhará.
359
+
Para casos de uso avançado, como links simbólicos, expansão curinga ou preservação do modo de arquivo, considere usar `kubectl exec`.
360
+
{{< /note >}}
361
+
362
+
```bash
363
+
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
364
+
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
365
+
```
366
+
367
+
## Interagindo com implantações e serviços
368
+
```bash
369
+
kubectl logs deploy/my-deployment # despejar logs de pod para uma implantação (caso de contêiner único)
370
+
kubectl logs deploy/my-deployment -c my-container # despejar logs de pod para uma implantação (caso de vários contêineres)
371
+
372
+
kubectl port-forward svc/my-service 5000 # escute na porta local 5000 e encaminhe para a porta 5000 no back-end do serviço
373
+
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>
374
+
375
+
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>
376
+
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
377
```
312
378
313
379
## Interagindo com Nós e Cluster
@@ -321,13 +387,16 @@ kubectl cluster-info # Exibir e
321
387
kubectl cluster-info dump # Despejar o estado atual do cluster no stdout
322
388
kubectl cluster-info dump --output-directory=/path/to/cluster-state # Despejar o estado atual do cluster em /path/to/cluster-state
323
389
390
+
# Veja os taints existentes nos nós atuais.
391
+
kubectl get nodes -o='custom-columns=NodeName:.metadata.name,TaintKey:.spec.taints[*].key,TaintValue:.spec.taints[*].value,TaintEffect:.spec.taints[*].effect'
392
+
324
393
# 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):
399
+
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/ trabalhando com objetos/namespaces) e [Kind](/docs/concepts/overview/working-with-objects/kubernetes-objects):
331
400
332
401
```bash
333
402
kubectl api-resources
@@ -359,6 +428,24 @@ Formato de saída | Descrição
359
428
`-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
429
`-o=yaml` | Saída de um objeto de API formatado em YAML
361
430
431
+
Exemplos usando `-o=custom-columns`:
432
+
433
+
```bash
434
+
# Todas as imagens em execução em um cluster
435
+
kubectl get pods -A -o=custom-columns='DATA:spec.containers[*].image'
436
+
437
+
# Todas as imagens em execução no namespace: padrão, agrupadas por pod
438
+
kubectl get pods --namespace default --output=custom-columns="NAME:.metadata.name,IMAGE:.spec.containers[*].image"
439
+
440
+
# Todas as imagens excluindo "registry.k8s.io/coredns:1.6.2"
441
+
kubectl get pods -A -o=custom-columns='DATA:spec.containers[?(@.image!="registry.k8s.io/coredns:1.6.2")].image'
442
+
443
+
# Todos os campos sob metadados, independentemente do nome
444
+
kubectl get pods -A -o=custom-columns='DATA:metadata.*'
445
+
```
446
+
447
+
More examples in the kubectl [reference documentation](/docs/reference/kubectl/#custom-columns).
448
+
362
449
### Verbosidade da Saída do Kubectl e Debugging
363
450
364
451
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).
@@ -370,6 +457,7 @@ Verbosidade | Descrição
370
457
`--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
458
`--v=3` | Informações estendidas sobre alterações.
372
459
`--v=4` | Detalhamento no nível de debugging.
460
+
`--v=5` | Verbosidade do nível de rastreamento.
373
461
`--v=6` | Exibir os recursos solicitados.
374
462
`--v=7` | Exibir cabeçalhos de solicitação HTTP.
375
463
`--v=8` | Exibir conteúdo da solicitação HTTP.
@@ -380,7 +468,7 @@ Verbosidade | Descrição
380
468
## {{% heading "whatsnext" %}}
381
469
382
470
383
-
*Saiba mais em [Visão geral do kubectl](/docs/reference/kubectl/overview/).
471
+
*Leia a [visão geral do kubectl](/docs/reference/kubectl/) e aprenda sobre [JsonPath](/docs/reference/kubectl/jsonpath).
384
472
385
473
* Veja as opções do [kubectl](/docs/reference/kubectl/kubectl/).
0 commit comments