Kubernetes: Trabalhando com o kubectl
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