Como iniciar um cluster local do Kubernetes com o Minikube

0
345

[ad_1]

Minikube é uma distribuição mínima do Kubernetes projetada para uso em desenvolvimento local. Ele foi desenvolvido como parte do projeto Kubernetes e inclui implementações de todos os principais recursos do cluster.

O Minikube funciona em hosts Linux, Mac e Windows. Você pode usar contêineres ou um ambiente de máquina virtual para executar seu cluster e cargas de trabalho. Estes são todos os tempos de execução suportados:

  • Estivador
  • podman
  • kvm
  • Hyper-V
  • hiperkit
  • paralelo
  • caixa virtual
  • vmware

Certifique-se de ter uma dessas tecnologias instaladas antes de continuar com este guia. O processo de configuração do Minikube detectará automaticamente os tempos de execução disponíveis e aplicará uma configuração adequada. Mostraremos como concluir sua implementação e começar a usar o Minikube.

Instalando o Minikube

Neste guia, estamos nos concentrando em sistemas Linux x86. Se você estiver usando Windows, Mac ou uma plataforma de CPU diferente, consulte a documentação do Minikube para obter informações de configuração mais detalhadas. Após o procedimento de instalação inicial, o uso básico do Minikube é idêntico em todos os sistemas suportados.

Os usuários do Linux podem escolher entre um download binário direto ou um pacote Debian/RPM. Usaremos o download binário neste exemplo.

$ curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
$ sudo install minikube-linux-amd64 /usr/local/bin/minikube

O Minikube agora estará instalado e pronto para uso.

Iniciando seu cluster do Kubernetes

Inicie seu cluster Minikube com o minikube start domínio:

$ minikube start
minikube v1.25.2 on Ubuntu 20.04
Automatically selected the docker driver. Other choices: kvm2, ssh
Starting control plane node minikube in cluster minikube
Pulling base image ...
Downloading Kubernetes v1.23.3 preload ...

O Minikube fará o download e iniciará automaticamente a versão mais recente do Kubernetes. Esse processo pode levar vários minutos para ser concluído. A saída do comando indicará o progresso e mostrará as ações que o Minikube executa. No exemplo acima, você pode ver que o controlador Docker foi selecionado para hospedar seu cluster. Consulte a documentação do driver Minikube se sua plataforma de contêiner ou pilha de virtualização não for detectada automaticamente.

Usando seu cluster com Kubectl

O Minikube modifica seu ambiente para que você possa se conectar ao cluster usando uma instalação existente do Kubectl. irá adicionar um minikube contexto para o seu KUBECONFIG arquivo apontando para o seu cluster Minikube.

O Minikube também inclui uma versão integrada do Kubectl que você pode acessar com o minikube kubectl domínio. Isso é útil se você ainda não tiver o Kubectl instalado ou se o binário existente for uma versão diferente do cluster Minikube.

# Uses the Kubectl version that's bundled with Minikube
$ minikube kubectl get pods

No restante deste guia, mostraremos o plano kubectl comando e suponha que você está apontando para seu cluster Minikube. Você pode configurar um alias de shell para usar o pacote Kubectl do Minikube sem prefixá-lo com minikube cada vez:

$ alias kubectl="minikube kubectl"

Com Minikube live e Kubectl disponíveis, agora você pode adicionar aplicativos ao seu cluster Kubernetes:

$ kubectl create deployment nginx --image=nginx:latest
deployment.apps/nginx created
$ kubectl expose deployment nginx --type=LoadBalancer --port=80
service/nginx exposed

a minikube service O comando fornece a URL exposta de um serviço:

$ minikube service nginx --url
http://192.168.49.2:31599

Cole o URL em seu navegador da web (ou execute o comando sem o --url flag) para ver seu serviço.

imagem da execução de um contêiner NGINX no Minikube

Acesso ao painel do Kubernetes

O Minikube fornece o Kubernetes Dashboard como um recurso integrado opcional. execute o minikube dashboard Comando para baixar os componentes do painel e iniciar a interface em uma nova guia do navegador.

imagem da execução do painel do Kubernetes no Minikube

Você pode usar o painel para gerenciar seus recursos e visualizar sua atividade. Mantenha o minikube dashboard comando que é executado em seu terminal enquanto você interage com a placa. Termine o comando com a sequência de teclas Ctrl + C quando terminar.

Ativando o registro de imagens

O Minikube inclui um registro de imagem como um plugin opcional. Isso permite que você armazene suas imagens de contêiner no Minikube, disponibilizando-as para implantação em seu cluster.

Primeiro habilite o plugin de registro:

$ minikube addons enable registry

Em seguida, marque sua imagem para que ela faça referência ao registro do Minikube. O registro escuta na porta 5000 no endereço IP fornecido pelo minikube ip domínio.

