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.