Last active
April 18, 2020 03:24
-
-
Save igor-rodrigues2017/b571cca936a4549f136bd04acb6e867b to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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