$ docker tag my-image:latest $(minikube ip):5000/my-image:latest

Antes de poder enviar, o Docker deve ser configurado para aceitar a URL como um registro inseguro. Adicione-o ao insecure-registries campo dentro do seu /etc/docker/daemon.json arquivo para o Docker para permitir o acesso HTTP.

{
    "insecure-registries": ["192.168.49.2:5000"]
}

Substitua o endereço IP pelo que mostra o seu minikube ip domínio. Reinicie o Docker com o systemctl restart docker domínio.

Agora você pode inserir sua imagem no registro do Minikube:

$ docker push $(minikube ip):5000/my-image:latest

Uma etapa final é necessária antes que os pods em seu cluster possam consumir essa imagem. O tempo de execução do contêiner Minikube também deve ser configurado para permitir acesso inseguro ao registro. Você pode habilitar isso incluindo o --insecure-registry marca quando você corre minikube start. O endereço IP deve se referir ao IP do cluster padrão da sua instalação do Minikube. Você pode obter isso executando kubectl get services e olhando para CLUSTER-IP Para o kubernetes Serviço. Em seguida, pare o Minikube e reinicie-o com o sinalizador extra.

$ kubectl get service
NAME              TYPE           CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE
kubernetes        ClusterIP      10.96.0.1       <none>        443/TCP          63m

$ minikube stop
$ minikube start --insecure-registry 10.96.0.1/24

Alterar versão do Kubernetes

Por padrão, o Minikube usa a versão mais recente disponível do Kubernetes. Para mudar para uma versão específica, inclua o --kubernetes-version marque quando você iniciar seu cluster:

$ minikube start --kubernetes-version=v1.23.0

Você pode executar vários clusters ao mesmo tempo, cada um executando diferentes versões do Kubernetes, criando vários perfis diferentes. a --profile sinalizador seleciona o perfil a ser direcionado para um comando específico.

$ minikube start --profile v1.22 --kubernetes-version=v1.22.0
$ minikube start --profile v1.23 --kubernetes-version=v1.23.0
$ minikube --profile v1.22 kubectl get pods

Como usar vários nós

O Minikube suporta vários nós virtuais. Isso permite testar como seu aplicativo é dimensionado nos nós disponíveis sem implantar novo hardware físico.

Este exemplo cria um cluster com três nós:

$ minikube start --nodes 3

Você pode verificar se vários nós estão disponíveis listando-os com Kubectl:

$ kubectl get nodes
NAME           STATUS   ROLES                  AGE   VERSION
minikube       Ready    control-plane,master   71m   v1.23.3
minikube-m02   Ready    <none>                 71m   v1.23.3
minikube-m03   Ready    <none>                 71m   v1.23.3

Habilitando o acesso remoto

O Minikube não aceita tráfego de entrada por padrão. Ele é projetado para uso local e não é reforçado para atender a solicitações externas. Você ainda pode habilitar o acesso remoto a cargas de trabalho em seu cluster alterando o endereço de escuta do plano de controle. Só faça isso depois de avaliar completamente os riscos – sua rede ficará exposta ao mundo exterior.

$ minikube start --listen-address=0.0.0.0

O encaminhamento de porta é uma solução mais segura quando você precisa abrir o acesso a um serviço específico. Use Kubectl’s port-forward comando para criar uma rota de uma porta de host para um de seus serviços:

$ kubectl port-forward service/nginx 8080:80

Já pode visitar localhost:8080 para acessar o serviço NGINX criado anteriormente neste guia. A porta 8080 em seu host está vinculada à porta 80 no serviço.

Remoção do Minikube

Uma das vantagens do Minikube é a facilidade de extração. Se você decidir que o Minikube não é para você, execute o delete comando para remover tudo que você adicionou ao seu sistema:

$ minikube delete

Uma opção menos destrutiva é minikube stop que interromperá seu cluster, mas deixará todos os recursos intactos. Você pode reiniciar seu cluster usando o minikube start domínio.

conclusão

Minikube é uma distribuição independente do Kubernetes que usa contêineres ou virtualização para executar um cluster em sua máquina local. É compatível com o projeto Kubernetes upstream. O Minikube é uma implementação completa do Kubernetes que agrupa o painel do Kubernetes, suporte de rede, armazenamento persistente e tempos de execução de contêiner trocáveis.

Você pode obter mais informações sobre o Minikube na documentação oficial. Como alternativa, comece a usar os comandos familiares do Kubectl para gerenciar seu cluster e implantar novas cargas de trabalho. Agora você tem um ambiente local do Kubernetes totalmente funcional para criar e testar seus aplicativos.

[ad_2]