Skip to content

Instantly share code, notes, and snippets.

@igor-rodrigues2017
Last active April 18, 2020 03:24
Show Gist options
  • Save igor-rodrigues2017/b571cca936a4549f136bd04acb6e867b to your computer and use it in GitHub Desktop.
Save igor-rodrigues2017/b571cca936a4549f136bd04acb6e867b to your computer and use it in GitHub Desktop.
Kubernetes consiste de masters e nodes/minions;
um Deployment funciona como um controlador do Pod
um deployment define as quantidade das replicas
um deployment garante a disponibilidade do Pod
para ter acesso ao deployment fora do Kubernetes precisa de um Service
existem vários tipos de serviços, entre eles o LoadBalancer
o serviço fica associado ao deployment ou Pods através do Selector
minikube service <nome-service> --url devolve a URL para testar o service
Comandos kubectl:
##para listar os pods
kubectl get pods
##tbm funcionar para deployments e services, por exemplo:
kubectl get services
##para detalhes de um pod
kubectl describe pod <nome-pod>
##o comando describe tbm funciona para deployment e service, por exemplo:
kubectl describe service <nome>
##para criar pod, deployment ou service a partir de um arquivo yml
kubectl create -f <nome-arquivo-yml>
##para remover pod, deployment ou service a partir de um arquivo yml
kubectl delete -f <nome-arquivo-yml>
##para remover um pod
kubectl delete pod <nome-pod>
##para remover um deployment
kubectl delete deployment <nome-deployment>
##para remover um service
kubectl delete service <nome-service>
Criar arquivo dentro do cluster
kubectl create -f <nome-do-arquivo>
exempo arquivo .yml
apiVersion: v1
kind: Pod
metadata:
name: aplicacao-noticia
spec:
containers:
- name: container-aplicacao
image: jnlucas/image-phpmysql:latest
ports:
- containerPort: 80
O comando onipresente para descobrir algo no seu cluster é o
kubectl get <nome-do-recurso>
Caso queira entender melhor aquele recurso, use o comando explain:
kubectl explain node
Informações sobre os pods, service, deployments etc recebemos pelo comando kubectl get ..., por exemplo:
kubectl get pods
kubectl get deployments
kubectl get services
e
kubectl get pod <nome-do-pod>
kubectl get deployment <nome-do-deployment>
kubectl get service <nome-do-service>
Usando o flag '-o wide' recebemos mais infos:
kubectl get pods -o wide
Informações mais detalhadas conseguimos pelo comando describe:
##detalhes sobre todos os pods
kubectl describe pods
##detalhes de um pod especifico
kubectl describe pod <nome-do-pod>
podemos ver os logs de um Pod com o comando:
kubectl logs <nome-pod-name>
AutoScale:
kubectl autoscale <tipo> <nome> <parametros>
ex.:
kubectl autoscale deployment aplicacao-xyz --cpu-percent=20 --min=1 --max=10
verificar o se o serviço está escalável:
kubectl get hpa
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment