Testar o Cluster dos Raspberry Pi (Cluster criado com o Kubernetes)
Tutoriais antecedentes:
Introdução ao Kubernetes (Tutorial 1)
Tutorial de Instalação (Tutorial 2)
Com os tutoriais anteriores já sabemos um pouco mais sobre o kubernetes (Tutorial 1) e como montar o nosso cluster nos Raspberry Pi (Tutorial 2), agora vem a parte final, testar o nosso cluster, saber se os workers estão a trabalhar para o master!
No final do Tutorial 2 usamos o comando “kubectl get nodes” para saber se os nós aparecem, que foi o que aconteceu, então agora vamos fazer um ultimo teste.
Antes disso vamos saber informações do nosso cluster através do seguinte comando:
kubectl cluster-info
O resultado será:
Onde podemos saber o ip do nosso cluster.
Indo a esse ip vamos para uma página onde nos mostra caminhos com informações do nosso cluster:
Se escolhermos um caminho e adiconarmos esse caminho ao url vamos obter informações sobre o mesmo, como por exemplo: ( sobre as apis e o kube-dns respectivamente)
E agora sim testar o nosso cluster, para tal vamos pedir ao cluster para executar um comando que consiste em calcular/escrever o numero pi até um tamanho de 2000 caracteres, para isso temos de ir ao nosso master e escrever o seguinte comando:
kubectl run pi --image=perl --restart=Never -- perl -Mbignum=bpi -wle 'print bpi(2000)'
Deve retornar uma mensagem a dizer que o pod foi criado e para verificarmos isso escrevemos o comando:
kubectl get pods
Como podemos observar o nosso pod está a ser criado, mas vamos saber um pouco mais sobre ele, ou seja a sua descrição, para tal usamos o comando:
kubectl describe pod pi
Sendo no meu caso este o resultado:
Neste caso aconteceu um problema interessante, o nosso cluster é constituido por o master (Raspberry david) e por dois Workers (Raspberry blackpearl e raspberrypi, e como podemos ver na decrição do pod o trabalho foi atribuído ao raspberrypi o que é um problema pois esse Raspberry não tem memória suficiente logo o calculo do pi vai ter de ser feito pelo blackpearl:
Aqui já podemos ver que o Node a ser usado é o blackpearl e que já se encontra a correr “running”, o que temos a fazer é esperar, usando o comando já referido acima “kubectl get pods” e esperar até o “STATUS” descrito ser “Completed”
Como podemos ver ele foi concluído com sucesso, e demorou 3m23s, para vermos o resultado escrevemos o comando:
kubectl logs pi
Se obteve este resultado ( resultado pretendido, 3.14….) é sinal que o seu cluster está a funcionar corretamente. Através do master (David) fizemos um dos workers (blackpearl) fazer o calculo e obtivemos o resultado pretendido.
Depois do teste podemos apagar o pod criado, para tal usamos o comando:
kubectl delete pod pi
Se chegou aqui, parabéns pelo trabalho :)