Kubernetes: Trabalhando com o kubectl

From Wiki

kubectl é uma aplicativo de linha de comando para executar comandos para clusters Kubernetes.

Melhores práticas

  • Quando definir configurações, especifique a última versão de API estável (atualmente v1).
  • Arquivos de configuração devem ser armazenados em um sistema de controle de versão, antes de serem aplicados à um cluster. Pois caso seja necessário um rollback, você terá acessos a esses arquivos, para desfazer alterações ou recriar o sistema.
  • Agrupe grupos de objetos relacionados em um único arquivo. Isso facilita o seu deploy.

Principais comandos

Aplicando configurações através de um arquivo

Para aplicar configurações a um container à partir de uma arquivo execute o comando

kubectl apply -f FILENAME [flags]

O arquivo costuma ser no formato yaml

Listando as versões da API

kubectl api-versions

Listando recursos

Listando um ou mais recursos.

kubectl get [RECURSO]

Exemplos:

kubectl get pv
kubectl get pvc
kubectl get pods
kubectl get svc

Você pode exportar as informações em diferentes formatos.

  • -o=yaml Output a YAML formatted API object.
  • -o=json Output a JSON formatted API object.

Exemplo:

kubectl get pod web-pod-13je7 -o=yaml

Listando recursos

Outros Comandos

Para expor um serviço

kubectl expose deployment/hello-world --type="NodePort" --port=8080

Para achar a porta

kubectl describe service <name-of-deployment>

Para remover o Deployment

kubectl delete deployment hello-world.

Para remover o Service

kubectl delete service hello-world.

Adicionando replicas

$ kubectl scale --replicas=10 deployment hello-world

Verificando o rollout da adição de replicas

kubectl rollout status deployment/hello-world

Ver também