Translator
Translator
Não duvidem que a grande maioria das aplicações que acedemos via internet está assente em Kubernetes.
No seguimento do estudo que tenho vindo a fazer, deixo mais abaixo uma lista dos comandos mais usados e a sua função.
Nota:Esta lista estará em constante atualização.
Comandos relativos à criação do cluster com o Minikube:
$ minikube start
#Cria um cluster com 1 nó.
$ minikube start --nodes 2 -p multinode-cluster$ minikube status
$ minikube ip
$ minikube ssh
$ minikube dashboard #Dashboard web que mostra alguns dados.
$ minikube logs
$ minikube delete #Remove o cluster.
$ minikube delete --purge #Remove o cluster e todos os ficheiros associados.
$ minikube tunnel - Cria uma rota de rede para o IP do cluster como se fosse um gateway. Para testar por exemplo um serviço a correr em LB.
https://minikube.sigs.k8s.io/docs/
Comandos relativos à criação do cluster com o Kind:
$ kind create cluster
$ kind create cluster --name NomeDoCluster
$ kind get clusters #Visualisar os cluster.
$ kind delete clusters $(kind get clusters) #Elimina todos os cluster.
$ kind create cluster --name kind-3Nos --config 3Nos.yaml #Cria um cluster baseado no ficheiro yaml.
kubectl:
### Get informação
$ kubectl get pods
$kubectl get namespaces #Ver os vários NS existentes.
$kubectl get namespaces
$
kubectl get pod -n Development #Ver os pods do NS Development.
$ kubectl get pods -A #Ver todos
$ kubectl get pods -A -o wide #Devolve mais informação como o IP, etc.
$ kubectl get pods NOME_DO_POD -o yaml/json # ver dados do pod em yaml/json.
$ kubectl cluster-info
$ kubectl get nodes
$ kubectl get pod meuPod -o jsonpath='{.spec.containers[*].name}' #Devolve o nome dos containers que estão no Pod meuPod.
$ kubectl describe pod meuPod #Toda a informação sobre o Pod, numero de containers, estado, etc.
$ kubectl replace --force -f meuPod.yaml #Elimina e cria um novo pod.
### Logs
$ kubectl logs meuPod
$ kubectl logs meuPod -c meuContainer
### Criar um pod básico
$kubectl run meuNginx --image nginx #Cria um pod com um container a partir da imagem nginx.
$
kubectl delete pod meuNginx
### Criar pods a partir de um manifesto yaml$ kubectl apply -f podTemplate.yaml #Cria um pod a partir do manifesto yaml.
$ kubectl delete -f podTemplate.yaml
#Elimina o pod baseado no seu manifesto
$ kubectl get pod meuPod -o yaml > podTemplate.yaml
$ kubectl run meuNginx --image nginx --dry-run=client -o yaml > podTemplate.yaml
#Cria um modelo yaml que servirá para criar um pod
.
$ kubectl run meuPod --image=redis --dry-run=client -o yaml #Outro exemplo
$ kubectl run meuNginx --image nginx --port 80 --dry-run=client -o yaml > podTemplate.yaml #Cria um modelo yaml especificando o porto que fica à escuta no container.
$ kubectl expose pod meunginx #Este comando cria um Service, que é utilizado para expor o pod para ser acessivel externamente.
$ kubectl get services #Ver os serviços ativos com respectivos IP e portos.
### Mais Get:
$ kubectl get all $ kubectl get pod,service $ kubectl get pod,svc$ kubectl run hello-minikube
### Eliminar o que se criou:
$ kubectl delete -f podTemplate.yaml $ kubectl delete service meuNginx
$ kubectl get pods -o jsonpath="{..image}" #Lista todas as imagens usadas nos containers no Default NS
$ kubectl delete --all pods$ kubectl cluster-info dump
### Labels e Selectors
$ kubectl get all --show-labels
$ kubectl get pod --selector env=prod
### Mais comandos (ainda em organização)
$ kubectl delete pod pod-info-deployment-869667679b-6zbcd -n development
$ kubectl exec -it busybox-55fdb79844-chq95 -- /bin/sh #Entrar no Contentor busybox
$ kubectl logs pod-info-deployment-869667679b-sz786 -n development
$ kubectl get svc - devolve o IP externo do cluster, por exemplo.
$ kubectl get deployment nginx-deplyment -o yaml
$ kubectl api-resources
$ kubectl -n kube-system get pods #Pods de sistema.
$ kubectl logs NOME_DO_POD
$ kubectl logs -f NOME_DO_POD
https://kubernetes.io/docs/reference/kubectl/
Replicaset, Scaling
$ kubectl describe rs replica-set
$ kubectl create -f podTemplate.yml #Cria um replica set.
$ kubectl get replicaset
$ kubectl delete replicaset minhaApp-replicaset.
$ kubectl replace -f podTemplate.yml #Atualiza por exemplo o ReplicaSet no caso de pretendermos alterar o número de replicas.
$ kubectl scale --replicas=6 -f podTemplate.yaml #O mesmo que o anterior, mas não é preciso editar antes o podTemplate.yml.
$ kubectl scale replicaset meuApp-replicaset --replicas=6 #O mesmo que os anteriores.
$ kubectl explain replicaset #Mostra a documentação do resource replicaset.
$ kubectl edit rs meuApp-replicaset
Deployments
$ kubectl create deployment --help
$ kubectl create deployment nomeDeployment --image=nginx --replicas=3
$ kubectl get deploy
0 comments:
Enviar um comentário