From d5af3a24347b29063338bc60fe503d1478baaea5 Mon Sep 17 00:00:00 2001 From: "Diego W. Antunes" Date: Wed, 1 Mar 2023 11:02:53 -0300 Subject: [PATCH] Update and standardize pt-br cheatsheet --- .../docs/reference/kubectl/cheatsheet.md | 285 +++++++++--------- 1 file changed, 142 insertions(+), 143 deletions(-) diff --git a/content/pt-br/docs/reference/kubectl/cheatsheet.md b/content/pt-br/docs/reference/kubectl/cheatsheet.md index 3a272c35fb..f2e340126c 100644 --- a/content/pt-br/docs/reference/kubectl/cheatsheet.md +++ b/content/pt-br/docs/reference/kubectl/cheatsheet.md @@ -8,12 +8,10 @@ card: -Esta página contém uma lista de comandos e sinalizadores `kubectl` comumente usados. +Esta página contém uma lista de comandos `kubectl` e flags frequentemente usados. -# kubectl - Cheat Sheet - ## Kubectl Autocomplete ### BASH @@ -27,7 +25,7 @@ Você também pode usar uma abreviação para o atalho para `kubectl` que també ```bash alias k=kubectl -complete -F __start_kubectl k +complete -o default -F __start_kubectl k ``` ### ZSH @@ -45,12 +43,12 @@ Acrescentar `--all-namespaces` acontece com bastante frequência, onde você dev ## Contexto e Configuração do Kubectl -Defina com qual cluster Kubernetes o `kubectl` se comunica e modifique os detalhes da configuração. +Define com qual cluster Kubernetes o `kubectl` se comunica e modifiqua os detalhes da configuração. Veja a documentação [Autenticando entre clusters com o kubeconfig](/docs/tasks/access-application-cluster/configure-access-multiple-clusters/) para informações detalhadas do arquivo de configuração. ```bash -kubectl config view # Mostrar configurações do kubeconfig mergeadas. +kubectl config view # Mostra configurações do kubeconfig mergeadas # use vários arquivos kubeconfig ao mesmo tempo e visualize a configuração mergeada KUBECONFIG=~/.kube/config:~/.kube/kubconfig2 @@ -60,59 +58,60 @@ kubectl config view # obtenha a senha para o usuário e2e kubectl config view -o jsonpath='{.users[?(@.name == "e2e")].user.password}' -kubectl config view -o jsonpath='{.users[].name}' # exibir o primeiro usuário -kubectl config view -o jsonpath='{.users[*].name}' # obtenha uma lista de usuários -kubectl config get-contexts # exibir lista de contextos -kubectl config current-context # exibir o contexto atual -kubectl config use-context my-cluster-name # defina o contexto padrão como my-cluster-name +kubectl config view -o jsonpath='{.users[].name}' # exibe o primeiro usuário +kubectl config view -o jsonpath='{.users[*].name}' # obtem uma lista de usuários +kubectl config get-contexts # exibe lista de contextos +kubectl config current-context # exibe o contexto atual +kubectl config use-context my-cluster-name # define o contexto padrão como my-cluster-name -kubectl config set-cluster my-cluster-name # defina uma entrada de cluster no kubeconfig +kubectl config set-cluster my-cluster-name # define uma entrada de cluster no kubeconfig -# configurar a URL para um servidor proxy a ser usado para solicitações feitas por este cliente no kubeconfig +# configura a URL para um servidor proxy a ser usado para solicitações feitas por este cliente no kubeconfig kubectl config set-cluster my-cluster-name --proxy-url=my-proxy-url -# adicione um novo cluster ao seu kubeconfig que suporte autenticação básica +# adiciona um novo cluster ao seu kubeconfig que suporte autenticação básica kubectl config set-credentials kubeuser/foo.kubernetes.com --username=kubeuser --password=kubepassword -# salve o namespace permanentemente para todos os comandos subsequentes do kubectl nesse contexto. +# salva o namespace permanentemente para todos os comandos subsequentes do kubectl nesse contexto kubectl config set-context --current --namespace=ggckad-s2 -# defina um contexto utilizando um nome de usuário e o namespace. +# define um contexto utilizando um nome de usuário e o namespace kubectl config set-context gce --user=cluster-admin --namespace=foo \ && kubectl config use-context gce -kubectl config unset users.foo # excluir usuário foo +kubectl config unset users.foo # exclue usuário foo # 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) alias kx='f() { [ "$1" ] && kubectl config use-context $1 || kubectl config current-context ; } ; f' alias kn='f() { [ "$1" ] && kubectl config set-context --current --namespace $1 || kubectl config view --minify | grep namespace | cut -d" " -f6 ; } ; f' ``` -## Aplicar +## Kubectl apply + `apply` gerencia aplicações através de arquivos que definem os recursos do Kubernetes. Ele cria e atualiza recursos em um cluster através da execução `kubectl apply`. -Esta é a maneira recomendada de gerenciar aplicações Kubernetes em ambiente de produção. Veja a [documentação do Kubectl](https://kubectl.docs.kubernetes.io). +Esta é a maneira recomendada para gerenciar aplicações Kubernetes em ambiente de produção. Veja a [documentação do Kubectl](https://kubectl.docs.kubernetes.io). ## Criando objetos -Manifestos Kubernetes podem ser definidos em YAML ou JSON. A extensão de arquivo `.yaml`, -`.yml`, e `.json` pode ser usado. +Manifestos Kubernetes podem ser definidos em YAML ou JSON. As extensões de arquivo `.yaml`, +`.yml`, e `.json` podem ser usadas. ```bash -kubectl apply -f ./my-manifest.yaml # criar recurso(s) -kubectl apply -f ./my1.yaml -f ./my2.yaml # criar a partir de vários arquivos -kubectl apply -f ./dir # criar recurso(s) em todos os arquivos de manifesto no diretório -kubectl apply -f https://git.io/vPieo # criar recurso(s) a partir de URL -kubectl create deployment nginx --image=nginx # iniciar uma única instância do nginx +kubectl apply -f ./my-manifest.yaml # cria recurso(s) +kubectl apply -f ./my1.yaml -f ./my2.yaml # cria a partir de vários arquivos +kubectl apply -f ./dir # cria recurso(s) em todos os arquivos de manifesto no diretório +kubectl apply -f https://git.io/vPieo # cria recurso(s) a partir de URL +kubectl create deployment nginx --image=nginx # inicia uma única instância do nginx -# crie um Job que imprime "Hello World" +# cria um Job que exibe "Hello World" kubectl create job hello --image=busybox:1.28 -- echo "Hello World" -# crie um CronJob que imprime "Hello World" a cada minuto +# cria um CronJob que exibe "Hello World" a cada minuto kubectl create cronjob hello --image=busybox:1.28 --schedule="*/1 * * * *" -- echo "Hello World" -kubectl explain pods # obtenha a documentação de manifesto do pod +kubectl explain pods # obtem a documentação de manifesto do pod -# Crie vários objetos YAML a partir de stdin +# Cria vários objetos YAML a partir de stdin cat < pod.yaml - # Gere a especificação para executar o pod nginx e grave-a em um arquivo chamado pod.yaml -kubectl attach my-pod -i # Anexar ao contêiner em execução + # Gera a especificação para executar o pod nginx e grave-a em um arquivo chamado pod.yaml +kubectl attach my-pod -i # Anexa ao contêiner em execução 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 -kubectl exec my-pod -- ls / # Executar comando no pod existente (1 contêiner) +kubectl exec my-pod -- ls / # Executa comando no pod existente (1 contêiner) kubectl exec --stdin --tty my-pod -- /bin/sh # Acesso de shell interativo a um pod em execução (apenas 1 contêiner) -kubectl exec my-pod -c my-container -- ls / # Executar comando no pod existente (pod com vários contêineres) -kubectl top pod POD_NAME --containers # Mostrar métricas para um determinado pod e seus contêineres -kubectl top pod POD_NAME --sort-by=cpu # Mostrar métricas para um determinado pod e classificá-lo por 'cpu' ou 'memória' +kubectl exec my-pod -c my-container -- ls / # Executa comando no pod existente (pod com vários contêineres) +kubectl top pod POD_NAME --containers # Mostra métricas para um determinado pod e seus contêineres +kubectl top pod POD_NAME --sort-by=cpu # Mostra métricas para um determinado pod e classificá-lo por 'cpu' ou 'memória' ``` -## Copiar arquivos e diretórios de e para contêineres +## Copiando arquivos e diretórios de e para contêineres ```bash -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 -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 -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 -kubectl cp my-namespace/my-pod:/tmp/foo /tmp/bar # Copie /tmp/foo de um pod remoto para /tmp/bar localmente +kubectl cp /tmp/foo_dir my-pod:/tmp/bar_dir # Copia o diretório local /tmp/foo_dir para /tmp/bar_dir em um pod remoto no namespace atual +kubectl cp /tmp/foo my-pod:/tmp/bar -c my-container # Copia o arquivo local /tmp/foo para /tmp/bar em um pod remoto em um contêiner específico +kubectl cp /tmp/foo my-namespace/my-pod:/tmp/bar # Copia o arquivo local /tmp/foo para /tmp/bar em um pod remoto no namespace my-namespace +kubectl cp my-namespace/my-pod:/tmp/foo /tmp/bar # Copia /tmp/foo de um pod remoto para /tmp/bar localmente ``` {{< note >}} `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á. @@ -353,32 +356,33 @@ Para casos de uso avançado, como links simbólicos, expansão curinga ou preser {{< /note >}} ```bash -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 -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 +tar cf - /tmp/foo | kubectl exec -i -n my-namespace my-pod -- tar xf - -C /tmp/bar # Copia o arquivo local /tmp/foo para /tmp/bar em um pod remoto no namespace my-namespace +kubectl exec -n my-namespace my-pod -- tar cf - /tmp/foo | tar xf - -C /tmp/bar # Copia /tmp/foo de um pod remoto para /tmp/bar localmente ``` ## Interagindo com implantações e serviços + ```bash -kubectl logs deploy/my-deployment # despejar logs de pod para uma implantação (caso de contêiner único) -kubectl logs deploy/my-deployment -c my-container # despejar logs de pod para uma implantação (caso de vários contêineres) +kubectl logs deploy/my-deployment # despeja logs de pod para uma implantação (caso de contêiner único) +kubectl logs deploy/my-deployment -c my-container # despeja logs de pod para uma implantação (caso de vários contêineres) -kubectl port-forward svc/my-service 5000 # escute na porta local 5000 e encaminhe para a porta 5000 no back-end do serviço -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 +kubectl port-forward svc/my-service 5000 # escuta na porta local 5000 e encaminhe para a porta 5000 no back-end do serviço +kubectl port-forward svc/my-service 5000:my-service-port # escuta na porta local 5000 e encaminhe para a porta de destino do serviço com o nome -kubectl port-forward deploy/my-deployment 5000:6000 # escute na porta local 5000 e encaminhe para a porta 6000 em um pod criado por -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) +kubectl port-forward deploy/my-deployment 5000:6000 # escuta na porta local 5000 e encaminhe para a porta 6000 em um pod criado por +kubectl exec deploy/my-deployment -- ls # executa o comando no primeiro pod e primeiro contêiner na implantação (casos de um ou vários contêineres) ``` ## Interagindo com Nós e Cluster ```bash -kubectl cordon my-node # Marcar o nó my-node como não agendável -kubectl drain my-node # Drene o nó my-node na preparação para manutenção -kubectl uncordon my-node # Marcar nó my-node como agendável -kubectl top node my-node # Mostrar métricas para um determinado nó -kubectl cluster-info # Exibir endereços da master e serviços -kubectl cluster-info dump # Despejar o estado atual do cluster no stdout -kubectl cluster-info dump --output-directory=/path/to/cluster-state # Despejar o estado atual do cluster em /path/to/cluster-state +kubectl cordon my-node # Marca o nó my-node como não agendável +kubectl drain my-node # Drena o nó my-node na preparação para manutenção +kubectl uncordon my-node # Marca nó my-node como agendável +kubectl top node my-node # Mostra métricas para um determinado nó +kubectl cluster-info # Exibe endereços da master e serviços +kubectl cluster-info dump # Despeja o estado atual do cluster no stdout +kubectl cluster-info dump --output-directory=/path/to/cluster-state # Despeja o estado atual do cluster em /path/to/cluster-state # Veja os taints existentes nos nós atuais. kubectl get nodes -o='custom-columns=NodeName:.metadata.name,TaintKey:.spec.taints[*].key,TaintValue:.spec.taints[*].value,TaintEffect:.spec.taints[*].effect' @@ -389,7 +393,7 @@ kubectl taint nodes foo dedicated=special-user:NoSchedule ### Tipos de Recursos -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): +Lista 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): ```bash kubectl api-resources @@ -406,18 +410,18 @@ kubectl api-resources --verbs=list,get # Todos os recursos que suportam os kubectl api-resources --api-group=extensions # Todos os recursos no grupo de API "extensions" ``` -### Formatação de Saída +### Formatação de saída Para enviar detalhes para a janela do terminal em um formato específico, adicione a flag `-o` (ou `--output`) para um comando `kubectl` suportado. Formato de saída | Descrição --------------| ----------- -`-o=custom-columns=` | Imprimir uma tabela usando uma lista separada por vírgula de colunas personalizadas -`-o=custom-columns-file=` | Imprima uma tabela usando o modelo de colunas personalizadas no arquivo `` +`-o=custom-columns=` | Exibe uma tabela usando uma lista separada por vírgula de colunas personalizadas +`-o=custom-columns-file=` | Exibe uma tabela usando o modelo de colunas personalizadas no arquivo `` `-o=json` | Saída de um objeto de API formatado em JSON -`-o=jsonpath=