Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Kubernetes é uma plataforma de orquestração de contêineres que permite gerenciar facilmente aplicativos em contêineres em um cluster. Com o Kubernetes, é possível implantar, escalar e gerenciar aplicativos sem se preocupar com os detalhes da infraestrutura subjacente. Neste post, vamos nos aprofundar nos principais comandos do Kubernetes e como eles são usados.
O comando “kubectl get” é usado para listar recursos Kubernetes. Ele permite que você veja uma lista de recursos Kubernetes disponíveis em seu cluster. Por exemplo, você pode usar “kubectl get pods” para listar todos os pods em seu cluster.
Exemplo:
kubectl get pods
TerminalExemplo de saída:
kubectl get pods
NAME READY STATUS RESTARTS AGE
nginx-6f4f6d4bf4-4x 1/1 Running 0 1h
nginx-6f4f6d4bf4-5d 1/1 Running 0 1h
nginx-6f4f6d4bf4-zz 1/1 Running 0 1h
TerminalO comando “kubectl create” é usado para criar novos recursos Kubernetes. Ele permite que você crie um novo objeto em seu cluster, como um pod, um serviço ou uma implantação.
Exemplo:
kubectl create deployment nginx --image=nginx deployment.apps/nginx created
TerminalO comando “kubectl apply” é usado para aplicar uma configuração a um recurso existente no cluster. Ele permite que você atualize um objeto existente no cluster, como um pod, um serviço ou uma implantação.
Exemplo:
kubectl apply -f nginx-deployment.yaml deployment.apps/nginx-deployment configured
TerminalO comando “kubectl describe” é usado para exibir informações detalhadas sobre um recurso Kubernetes. Ele permite que você veja informações como o status atual do recurso, os eventos relacionados a ele e as configurações aplicadas.
Exemplo:
kubectl describe pod nginx-6f4f6d4bf4-4x
TerminalExemplo de saída:
kubectl describe pod nginx-6f4f6d4bf4-4x
Name: nginx-6f4f6d4bf4-4x
Namespace: default
Priority: 0
PriorityClassName: <none>
Node: minikube/192.168.64.2
Start Time: Mon, 22 Mar 2023 11:25:57 -0400
Labels: app=nginx
pod-template-hash=6f4f6d4bf4
Annotations: <none>
Status: Running
IP: 172.17.0.4
...
TerminalO comando “kubectl logs” é usado para exibir os logs de um contêiner em um pod. Ele permite que você veja o que está acontecendo dentro do contêiner e depure problemas.
Exemplo:
kubectl logs nginx-6f4f6d4bf4-4x
TerminalExemplo de saída:
kubectl logs nginx-6f4f6d4bf4-4x
127.0.0.1 - - [22/Mar/2023:15:25:38 +0000] "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3
...
TerminalOs pods são a unidade básica de implantação no Kubernetes, contendo um ou mais contêineres. Abaixo estão alguns comandos úteis para gerenciá-los:
Este comando criará um pod com o nome especificado e a imagem fornecida.
kubectl run nome-do-pod --image=imagem:tag
TerminalEste comando exibirá uma lista de todos os pods no cluster.
kubectl get pods
TerminalEste comando exibirá informações detalhadas sobre um pod específico.
kubectl describe pod nome-do-pod
TerminalEste comando excluirá um pod específico.
kubectl delete pod nome-do-pod
TerminalEste comando exibirá os logs de um pod específico.
kubectl logs nome-do-pod
TerminalOs deployments são responsáveis por gerenciar o estado desejado dos pods em um cluster Kubernetes. Abaixo estão alguns comandos úteis para gerenciá-los:
Este comando cria um deployment.
kubectl create deployment nome-do-deployment
TerminalO comando kubectl create
é usado para criar um novo recurso no cluster Kubernetes. Ele pode ser usado para criar vários tipos de recursos, como pods, serviços, implantações, configmaps e segredos. Abaixo está um exemplo de como criar um novo pod usando o comando kubectl create
.
kubectl create pod nginx --image=nginx
TerminalEste comando cria um novo pod chamado “nginx” usando a imagem “nginx”.
O comando kubectl apply
é semelhante ao kubectl create
, mas pode ser usado para criar ou atualizar recursos existentes no cluster Kubernetes. Ele usa arquivos YAML para definir o estado desejado do recurso e aplica as alterações necessárias. Abaixo está um exemplo de como criar um novo serviço usando o comando kubectl apply
.
kubectl apply -f service.yaml
TerminalEste comando cria um novo serviço com base nas informações definidas no arquivo YAML “service.yaml”.
O comando kubectl get
é usado para listar os recursos disponíveis no cluster Kubernetes. Ele pode ser usado para listar vários tipos de recursos, como pods, serviços, implantações e nós. Abaixo está um exemplo de como listar todos os pods em um namespace específico usando o comando kubectl get
.
kubectl get pods -n my-namespace
TerminalEste comando lista todos os pods no namespace “my-namespace”.
O comando kubectl describe
é usado para obter informações detalhadas sobre um recurso específico no cluster Kubernetes. Ele pode ser usado para obter informações sobre vários tipos de recursos, como pods, serviços, implantações e nós. Abaixo está um exemplo de como obter informações detalhadas sobre um serviço usando o comando kubectl describe
.
kubectl describe service my-service
TerminalEste comando obtém informações detalhadas sobre o serviço chamado “my-service”.
O comando kubectl delete
é usado para excluir um recurso específico no cluster Kubernetes. Ele pode ser usado para excluir vários tipos de recursos, como pods, serviços, implantações e nós. Abaixo está um exemplo de como excluir um pod usando o comando kubectl delete
.
kubectl delete pod nginx
TerminalEste comando exclui o pod chamado “nginx”.
O comando kubectl scale
é usado para aumentar ou diminuir o número de réplicas de uma implantação. Ele pode ser usado para aumentar a capacidade de um aplicativo durante períodos de pico de tráfego ou diminuir a capacidade quando o tráfego é menor. Abaixo está um exemplo de como escalar uma implantação usando o comando kubectl scale
.
kubectl scale deployment my-app --replicas=3
TerminalEste comando aumenta o número de réplicas da implantação chamada “my-app” para 3.
O comando kubectl rollout
é usado para gerenciar os rollouts de implantações do Kubernetes. Ele permite que você atualize as implantações com novas versões de contêineres, reverta para uma versão anterior, interrompa ou retome um rollout em andamento e visualize o histórico de atualizações.
Aqui está um exemplo de como usar o comando kubectl rollout
:
Primeiro, crie uma implantação do Kubernetes usando o seguinte comando:
kubectl create deployment my-app --image=my-app:v1
TerminalIsso criará uma implantação chamada my-app
usando a imagem my-app:v1
.
Em seguida, execute o seguinte comando para verificar o status da implantação:
code kubectl rollout status deployment/my-app
TerminalIsso mostrará o status da implantação e informará se está em andamento ou concluída.
Agora, suponha que você queira atualizar a imagem para a versão my-app:v2
. Você pode fazer isso usando o seguinte comando:
kubectl set image deployment/my-app my-app=my-app:v2
TerminalIsso iniciará um rollout da implantação, atualizando todos os pods para a nova versão do contêiner.
Para verificar o status do rollout, você pode usar o seguinte comando:
kubectl rollout status deployment/my-app
TerminalIsso mostrará o status do rollout e informará se está em andamento ou concluído.
Se você precisar reverter para a versão anterior, execute o seguinte comando:
kubectl rollout undo deployment/my-app
TerminalIsso reverterá a implantação para a versão anterior.
Para visualizar o histórico de rollouts, execute o seguinte comando:
kubectl rollout history deployment/my-app
TerminalIsso mostrará o histórico de todas as atualizações da implantação e permitirá que você selecione uma versão específica para reverter ou pausar o rollout.