Cursos

[Noticias][grids]

Como executar seu próprio cluster Kubernetes com MicroK8s


 MicroK8s é uma distribuição leve do Kubernetes de pacote único desenvolvida pela Canonical, mais conhecida pelo sistema operacional Ubuntu. O MicroK8s segue as versões upstream do Kubernetes e se concentra em fornecer uma experiência de instalação e gerenciamento sem esforço. Veja como começar a executar seu próprio cluster.

Instalação

MicroK8s está disponível em Linux, Windows e macOS. Um instalador gráfico do Windows é oferecido no site do projeto. Os usuários do macOS devem usar o Brew enquanto os usuários do Linux são atendidos por snaps.

Siga as etapas separadas de instalação do Snap se você não encontrar o snapd em seu sistema. Em seguida, use o comando de instalação instantânea para adicionar MicroK8s:

 sudo snap install microk8s --classic 

Isso instala a versão mais recente do MicroK8s. Você pode selecionar uma versão específica usando o sinalizador --channel:

 sudo snap install microk8s --classic --channel = 1.19 / stable 

Isso fornecerá a você uma versão do MicroK8s baseada no Kubernetes v1.19.

Publicidade

A instalação pode demorar um pouco para ser concluída enquanto os serviços do Kubernetes são inicializados. Executando o status do microk8s --wait-ready permite que você verifique o progresso para saber quando o MicroK8s está pronto para uso.

Interagindo com seu cluster

O MicroK8s inclui sua própria versão da ferramenta de linha de comando Kubectl. Use microk8s kubectl para interagir com seu cluster, acrescentando um comando kubectl regular:

 sudo microk8s kubectl obter todos os --all-namespaces 

Este comando mostra todos os recursos em seu cluster.

Em seguida, crie um manifesto básico para implantar:

apiVersion: v1 kind: Pod metadata: name: my-pod spec: containers: - name: nginx image: nginx: últimas portas: - name: http containerPort: 80 protocol: TCP

Aplique o manifesto ao seu cluster:

 sudo microk8s kubectl apply -f ./manifest. yaml

MicroK8s criará um novo pod executando o servidor da web NGINX. Ele aparecerá quando você executar novamente o microk8s kubectl get all.

MicroK8s é compatível com todos os comandos Kubectl. Se quiser descartar o prefixo microk8s, você pode usar um “ real ” Em vez disso, binário kubectl:

 exibição de configuração sudo microk8s kubectl --raw > $ HOME / . kube / config 

Isso exporta as informações de conexão do MicroK8s para o arquivo de configuração do Kubernetes, permitindo que comandos kubectl simples cheguem ao seu cluster.

A maioria dos comandos MicroK8s requer acesso de superusuário. Para uso de longo prazo, adicione sua conta de usuário ao grupo microk8s para que você não precise usar sudo todas as vezes:

 sudo usermod -aG microk8s $ USER 

Acessando imagens do Docker

Os MicroK8s não podem acessar suas imagens locais do Docker automaticamente. Se você deseja implantar uma imagem que acabou de criar, importe-a manualmente para o registro do MicroK8s exportando-a como um arquivo tar.

 docker salvar minha imagem: mais recente > my-image. tar microk8s ctr image import my-image. tar 

Publicidade

Agora seus pods podem fazer referência à imagem com sucesso. Você pode listar todas as imagens conhecidas no registro MicroK8s com o comando microk8s ctr images ls.

Além do uso simples em sua máquina local, você deve configurar um registro de imagem Docker dedicado para armazenar suas imagens. Empurre as imagens para lá e conceda acesso de pull do MicroK8s para que ele possa recuperá-las do seu armazenamento. As etapas a seguir dependem da configuração do seu registro.

Ativando o painel Kubernetes

O painel da web do Kubernetes vem com MicroK8s, mas está desabilitado por padrão. Você pode ativá-lo habilitando seu complemento e navegando até o endereço IP do serviço de painel.

 microk8s habilitam painel 

O serviço pode demorar alguns minutos para iniciar. Execute microk8s kubectl get services --namespace kube-system e aguarde até que o serviço kubernetes-dashboard seja exibido. Anote seu CLUSTER-IP e visite seu endereço em seu navegador. O painel do Kubernetes deve aparecer, permitindo que você interaja com seus recursos usando uma interface gráfica.

Usando mais complementos

O MicroK8s vem com vários outros complementos opcionais para casos de uso comuns. O complemento dns adiciona suporte para implantação de DNS, o armazenamento fornece uma classe de armazenamento padrão com base em diretórios de host e o ingresso oferece um controlador de ingresso que permite criar recursos de roteamento de entrada.

Publicidade

