Utilizando o Minikube

Aprenda como lançar um cluster Minikube Single Node

Minikube é uma ferramenta que facilita a execução do Kubernetes localmente. O Minikube executa um cluster Kubernetes de nó único dentro de uma VM em seu laptop para usuários que desejam experimentar o Kubernetes ou desenvolver com ele no dia a dia. Mais detalhes para instalação podem ser encontrados em https://github.com/kubernetes/minikube

1° Etapa: Iniciar o Minikube

  • Após a instalação do MiniKube, é possível verificar se ele está instalado corretamente, executando o comando: minikube version
  • Iniciar o cluster, executando o comando minikube start

2° Etapa: Informações do Cluster

  • O cluster pode ser interagido usando a CLI kubectl. Esta é a abordagem principal usada para gerenciar o Kubernetes e os aplicativos em execução no cluster. Detalhes do cluster e seu status de saúde podem ser descobertos via kubectl cluster-info
  • Para visualizar os nós no cluster: kubectl get nodes
  • Se o nó estiver marcado como NotReady, ele ainda está iniciando os componentes.
  • Este comando mostra todos os nós que podem ser usados ​​para hospedar nossos aplicativos.
  • Agora temos apenas um nó e podemos ver que seu status está pronto (está pronto para aceitar aplicativos para implantação).

3° Etapa: Implantar Contêiners

  • Com um cluster Kubernetes em execução, os contêineres agora podem ser implantados.
  • Usando kubectl run, ele permite que os contêineres sejam implantados no cluster:
  • Ex: kubectl create deployment first-deployment –image=nginx/nginx

  • O status da implantação pode ser descoberto por meio dos pods em execução -kubectl get pods

  • Quando o contêiner está em execução, ele pode ser exposto por meio de diferentes opções de rede, dependendo dos requisitos.

  • Uma solução possível é NodePort, que fornece uma porta dinâmica para um contêiner:

  • kubectl expose deployment first-deployment –port=80 –type=NodePort

  • O comando abaixo encontra a porta alocada e executa uma solicitação HTTP.

  • export PORT=$(kubectl get svc first-deployment -o go-template=‘{{range.spec.ports}}{{if .nodePort}}{{.nodePort}}{{”\n”}}{{end}}{{end}}‘)

  • echo “Accessing host01:$PORT” curl host01:$PORT

  • O resultado é o contêiner que processou a solicitação.