O complemento de registro é um serviço especial que implanta um registro Docker pronto para usar em localhost: 32000. O uso do registro fornece um espaço de armazenamento privado para o qual você pode enviar suas imagens antes de usá-las nos pods do Kubernetes. Da mesma forma, o complemento istio inicia uma malha do Istio para fornecer funções de descoberta de serviço.

Uma descrição exaustiva desses complementos é fornecida na documentação do MicroK8s. Você pode ver todos os complementos disponíveis em sua instalação executando microk8s enable sem nenhum argumento. Apenas a funcionalidade mínima do Kubernetes está ativa por padrão, já que o MicroK8s se concentra em fornecer uma experiência simplificada.

Gerenciando seu cluster

Todas as funções de gerenciamento de cluster são fornecidas pelo comando microk8s. O status de execução do microk8s mostra uma visão geral do seu cluster, incluindo se ele está em execução e a lista de complementos ativos.

Para desligar seu cluster, execute microk8s stop. Isso interromperá todos os serviços, deixando tudo offline. Você reinicia o cluster com o comando microk8s start. Pode levar alguns minutos para que todos os seus serviços sejam executados.

Você pode ver os detalhes da conexão do cluster executando a configuração do microk8s. Isso emite um arquivo YAML compatível com Kubectl, pronto para usar com outras ferramentas.

Executar a redefinição do microk8s redefinirá o cluster ao estado inicial de pós-instalação. Esta é uma operação destrutiva demorada que destruirá todos os seus recursos. Ele facilita a experimentação, permitindo que você desmonte tudo, sem remover o encaixe do MicroK8s. Os volumes de armazenamento do Kubernetes serão retidos por padrão; você também pode excluí-los adicionando o sinalizador --destroy-storage.

Clusters de vários nós

Embora o MicroK8s tenha começado como um projeto de nó único, agora você pode adicionar nós secundários ao seu cluster. Nós adicionais fornecem redundância, bem como maior capacidade de carga de trabalho. Cada nó requer seu próprio ambiente totalmente isolado – ou uma máquina física separada, VM ou contêiner. Você não pode executar duas instâncias de trabalho MicroK8s no mesmo ambiente.

Publicidade

Primeiro, execute microk8s add-node em seu nó original. Este se tornará o mestre de controle que executa o plano de controle do Kubernetes.

 adicionar nodo microk8s 

O comando cria um registro provisório para o novo nó. Ele produzirá um comando microk8s join que unirá o nó ao plano de controle. O processo de adesão levará alguns segundos para ser concluído. O nó deve ser capaz de alcançar seu mestre através do endereço de rede exibido.

Assim que o nó for adicionado, ele estará qualificado para hospedar seus pods. Você pode ver todos os nós disponíveis executando microk8s kubectl get nodes.

Remover um nó do cluster é um exercício de reversão. Primeiro, execute microk8s leave no nó de destino. Em seguida, execute microk8s remove-node 10.108.0.1 no mestre, substituindo o endereço IP do nó removido. Isso notificará todos os outros nós da remoção. O nó de destino reverterá para uma instalação normal autônoma do MicroK8s, tornando-se seu próprio mestre.

Conclusão

MicroK8s é uma distribuição mínima do Kubernetes que é facilmente auto-hospedada em seu próprio hardware. Ele é totalmente compatível com CNFC e vem com complementos integrados para o painel oficial do Kubernetes, o roteamento do Ingress e a malha de serviço do Istio. Isso ajuda a configurar rapidamente seu próprio cluster pronto para produção, capaz de corresponder às ofertas gerenciadas do Kubernetes de provedores de nuvem pública.

Publicidade

MicroK8s suporta uma gama particularmente ampla de hardware e arquiteturas de implantação. Ele funciona em estações de trabalho de desenvolvedor, em ambientes de produção altamente disponíveis e no Raspberry Pi. Essa flexibilidade permite que você use exatamente a mesma tecnologia no desenvolvimento e na produção, até mesmo na implementação do Kubernetes.

Comparado a projetos rivais como o Minikube, o MicroK8s se destaca na execução em ambientes de recursos limitados com sobrecarga mínima. Ele se beneficia de sua própria contêiner, usando o formato de pacote snap, para que não haja VM pesada para executar. Isso deixa você com mais capacidade para hospedar suas cargas de trabalho e outras ferramentas de desenvolvedor.

Embora o MicroK8s tenha começado como um projeto centrado no desenvolvedor, visando teste e prototipagem locais, ele agora é classificado como uma distribuição Kubernetes pronta para produção com um recorde comprovado de acompanhar de perto os lançamentos upstream. Os clusters podem ser atualizados para novas versões do Kubernetes usando o comando snap refresh microk8s.